代理通信服务器

c2c是一个基于FastMCP的服务,允许Claude Code代理自主生成和管理子代理,适用于并行任务处理和自主组织代理层级结构。

  • by lucharo
  • Python
  • 本地部署
  • 更新于

使用说明

c2c-克劳德代码到克劳德代码MCP服务器

存档。 该项目是对代理间通信的早期探索(2025年10月/11月)——代理根据需要生成子代理,自主形成层次结构,而人类可以利用对话树的任何级别。这种想法早于后来出现的类似模式 克劳德的经纪人团队, OpenAI Codex的多代理支持,以及 谷歌的A2A协议自那时起,c2c的理念和经验已被整合到 主线程.


自组织代理、并行代理任务、递归代理——所有这些都由 c2c 主控程序

这是怎么一回事?

c2c 是一个 FastMCP 该服务器封装了Anthropic的[Claude Agent SDK],为Claude Code提供了生成代理的能力,尽管实际上也适用于任何其他代理。利用这些模型编写计划、系统提示等的能力,很容易看出单个Agent是如何配备的 c2c 可以有许多应用:

  • 令人尴尬的并行任务:如果Claude Code建议对给定问题尝试3个选项,为什么不探索其中的3个呢?并行?异步?
  • 正交任务:假设你(或代理)正在处理计划周密、彼此不重叠的任务。不需要在不同的环境中生成多个claude代码会话 tmux 会话或终端选项卡。让您的主代理为您生成这些会话,与子代理迭代,并在工作准备就绪后向您报告。
  • 自组织代理:你可以从一个任务开始,让代理自由发挥,让他们按照自己的意愿进行自组织。一个入口点代理可以产生两个代理,例如后端和前端工程师,也可能是协调它们的技术主管。也许每个后端和前端工程师都有很多任务,需要更多的帮助,他们也可以根据需要生成更多的代理,让他们自己决定!

安装

git clone https://github.com/lucharo/c2c
cd c2c
claude mcp add c2c -- uv run c2c

概念

对话是指代理之间的整个消息交换,包括完整的对话历史。对话可以创建、发送消息和结束。

工具

c2c 公开了4个核心工具:

  • create_conversation(task_name, task_description):创建新对话并返回 conversation_id
  • send_message_and_receive_response(conversation_id, message):向对话发送消息并返回代理的响应
  • end_conversation(conversation_id):结束对话并清理资源
  • list_conversations():列出所有活动对话及其状态和消息计数

身份验证和环境变量

无论你从Claude Code会话中生成什么代理,你都会使用为父级设置的身份验证方法。

Claude Code在启动时似乎设置了一些环境变量,其中包括:

CLAUDECODE=1
CLAUDE_CODE_ENTRYPOINT=cli

claude-agent-sdk 如果满足以下条件,可以选择这些并使用Claude Code身份验证模式(例如通过订阅登录) ANTHROPIC_API_KEY 不见了。

此外,如果在中定义了任何环境变量 ~/.claude/settings.json 例如:

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "<<ZAI_API_KEY>>",
    "ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
    "API_TIMEOUT_MS": "3000000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6"
  },
  "alwaysThinkingEnabled": true
}

对于z.ai身份验证,它们也将被提取。

发展

c2c_dev.py 是一个完全可视化的版本,使用 c2c.conversation_storage.py (也是vibecoded)似乎可以完成这项工作,因为它可以在不阻塞主代理的情况下生成多个子代理(所有子代理都使用主claude代码)。

您可以安装 c2c-dev 通过运行mcp:

claude mcp add c2c -- uv run c2c_dev.py

要求/目标

  • []Claude Code可以通过以下方式生成其他Claude Code子代理 claude-agent-sdk+MCP
  • []代理父子对话使用与主claude代码相同的日志系统,即。 ~/.claude/projects/...
  • []跟踪子代理的谱系(parent_id、depth…)
  • []子代理可以产生子代理
  • []用于可视化代理图形的UI
  • []如果可以的话,用户界面可以跳转到任何对话中 claude --resume session_id 更好
  • []代理创建或对话中的权限处理
  • []代理创建或对话过程中的模型规范处理