MCP代理示例
此项目提供了一个代理和本地MCP服务器的简单示例。
MCP服务器提供了一系列用于获取系统CPU和内存统计信息的工具。 它建立在 psutil 图书馆。工具已实施 作为FastAPI节点,然后通过MCP使用 fastapi-mcp.
Agent是简单Gradio聊天应用程序的一部分。代理使用Pydantic.ai 代理框架代理由MCP服务器提供 URL和系统提示,指示它应该回答系统资源使用情况。Gradio 聊天组件维护对话历史记录,以便您可以提出后续问题。
设置
先决条件
首先,确保您的机器上安装了以下工具:
使用MCP服务器。仅当您想测试/调试MCP服务器时才需要此程序 聊天应用程序。这对于调试您的工具并确保 MCP服务器正在发布预期的元数据。请注意,该程序的名称为 mcpt 如果你在Mac上通过Homebrew安装 mcptools 否则。
- 这些示例使用OpenAI模型作为代理,因此您需要一个actve帐户和密钥
从 这里。或者,您可以使用 Pydantic.ai支持的其他模型。在这种情况下,您必须设置模型和密钥 适当。
设置步骤
安装了必备组件后,请执行以下步骤:
- 将envrc.template复制到.envrc,然后将OPENAI_API_KEY的值编辑为Open AI令牌。
- 跑
direnv allow将更改后的环境变量放入您的环境中。 - 跑
uv sync创建/更新您的虚拟环境。 - 您可以使用以下命令启动MCP服务器
uv run psutil_mcp.py默认情况下,它将在端口8000上运行。
测试
如果您已安装mcptools,则可以连接到MCP服务器并按如下方式进行测试:
$ mcptools shell http://localhost:8000/mcp # use the command "mcpt" if you installed via Homebrew
mcp> tools
cpu_times
Get Cpu Times Return system CPU time as a total across all cpus. Every attribute represents the
...
mcp> call cpu_times
{
"user": 119528.44,
"nice": 0.0,
"system": 67114.2,
"idle": 2692773.55
}
mcp> exit跑步
要运行完整的应用程序,请执行以下操作:
- 如果您还没有启动MCP服务器,可以按以下方式运行它
uv run psutil_mcp.py - 在另一个终端窗口中,使用以下命令启动聊天服务器
uv run chat.py - 将浏览器指向http://127.0.0.1:7860
额外内容
psutil_mcp.py和chat.py程序有一些命令行选项来启用调试,更改 模型、更改端口等。用 --help 选项以查看可用选项。
VSCode有一个配置,可以在以下位置使用MCP服务器 .vscode/mcp.json
