Go中的PydanticAI MCP服务器
该项目是一个用Go编写的轻量级MCP(模型上下文协议)服务器,专为远程管理PydanticAI代理而设计。它允许通过标准化的MCP协议启动、停止、获取状态和更新PydanticAI代理的配置。
概述
服务器提供了一组工具,可以与PydanticAI代理进行交互,管理它们的生命周期和配置。代理配置存储在文本文件(JSON)中,由MCP命令更新。
MCP服务器工具
MCP服务器提供以下工具来管理PydanticAI代理:
run_agent
- 说明: 使用指定的ID启动PydanticAI代理。 - 输入参数: agent_id (string,必填)-要启动的代理的唯一标识符。
stop_agent
- 说明: 通过ID停止正在运行的PydanticAI代理。 - 输入参数: agent_id (字符串,必填)-要停止的代理的唯一标识符。
update_agent_config
- 说明: 更新PydanticAI代理的配置文件。 - 输入参数: agent_id (string,必填)-需要更新其配置的代理的唯一标识符; config_data (string,必填)-JSON格式的配置数据(string)。
get_agent_status
- 说明: 通过ID返回正在运行的PydanticAI代理的当前状态。 - 输入参数: agent_id (字符串,必填)-要检索其状态的代理的唯一标识符。
list_agents
- 说明: 返回所有已注册代理及其状态的列表。 - 输入参数: 没有。
连接到MCP客户端(例如,Cline for VS Code)
要将我们的MCP服务器连接到像VS Code中的Cline这样的客户端,您需要将相应的配置添加到您的 cline_mcp_settings.json 文件(通常位于 C:/Users/vm-user/AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json).
由于我们的服务器使用Stdio传输(标准输入/输出),配置如下:
"pydentycai-mcp-server": {
"autoApprove": [
"run_agent",
"stop_agent",
"get_agent_status",
"update_agent_config",
"list_agents"
],
"timeout": 60,
"type": "stdio",
"command": "./pydentycai-mcp-server.exe",
"args": []
}配置说明:
"pydentycai-mcp-server":一个唯一的名称,用于在Cline中标识我们的服务器。"autoApprove":Cline将自动批准其调用的工具列表。建议在此处包含所有工具,以避免不断的确认提示。"timeout":等待服务器响应的最长时间(秒)。"type": "stdio":表示服务器使用标准输入/输出进行通信。"command": "./pydentycai-mcp-server.exe":Go服务器可执行文件的路径。假设该文件位于项目的根目录中。"args": []:启动服务器的其他命令行参数(本例中没有)。
将此配置添加到后 cline_mcp_settings.json 重新启动VS Code(或在Cline中执行相关操作以刷新服务器),您将能够直接从Cline调用我们服务器的工具。
运行服务器
您可以在项目的根目录中使用以下命令运行服务器:
./pydentycai-mcp-server.exe开发和测试
对于开发和测试,您可以使用标准的Go命令:
go mod tidy:用于管理依赖关系。go build -o pydentycai-mcp-server.exe:用于构建可执行文件。
