by fdmtl
MCP Playbooks for AI agents
# Add to your Claude Code skills
git clone https://github.com/fdmtl/directorDirector allows you to provide playbooks to AI Agents. A playbook is a set of MCP tools, prompts and configuration, that give agents new skills. You can connect Claude, Cursor and VSCode in 1-click, or integrate manually through a single MCP endpoint.
Playbooks are portable and can easily be switched in and out of context. Director is local-first - setup and client integration takes 30 seconds. In addition, Director provides all of the MCP management functionality that you'd expect: tool filtering, logging, strong isolation, and unified OAuth.
https://github.com/user-attachments/assets/cafc0902-a854-4ee8-ac89-b7535f10c93d
No comments yet. Be the first to share your thoughts!
# Install Director
$ curl -LsSf https://director.run/install.sh | sh
# Start the onboarding flow
$ director quickstart
A playbook is a set of tools, prompts and configuration, used to provide specific capabilities to your agent. Under the hood, playbooks are built on top of the MCP tools & prompts primitives.
The easiest way to author a playbook is via the UI (director studio). But you can also use the CLI. You can have many playbooks, typically one per task or per environment. You can connect to them via a single CLI command or directly over a URL.
At a high level, Director is a service that sits between your agents and MCP servers. It's transparent to clients, requiring no additional tokens. It models playbooks, which can be thought of as standalone, portable skills that enhance your AI agent with new capabilities.
# Install the director CLI + dependencies (node, npm & uvx) via the 1-liner:
$ curl -LsSf https://director.run/install.sh | sh
# Alternatively, install through npm:
$ npm install -g @director.run/cli
# Start director & open the UI
$ director quickstart
The simplest way to interact with director is via the admin interface:
# Open studio in your browser
$ director studio
Playbooks for your AI agent
USAGE
director <command> [subcommand] [flags]
CORE COMMANDS
quickstart Start the gateway and open the studio in your browser
serve Start the web service
studio Open the UI in your browser
ls List playbooks
get <playbookId> [serverName] Show playbook details
auth <playbookId> <server> Authenticate a server
create <name> Create a new playbook
destroy <playbookId> Delete a playbook
connect <playbookId> [options] Connect a playbook to a MCP client
disconnect <playbookId> [options] Disconnect a playbook from an MCP client
add <playbookId> [options] Add a server to a playbook.
remove <playbookId> <serverName> Remove a server from a playbook
update <playbookId> [serverName] [options] Update playbook attributes
http2stdio <url> Proxy an HTTP connection (sse or streamable) to a stdio stream
env [options] Print environment variables
status Get the status of the director
REGISTRY
registry ls List all available servers in the registry
registry get <entryName> Get detailed information about a registry item
registry readme <entryName> Print the readme for a registry item
MCP
mcp list-tools <playbookId> List tools on a playbook
mcp get-tool <playbookId> <toolName> Get the details of a tool
mcp call-tool <playbookId> <toolName> [options] Call a tool on a playbook
PROMPTS
prompts ls <playbookId> List all prompts for a playbook
prompts add <playbookId> Add a new prompt to a playbook
prompts edit <playbookId> <promptName> Edit an existing prompt
prompts remove <playbookId> <promptName> Remove a prompt from a playbook
prompts get <playbookId> <promptName> Show the details of a specific prompt
FLAGS
-V, --version output the version number
EXAMPLES
$ director create my-playbook # Create a new playbook
$ director add my-playbook --entry fetch # Add a server to a playbook
$ director connect my-playbook --target claude # Connect my-playbook to claude
Programmatic control for advanced use cases:
import { Gateway, GatewayConfig } from "@director.run/sdk";
// Start the gateway
const gateway = await Gateway.start({
config: await GatewayConfig.createMemoryBasedConfig({
defaults: {
server: {
port: 3673,
},
},
}),
baseUrl: "http://localhost:3673",
});
// Add a new playbook
await gateway.playbookStore.create({
name: "test",
servers: [
{
name: "notion",
type: "http",
url: "https://mcp.notion.com/mcp",
},
],
});
apps/gateway - Core gateway and playbook logicapps/cli - The command-line interface, the primary way to interact with Director. Available on npm.apps/sdk - The Typescript SDK, available on npm.apps/docker - The Director docker image, which allows you to run Director (and all MCP servers) securely inside a container. Available on Docker Hub.apps/docs - Project documentation hosted at https://docs.director.runapps/registry - Backend for the registry hosted at https://registry.director.runapps/studio - Director frontend applicationpackages/client-configurator - Library for managing MCP client configuration filespackages/mcp - Extensions to MCP SDK that add middleware functionalitypackages/utilities - Shared utilities used across all packages and appspackages/design - Design system: reusable UI components, hooks, and styles for all Director appsThis is a monorepo managed by Turborepo.
If you're using director, have any ideas, or just want to chat about MCP, we'd love to chat:
We welcome contributions! See CONTRIBUTING.mdx for guidelines.
# Fork and clone
git clone https://github.com/director_run/director
cd director
./scripts/setup-development.sh
bun run test
AGPL v3 - See LICENSE for details.