使用说明
项目简介
my-mcp-servers 仓库旨在提供 MCP (Model Context Protocol) 服务器的示例,帮助开发者理解和构建基于 MCP 协议的工具服务。本仓库包含一个名为 "add-note" 的示例服务器,该服务器演示了如何创建一个简单的笔记服务,允许用户通过工具添加笔记,并通过资源访问笔记内容。
主要功能点
- 资源管理: "add-note" 服务器将每个笔记都作为一个资源进行管理,客户端可以列出所有笔记资源并读取特定笔记的内容。
- 工具注册与执行: 服务器注册了一个 "add-note" 工具,客户端可以调用该工具来创建新的笔记。
- 状态管理: 服务器在内存中维护笔记数据,演示了 MCP 服务器如何管理自身状态。
- 通知机制: 当笔记资源列表发生变化时(例如添加了新笔记),服务器会向客户端发送资源列表变更通知。
安装步骤
- 克隆仓库
git clone https://github.com/nengelmann/my-mcp-servers.git cd my-mcp-servers - 安装依赖
进入 'add-note' 服务器目录并安装项目依赖。本仓库使用 'uv' 包管理器,确保已安装 'uv'。
cd servers/add-note uv sync --dev --all-extras cd ../..
服务器配置
MCP 客户端需要配置连接 "add-note" 服务器的信息。以下是一个 JSON 格式的配置示例,可以直接用于 MCP 客户端的服务器配置中。
{ "server_name": "add-note", "command": "uv", "args": [ "run", "add_note.server" ], "transport": "stdio" }
配置参数说明:
- 'server_name': 服务器名称,这里设置为 'add-note',与服务器代码中定义的名称一致。
- 'command': 启动服务器的命令,这里使用 'uv run' 来运行 Python 脚本。
- 'args': 传递给 'uv run' 命令的参数,'add_note.server' 指定了要运行的 Python 模块入口点 ('add_note/server.py' 中的 'main' 函数)。
- 'transport': 指定客户端与服务器通信的传输协议,这里使用 'stdio' (标准输入输出)。
注意: 客户端需要确保运行命令 'uv' 可用,并且当前工作目录位于 'my-mcp-servers/servers/add-note' 目录下,或者命令中使用了正确的相对路径或绝对路径指向 'add_note.server' 模块。更推荐的做法是在 'my-mcp-servers' 根目录下启动客户端,配置中的 'args' 保持不变,并在客户端启动服务器时,将工作目录切换到 'servers/add-note'。
基本使用方法
-
启动服务器 在 'my-mcp-servers/servers/add-note' 目录下,运行以下命令启动 "add-note" 服务器:
uv run add_note.server服务器将通过标准输入输出与 MCP 客户端进行通信。
-
使用 MCP 客户端连接服务器 配置 MCP 客户端,添加上述提供的服务器配置信息。客户端成功连接后,即可:
- 列出资源: 客户端可以请求列出服务器提供的资源,将会看到笔记资源列表 (初始为空)。
- 调用工具: 客户端可以调用名为 'add-note' 的工具,并提供 'name' (笔记名称) 和 'content' (笔记内容) 作为参数来创建新的笔记。
- 读取资源: 创建笔记后,客户端可以根据笔记资源的 URI (例如 'note://internal/{note_name}') 读取笔记的内容。
-
开发阶段使用 MCP Inspector (可选) 为了方便开发和调试,可以使用 MCP Inspector 工具监控服务器的运行情况。参考仓库 'README.md' 中 "Development Tools" 部分的说明,使用 Inspector 运行服务器。
信息
分类
生产力应用