MCP (Claude Desktop)
Direktor exposes a Model Context Protocol server that lets you drive any node in your workspace directly from Claude Desktop (or any MCP-compatible client). Instead of opening direktor.tech to chat with a node, you can say:
“Upload this document to x.com for me” “Download all my statements from WF” “Ask my CMO to draft a launch post for our Q2 release”
…and the request routes through the MCP server, into the correct node’s agent container, through the same skill-lookup pipeline the web chat uses, and streams results back into your Claude Desktop session.
Thin adapter — the agent does all the work
The direktor-mcp is intentionally small. The MCP process itself is a ~150-line transport adapter; every ounce of intelligence — skill lookup, instruction following, model fallback, artifact production — lives in the existing agent container and org_chat_service. When you call do("...") from Claude Desktop, the MCP:
- Validates your per-node bearer token.
- Resolves you to
(user_id, workspace_id, role_id). - POSTs the message to
/api/org/chat/message(the same endpoint the direktor.tech chat panel uses). - Streams the agent’s response back to Claude Desktop in real time.
That’s it. No separate skill registry, no per-role tool variants in the MCP, no workflow engine. The agent already knows how to do the work; the MCP just gets the request to the right agent.
What you get
Four tools per connected node:
| Tool | Purpose |
|---|---|
do(message, attachments=[]) | Main entry. Natural-language request → agent’s skill pipeline → streamed response. |
list_skills() | Returns the skill catalog for this node’s workspace, so Claude Desktop can suggest what’s available. |
get_activity(limit=20) | Recent timeline events for this node. Answers “what did my CMO do today?” |
list_peers() | Other nodes in the workspace. Enables “ask my CTO to review this”. |
Each node you connect gets its own MCP endpoint and its own bearer token, so Claude Desktop sees “Acme CMO” and “Acme CTO” as distinct MCP servers with distinct tool scopes.
Security model
- Per-node bearer tokens — tokens (
of_dkmcp_*) are minted from the direktor.tech UI when you click Connect on a specific node’s card. Tokens are shown once and SHA-256 hashed server-side; you can’t recover a lost token — you revoke and re-mint. - Scope isolation — a token for
workspace_A.CMOcannot invoke skills onworkspace_A.CTOor any other workspace. Every tool call is re-authorized on every invocation. - Revocation is immediate — click Disconnect on the same node card and any currently-connected Claude Desktop client starts receiving 401s within seconds.
Start here
- Claude Desktop Setup — generate a token and install the MCP server in
~/.claude.json. - Tools Reference — schema + examples for all four tools.
- Example Flows — four realistic end-to-end user stories.