MCP测试服务器

一个简单的MCP服务器示例,用于测试MCP客户端,支持天气查询、笔记管理和与OpenAI代理的交互。

  • by marlinspike
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 marlinspike/simple-mcp-server

使用说明

MCP单工服务器

一个可用于测试MCP客户端的MCP服务器的简单示例。

用法

  1. 克隆存储库: git clone

  2. 导航到项目目录: cd simpleserver

  3. 安装所需的依赖项: uv sync 如果你有 uv 已安装,或 pip install -r requirements.txt 如果你正在使用pip。我强烈建议使用 uv 因为它更快、更高效,而且下面的命令需要它。

  4. 在项目的根目录下创建一个.env文件,并添加以下键(请参阅.env.example.):

WEATHER_API_KEY=xxx
OPENAI_API_KEY=sk-
NOTES_FILE="/tmp/notes.md"

您可以从获得免费的OpenWeatherMap API密钥https://openweathermap.org/api和来自的OpenAI API密钥https://platform.openai.com/signup.

测试天气MCP服务器(main.py)

  1. 运行服务器: uv run mcp dev main.py 这将启动服务器,您可以在localhost上浏览它(默认端口为6274)
  2. 打开浏览器http://127.0.0.1:6274
  3. 点击“连接”
  4. 点击顶部菜单中的“工具”
  5. 点击“列出工具”

现在您应该看到两个方法,“add”和“get_weather”。

  1. 单击“get_weather”,然后在输入字段中输入城市名称(例如“London”)。
  2. 点击“运行工具”。如果你已经设置了天气API键,你应该看看该城市的天气。

测试NoteKeeper(simplenote.py)

  1. 运行服务器: uv run mcp dev simplenote.py 这将启动服务器,您可以在localhost上浏览它(默认端口为6274)
  2. 打开浏览器http://localhost:6274
  3. 点击“连接”
  4. 点击顶部菜单中的“工具”
  5. 点击“列出工具” 现在您应该看到两个方法,“add_note”、“get_notes”和“get_last_note”。

您可以使用这些命令添加注释、获取所有注释或仅获取最后一个注释。条目将保持不变,因为它们被保存到本地文件中。

使用OpenAI代理(aiagent.py)测试MCP服务器

当MCP与OpenAI代理一起使用时,它真的很出色。您可以与OpenAI模型聊天,并让它调用MCP服务器以获取信息并执行自定义操作。 运行应用程序: uv run aiagent.py

聊吧!当您要求MCP服务器执行MCP服务器中定义的操作时,它将调用MCP服务器: -添加注释 -获取所有笔记 -获取最后一条消息

MCP与代理的工作原理

  • 从.env文件加载环境变量(包括OpenAI API密钥)。
  • 将SimpleNotes MCP服务器作为子进程启动。
  • 创建一个代理,其中包含处理笔记管理和一般查询的指令。
  • 运行交互式聊天循环:
  • 提示用户输入。
  • 将输入发送到代理,代理使用MCP服务器和OpenAI模型生成响应。
  • 打印助理的回复。
  • 处理“退出”、Ctrl+C或EOF时的优雅退出。