本项目是GitHub仓库 'agentic_repo' 中包含的一个MCP服务器实现,位于 'langgraph+pydanticAi/02-Archon(v3)' 目录下。它提供了一组工具,使支持Model Context Protocol的LLM客户端能够与后端的Archon智能体构建逻辑进行交互。
项目简介
Archon是一个基于Langgraph和Pydantic AI框架构建的智能体构建智能体。它可以理解用户的自然语言描述,自动生成并完善AI智能体的代码。本项目中的MCP服务器部分是为Archon提供标准化外部接口,允许其他LLM客户端(如IDE、聊天界面等)通过MCP协议与之通信并调用其功能。
主要功能点
- 提供MCP接口: 实现Model Context Protocol,通过JSON-RPC处理来自LLM客户端的请求。
- 注册和执行工具: 暴露 'create_thread' 和 'run_agent' 等功能作为可由LLM调用的工具。
- 智能体构建: 通过工具调用触发后端的Archon智能体工作流,执行智能体需求分析、代码生成、文档检索等任务。
- 会话管理: 支持创建和管理独立的对话线程,保持智能体构建过程的上下文。
安装步骤
- 克隆仓库: 首先,需要将整个'agentic_repo'仓库克隆到本地。
git clone https://github.com/debsouryadatta/agentic_repo.git cd agentic_repo/langgraph+pydanticAi/02-Archon(v3) - 设置环境变量: 在 'langgraph+pydanticAi/02-Archon(v3)' 目录下创建 '.env' 文件,并配置所需的LLM API密钥、Supabase连接信息等。具体需要哪些变量请参考项目代码中的 'os.getenv' 调用,例如 'GROQ_API_KEY', 'OPENAI_API_KEY', 'BASE_URL', 'LLM_API_KEY', 'SUPABASE_URL', 'SUPABASE_SERVICE_KEY' 等。
- 运行设置脚本: 执行 'setup_mcp.py' 脚本。该脚本会自动创建Python虚拟环境、安装依赖,并生成MCP客户端所需的配置文件 'mcp-config.json'。
python setup_mcp.py - 启动 FastAPI 服务: Archon智能体逻辑运行在一个单独的FastAPI服务中。在 'langgraph+pydanticAi/02-Archon(v3)' 目录下,需要启动 'graph_service.py'。
这个服务需要持续运行,MCP服务器才能调用它。# 确保您在虚拟环境激活状态下 uvicorn graph_service:app --reload --port 8100 - 启动 MCP 服务器: 在 'langgraph+pydanticAi/02-Archon(v3)' 目录下,运行 'mcp_server.py' 脚本来启动MCP服务器。默认使用stdio传输协议。
# 确保您在虚拟环境激活状态下 python mcp_server.py
服务器配置 (供MCP客户端使用)
MCP客户端(如Cursor、Windsurf等)需要通过配置信息来连接并启动MCP服务器。以下是根据 'setup_mcp.py' 生成的信息,您需要根据您的本地路径修改 'command' 和 'args' 中的具体文件路径。
{ "mcpServers": { "archon": { "command": "/path/to/your/agentic_repo/langgraph+pydanticAi/02-Archon(v3)/venv/Scripts/python.exe", "args": [ "/path/to/your/agentic_repo/langgraph+pydanticAi/02-Archon(v3)/mcp_server.py" ] } } }
- '"archon"': MCP服务器的名称,客户端将使用此名称引用该服务器。
- '"command"': 启动服务器的可执行文件的绝对路径。通常是项目虚拟环境内的Python解释器。
- '"args"': 传递给 'command' 的参数列表。第一个参数是服务器主脚本 'mcp_server.py' 的绝对路径。
基本使用方法
- 确保上述安装步骤中的FastAPI服务和MCP服务器都已成功启动并运行。
- 在支持Model Context Protocol的LLM客户端中,使用上面提供的配置信息连接到Archon MCP服务器。
- 通过客户端向Archon MCP服务器发送JSON-RPC请求,调用暴露的工具:
- 首先,调用 'create_thread' 工具获取一个新的会话ID。
- 然后,使用获取的会话ID调用 'run_agent' 工具,并传入用户想要构建的智能体的描述或其他指令作为 'user_input' 参数。
- 客户端会接收到Archon智能体返回的响应,通常包含分析结果、代码、说明等。后续交互继续调用 'run_agent' 并传入新的用户输入和相同的会话ID。
信息
分类
AI与计算