Skip to main content
Director doesn’t use a database, everything is stored in a director.config.yaml file. The easiest way to manage this file is via the Studio UI or the CLI. But you can of course edit it manually. Note: If you’d like to manually edit the configuration files, you’ll need to make sure you restart the service for the changes to take effect.

Search Paths

Director will search for the configuration file in the following paths (in order):
  • ./director.config.yaml
  • ~/.director/director.config.yaml

Configuration File Reference

Example

Your configuration file is a YAML file that defines playbooks and client connections. Here’s a example of how to structure it:

Server Configuration

By default, Director will start a server on port 3673. You can change this by setting the port option in the server section.

Client Connections

The clients section defines which playbooks are available to which MCP clients. This mapping is enforced on startup:
Supported client identifiers:
  • claude-code - Claude Code (command-line tool)
  • claude - Claude Desktop app
  • cursor - Cursor IDE
  • vscode - Visual Studio Code

Playbooks

Each playbook supports the following fields:
  • id (required): A unique identifier for the playbook
  • name (required): The name of the playbook
  • description (optional): The description of the playbook
  • servers (optional): The MCP servers to include in the playbook
  • prompts (optional): The prompts to include in the playbook

Prompts

Prompts are used to invoke the playbook from a MCP client. Each prompt supports the following fields:
  • name (required): The name of the prompt
  • title (optional): The title of the prompt
  • description (optional): The description of the prompt
  • body (optional): The body of the prompt

MCP Servers

MCP servers are used to provide the tools and prompts to the playbook. Each server supports the following fields:
  • name (required): The name of the server
  • type (required): The type of the server (either stdio or http).
  • url (optional): The URL of the server (only for http servers)
  • headers (optional): The headers to pass to the server (only for http servers)
  • command (optional): The command to execute for stdio-based servers
  • args (optional): The command-line arguments for stdio-based servers
  • env (optional): The environment variables to pass to the server
  • disabled (optional): Whether the server is disabled (default: false)
  • tools (optional): The tools to include in the server
  • prompts (optional): The prompts to include in the server

Tools

The tools.include option allows you to select only specific tools from an MCP server, which helps preserve context by limiting the available tool set:
This is particularly useful when:
  • You want to limit capabilities for security reasons (e.g., read-only access)
  • You need to preserve context by only exposing relevant tools for a specific task
  • You want to prevent accidental use of destructive operations

Prompts

The prompts.include option allows you to select only specific prompts from an MCP server, which helps preserve context by limiting the available prompt set: