系统资源监控工具

一个基于FastAPI和MCP的Agent工具,用于监控和报告系统CPU和内存使用情况,支持通过Gradio聊天界面进行交互。

  • by BenedatLLC
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 BenedatLLC/agent-with-mcp-example

使用说明

MCP代理示例

此项目提供了一个代理和本地MCP服务器的简单示例。

MCP服务器提供了一系列用于获取系统CPU和内存统计信息的工具。 它建立在 psutil 图书馆。工具已实施 作为FastAPI节点,然后通过MCP使用 fastapi-mcp.

Agent是简单Gradio聊天应用程序的一部分。代理使用Pydantic.ai 代理框架代理由MCP服务器提供 URL和系统提示,指示它应该回答系统资源使用情况。Gradio 聊天组件维护对话历史记录,以便您可以提出后续问题。

设置

先决条件

首先,确保您的机器上安装了以下工具:

  1. 紫外线,Python的包和环境管理器
  2. 直的,用于管理项目中环境变量的工具
  3. mcptools (可选),用于交互的命令行实用程序 使用MCP服务器。仅当您想测试/调试MCP服务器时才需要此程序 聊天应用程序。这对于调试您的工具并确保 MCP服务器正在发布预期的元数据。请注意,该程序的名称为 mcpt 如果你在Mac上通过Homebrew安装 mcptools 否则。
  4. 这些示例使用OpenAI模型作为代理,因此您需要一个actve帐户和密钥 从 这里。或者,您可以使用 Pydantic.ai支持的其他模型。在这种情况下,您必须设置模型和密钥 适当。

设置步骤

安装了必备组件后,请执行以下步骤:

  1. 将envrc.template复制到.envrc,然后将OPENAI_API_KEY的值编辑为Open AI令牌。
  2. 跑 direnv allow 将更改后的环境变量放入您的环境中。
  3. 跑 uv sync 创建/更新您的虚拟环境。
  4. 您可以使用以下命令启动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

跑步

要运行完整的应用程序,请执行以下操作:

  1. 如果您还没有启动MCP服务器,可以按以下方式运行它 uv run psutil_mcp.py
  2. 在另一个终端窗口中,使用以下命令启动聊天服务器 uv run chat.py
  3. 将浏览器指向http://127.0.0.1:7860

额外内容

psutil_mcp.py和chat.py程序有一些命令行选项来启用调试,更改 模型、更改端口等。用 --help 选项以查看可用选项。

VSCode有一个配置,可以在以下位置使用MCP服务器 .vscode/mcp.json