Connect MCP
Tandem ships a Model Context Protocol server. Drop one config block into Cursor, Claude Code, Windsurf, OpenAI Codex CLI, VS Code Copilot, or OpenClaw — your agent gets read/write access to your task pipeline, project switcher, and activity log without leaving the chat. No API keys. No round-trips through a browser.
- 6 compatible clients
- 6 MCP tools exposed
- 0 external dependencies
- Stdio transport · localhost
Compatible clients
Every editor and CLI below speaks MCP natively. Tandem’s server is just another entry in their server list — no plugin, no extension, no marketplace install.
| Client | Config file | Notes |
|---|---|---|
| Cursor | .cursor/mcp.json | Per-project MCP servers. Restart the chat panel after editing. |
| Claude Code | ~/.claude.json | Anthropic’s official CLI. Project-level .mcp.json also supported. |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | Codeium’s agentic IDE. Same JSON schema as Cursor. |
| Codex CLI | ~/.codex/config.toml | OpenAI’s terminal coding agent. TOML config — not JSON. |
| VS Code | .vscode/mcp.json | GitHub Copilot’s agent mode. Workspace-scoped servers. |
| OpenClaw | ~/.openclaw/mcp.json | Open-source Claude Code fork. Drop-in compatible config. |
Setup — pick your editor
Pick a tab, copy the block, paste it into the listed file. That’s the whole setup. Restart your editor’s chat panel and ask “list my tasks” to verify.
Edit .cursor/mcp.json in your project root (create if missing).
{ "mcpServers": { "tandem": { "command": "python3", "args": ["/home/user/Desktop/claude-brain/project-workspace/Tandem/app/mcp/__main__.py"] } }}Cursor reloads MCP servers when the chat panel reopens. If you don’t see
tandem in the tools list, check View → Output → Cursor MCP for stderr.
Edit ~/.claude.json (user-level) or .mcp.json (project-level).
{ "mcpServers": { "tandem": { "command": "python3", "args": ["/home/user/Desktop/claude-brain/project-workspace/Tandem/app/mcp/__main__.py"] } }}Project-level .mcp.json takes precedence and travels with the repo —
preferred for team setups. Run claude mcp list to confirm registration.
Edit ~/.codeium/windsurf/mcp_config.json.
{ "mcpServers": { "tandem": { "command": "python3", "args": ["/home/user/Desktop/claude-brain/project-workspace/Tandem/app/mcp/__main__.py"] } }}Refresh from Cascade → MCP servers → Refresh. Windsurf surfaces tool errors
in the Cascade panel directly.
Edit ~/.codex/config.toml — TOML, not JSON.
[mcp_servers.tandem]command = "python3"args = ["/home/user/Desktop/claude-brain/project-workspace/Tandem/app/mcp/__main__.py"]Codex CLI uses TOML for its config. The section header is
[mcp_servers.<name>] — one per server. Run codex --help for transport
flags.
Edit .vscode/mcp.json in your workspace.
{ "mcpServers": { "tandem": { "command": "python3", "args": ["/home/user/Desktop/claude-brain/project-workspace/Tandem/app/mcp/__main__.py"] } }}Requires the GitHub Copilot extension with agent mode enabled. After saving,
open the Copilot Chat view and toggle Agent — tools will appear in the tool
picker.
What this unlocks
Six tools, one purpose: keep your agent in the loop on what you’re working on without context-switching to the dashboard.
| Tool | What it does |
|---|---|
tandem_list_tasks | Ask your agent: what am I working on? |
tandem_get_task | Full task context on demand. |
tandem_create_task | Capture a new task without leaving the editor. |
tandem_update_task | Move tasks through the pipeline from chat. |
tandem_list_projects | Switch project context instantly. |
tandem_append_activity | Write session notes to the task log. |
Alongside the MCP ecosystem
Every MCP-aware client supports multiple servers running in parallel. Tandem is one entry next to GitHub, Linear, Notion, and anything else you already use — they don’t conflict, they compose.
Combined config example — Tandem alongside GitHub, Linear, and Notion in a
single Cursor/Claude Code/Windsurf mcp.json:
{ "mcpServers": { "tandem": { "command": "python3", "args": ["/home/user/Desktop/claude-brain/project-workspace/Tandem/app/mcp/__main__.py"] }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." } }, "linear": { "command": "npx", "args": ["-y", "@linear/mcp-server"], "env": { "LINEAR_API_KEY": "lin_api_..." } }, "notion": { "command": "npx", "args": ["-y", "@notionhq/mcp-server"], "env": { "NOTION_API_KEY": "secret_..." } } }}