使用说明
使用官方MCP Python SDK实现的玩具MCP服务器。
概述
该项目实现了 玩具模型上下文协议(MCP)服务器 使用Anthropic的官方Python SDK mcp (PyPI, docs.claude.com).
它公开了两个工具:
- 随机动物:从预定义的10只动物列表中返回一只随机动物。
- roll_d20:返回一个随机整数,模拟一个20边模具的滚动(1-20)。
服务器是:
- MCP本地 –使用
FastMCP从官方SDK,根据MCP规范实现工具(docs.claude.com). - 无状态和简单 –适合作为玩具参考服务器。
- 运输灵活 –可以通过stdio、流式HTTP或SSE运行
mcpCLI。
安装
从项目根:
uv sync
如果你不使用 uv,您可以通过以下方式安装依赖关系:
pip install -e .
这将安装 mcp[cli] SDK,它提供MCP运行时和开发人员工具。
你也应该有 克劳德桌面 如果您想将此服务器注册为Claude MCP连接器,请按照MCP文档中的描述进行安装(docs.claude.com).
运行MCP服务器
运行此服务器的推荐方式是通过 mcp CLI,了解MCP传输并发现 FastMCP 实例定义于 main.py.
开发模式(MCP检查器/stdio)
从项目根:
uv run mcp dev main.py
这将在中运行服务器 发展模式 (stdio传输)并打开MCP检查器,您可以在其中:
- 检查服务器声明的工具。
- 手动调用
random_animal和roll_d20.
引擎盖下:
uv run确保mcpCLI在该项目的环境中运行(使用mcp版本从 PyPI).mcp dev main.py将服务器作为子进程启动 标准 并将MCP Inspector客户端连接到它。
直接执行
您还可以直接运行服务器(例如,通过stdio或其他支持的传输与自定义MCP客户端集成):
python main.py
这叫 mcp.run() 在 FastMCP 实例定义于 main.py,使用SDK的默认值启动MCP服务器循环。
这有助于:
- 您自己编写的自定义MCP客户端。
- 无需检查器即可对服务器进程和日志进行简单测试。
请注意 直接执行不会自动注册 配备克劳德桌面的服务器;它只运行MCP服务器。
在Claude Desktop注册服务器
安装完Claude Desktop后,您可以注册此MCP服务器,以便Claude可以自动发现并启动它。
从项目根目录运行:
uv run mcp install main.py
这在概念上做了什么:
- 检查
main.py找到FastMCP服务器。 - 提示您(如果需要)提供以下详细信息 服务器名称 和 命令.
- 写a 小清单/配置条目 进入Claude Desktop的MCP配置目录(每个用户的配置位置),告诉Claude:
- “此服务器存在并命名为例如。
Toy MCP Server.” - “要启动它,请运行:
python <path-to-your-project>/main.py(在适当的环境下)。”
- “此服务器存在并命名为例如。
重要的是:
- 您的代码未被复制或重新安装;它保留在您的项目文件夹中。
- “安装”步骤仅创建元数据,以便Claude Desktop知道如何将现有脚本作为MCP服务器启动。
运行后 mcp install:
- 重新启动Claude Desktop(如果它已打开)。
- 打开其设置/首选项并导航到 MCP/工具/服务器 部分。
- 您应该看到列出了此服务器(使用您选择的名称);如果需要,启用它。
- Claude现在将按需生成服务器进程并调用工具(
random_animal,roll_d20)通过MCP。
工具使用示例(概念性)
MCP客户端(例如Claude Desktop、MCP Inspector或自定义MCP客户端)将使用MCP协议而不是原始HTTP端点来发现和调用工具。
- 列出工具 –客户端检查服务器声明的工具(
random_animal,roll_d20)通过MCP的功能和工具元数据,类似于MCP文档中的示例(docs.claude.com). - 呼叫
random_animal–客户端发送一个没有参数的MCP工具调用,并接收一个字符串结果,如"tiger". - 呼叫
roll_d20客户端发送一个无参数的MCP工具调用,并接收一个1到20之间的整数结果。
与本地LLM(例如Claude Desktop、LM Studio)集成
因为此服务器是MCP本机服务器 理想的 集成路径是使用MCP感知客户端(例如Claude Desktop、Claude Code、MCP Inspector),这些客户端直接按照MCP文档中的描述说出协议(docs.claude.com).
对于 LM工作室 或者其他尚未原生支持MCP的本地LLM运行时,您可以:
- 运行此MCP服务器(使用SDK的传输通过stdio或HTTP/SSE)。
- 写a 薄型适配器 其作用如下:
- 一侧的MCP客户端(通过
mcpPython SDK)。 - 另一端的工具/调用提供者(使用LM Studio公开的任何HTTP或插件机制;参见例如。 LM Studio概述).
- 一侧的MCP客户端(通过
这样,您就可以将此项目完全集中在MCP服务器上,同时仍然能够将其集成到本地LLM工作流中。
许可证
gnuaffero通用公共许可证 2007年11月19日第3版
