{"id":44273450,"url":"https://github.com/cs50victor/claude-code-teams-mcp","last_synced_at":"2026-03-01T14:30:31.482Z","repository":{"id":336940737,"uuid":"1151642412","full_name":"cs50victor/claude-code-teams-mcp","owner":"cs50victor","description":"use claude code's agent teams orchestraction with any harness","archived":false,"fork":false,"pushed_at":"2026-02-21T13:21:31.000Z","size":6644,"stargazers_count":177,"open_issues_count":5,"forks_count":27,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-02-21T19:55:56.794Z","etag":null,"topics":["agents","claude-code","opencode"],"latest_commit_sha":null,"homepage":"https://code.claude.com/docs/en/agent-teams","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cs50victor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-06T18:08:01.000Z","updated_at":"2026-02-21T13:21:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cs50victor/claude-code-teams-mcp","commit_stats":null,"previous_names":["cs50victor/claude-code-teams-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cs50victor/claude-code-teams-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cs50victor%2Fclaude-code-teams-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cs50victor%2Fclaude-code-teams-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cs50victor%2Fclaude-code-teams-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cs50victor%2Fclaude-code-teams-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cs50victor","download_url":"https://codeload.github.com/cs50victor/claude-code-teams-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cs50victor%2Fclaude-code-teams-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29970962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T14:11:48.712Z","status":"ssl_error","status_checked_at":"2026-03-01T14:11:48.352Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","claude-code","opencode"],"created_at":"2026-02-10T20:00:32.572Z","updated_at":"2026-03-01T14:30:31.473Z","avatar_url":"https://github.com/cs50victor.png","language":"Python","funding_links":[],"categories":["MCP Servers \u0026 Integrations"],"sub_categories":["Other IDEs"],"readme":"\u003cdiv align=\"center\"\u003e\n\n# claude-teams\n\nMCP server that implements Claude Code's [agent teams](https://code.claude.com/docs/en/agent-teams) protocol for any MCP client.\n\n\u003c/div\u003e\n\n\n\nhttps://github.com/user-attachments/assets/531ada0a-6c36-45cd-8144-a092bb9f9a19\n\n\n\nClaude Code has a built-in agent teams feature (shared task lists, inter-agent messaging, tmux-based spawning), but the protocol is internal and tightly coupled to its own tooling. This MCP server reimplements that protocol as a standalone [MCP](https://modelcontextprotocol.io/) server, making it available to any MCP client: [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [OpenCode](https://opencode.ai), or anything else that speaks MCP. Based on a [deep dive into Claude Code's internals](https://gist.github.com/cs50victor/0a7081e6824c135b4bdc28b566e1c719). PRs welcome.\n\n## Install\n\n\u003e **Pin to a release tag** (e.g. `@v0.1.1`), not `main`. There are breaking changes between releases.\n\nClaude Code (`.mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"claude-teams\": {\n      \"command\": \"uvx\",\n      \"args\": [\"--from\", \"git+https://github.com/cs50victor/claude-code-teams-mcp@v0.1.1\", \"claude-teams\"]\n    }\n  }\n}\n```\n\nOpenCode (`~/.config/opencode/opencode.json`):\n\n```json\n{\n  \"mcp\": {\n    \"claude-teams\": {\n      \"type\": \"local\",\n      \"command\": [\"uvx\", \"--from\", \"git+https://github.com/cs50victor/claude-code-teams-mcp@v0.1.1\", \"claude-teams\"],\n      \"enabled\": true\n    }\n  }\n}\n```\n\n## Requirements\n\n- Python 3.12+\n- [tmux](https://github.com/tmux/tmux)\n- At least one coding agent on PATH: [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (`claude`) or [OpenCode](https://opencode.ai) (`opencode`)\n- OpenCode teammates require `OPENCODE_SERVER_URL` and the `claude-teams` MCP connected in that instance\n\n## Configuration\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `CLAUDE_TEAMS_BACKENDS` | Comma-separated enabled backends (`claude`, `opencode`) | Auto-detect from connecting client |\n| `OPENCODE_SERVER_URL` | OpenCode HTTP API URL (required for opencode teammates) | *(unset)* |\n| `USE_TMUX_WINDOWS` | Spawn teammates in tmux windows instead of panes | *(unset)* |\n\nWithout `CLAUDE_TEAMS_BACKENDS`, the server auto-detects the connecting client and enables only its backend. Set it explicitly to enable multiple backends:\n\n```json\n{\n  \"mcpServers\": {\n    \"claude-teams\": {\n      \"command\": \"uvx\",\n      \"args\": [\"--from\", \"git+https://github.com/cs50victor/claude-code-teams-mcp@v0.1.1\", \"claude-teams\"],\n      \"env\": {\n        \"CLAUDE_TEAMS_BACKENDS\": \"claude,opencode\",\n        \"OPENCODE_SERVER_URL\": \"http://localhost:4096\"\n      }\n    }\n  }\n}\n```\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `team_create` | Create a new agent team (one per session) |\n| `team_delete` | Delete team and all data (fails if teammates active) |\n| `spawn_teammate` | Spawn a teammate in tmux |\n| `send_message` | Send DMs, broadcasts (lead only), shutdown/plan responses |\n| `read_inbox` | Read messages from an agent's inbox |\n| `read_config` | Read team config and member list |\n| `task_create` | Create a task (auto-incrementing ID) |\n| `task_update` | Update task status, owner, dependencies, or metadata |\n| `task_list` | List all tasks |\n| `task_get` | Get full task details |\n| `force_kill_teammate` | Kill a teammate's tmux pane/window and clean up |\n| `process_shutdown_approved` | Remove teammate after graceful shutdown |\n\n## Architecture\n\n- **Spawning**: Teammates launch in tmux panes (default) or windows (`USE_TMUX_WINDOWS`). Each gets a unique agent ID and color.\n- **Messaging**: JSON inboxes at `~/.claude/teams/\u003cteam\u003e/inboxes/`. Lead messages anyone; teammates message only lead.\n- **Tasks**: JSON files at `~/.claude/tasks/\u003cteam\u003e/`. Status tracking, ownership, and dependency management.\n- **Concurrency**: Atomic writes via `tempfile` + `os.replace`. Cross-platform file locks via `filelock`.\n\n```\n~/.claude/\n├── teams/\u003cteam\u003e/\n│   ├── config.json\n│   └── inboxes/\n│       ├── team-lead.json\n│       ├── worker-1.json\n│       └── .lock\n└── tasks/\u003cteam\u003e/\n    ├── 1.json\n    ├── 2.json\n    └── .lock\n```\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcs50victor%2Fclaude-code-teams-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcs50victor%2Fclaude-code-teams-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcs50victor%2Fclaude-code-teams-mcp/lists"}