使用说明
项目简介
本项目 'mcp-client-and-server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,它作为一个独立的后端服务,旨在为大型语言模型 (LLM) 客户端提供结构化的上下文信息和功能扩展。该服务器以一个简单的笔记应用为例,展示了如何利用 MCP 协议管理资源 (Resources)、提供工具 (Tools) 和定义 Prompt 模板 (Prompts),从而增强 LLM 应用的功能。
主要功能点
- 资源 (Resources):
- 提供基于 'note://' URI 方案的笔记资源访问。
- 每篇笔记包含名称、描述和 'text/plain' MIME 类型。
- Prompt 模板 (Prompts):
- 提供 'summarize-notes' Prompt,用于总结所有存储的笔记内容。
- 支持可选的 'style' 参数 ('brief'/'detailed') 控制总结详细程度。
- 工具 (Tools):
- 提供 'add-note' 工具,用于向服务器添加新的笔记。
- 需要 'name' 和 'content' 两个字符串参数。
- 服务器状态更新后会通知客户端资源变更。
- 服务器管理工��:
- 除了笔记相关的工具外,还额外提供 'connect-server', 'disconnect-server', 'list-servers' 等工具,用于连接和管理其他MCP服务器,展示了链式服务器的能力。
安装步骤
由于这是一个 Python 项目,你需要确保你的环境中安装了 Python 和 'uv' 包管理器(推荐,或者使用 'pip')。
-
克隆仓库
git clone https://github.com/non-dirty/mcp-client-and-server.git cd mcp-client-and-server -
安装依赖 使用 'uv' 同步依赖并更新 lockfile (或者使用 'pip install -r requirements.txt'):
uv sync
服务器配置
MCP 服务器需要配置到 MCP 客户端中才能使用。以 Claude Desktop 为例,你需要编辑其配置文件 'claude_desktop_config.json',在 'mcpServers' 字段下添加配置信息。
开发/未发布服务器配置示例 (适用于本地开发和调试):
"mcpServers": { "mcp-client-and-server": { "command": "uv", // 启动命令,这里使用 uv 包管理器 "args": [ "--directory", "/path/to/mcp-client-and-server", // 替换为你的仓库本地路径 "run", "mcp-client-and-server" // 运行 mcp-client-and-server 入口 ] } }
发布服务器配置示例 (适用于已打包发布的情况):
"mcpServers": { "mcp-client-and-server": { "command": "uvx", // 启动已发布的包 "args": [ "mcp-client-and-server" // 运行 mcp-client-and-server 入口 ] } }
注意:
- 请将 '/path/to/mcp-client-and-server' 替换为你克隆仓库的实际本地路径。
- 'command' 和 'args' 字段定义了如何启动 MCP 服务器进程。这里使用了 'uv' 或 'uvx' (已发布的包) 来运行 Python 代码。
基本使用方法
-
启动服务器 服务器配置完成后,当 MCP 客户端(如 Claude Desktop)尝试连接到 'mcp-client-and-server' 时,服务器将自动启动。你也可以在项目根目录下手动运行服务器:
uv run mcp-client-and-server或者 (如果已将 'src' 目录加入 Python 路径):
python -m mcp_client_and_server.server -
与 MCP 客户端交互 一旦服务器运行,你就可以在 MCP 客户端中配置并使用它。
- 客户端可以通过标准 MCP 协议请求列出资源、调用工具、获取 Prompt 等。
- 例如,客户端可以调用 'add-note' 工具添加笔记,然后使用 'summarize-notes' Prompt 总结笔记内容。
- 由于该服务器实现了 'connect-server' 等工具,你甚至可以通过该服务器连接到其他 MCP 服务器,形成链式调用。
-
调试 项目推荐使用 MCP Inspector 进行调试,可以更方便地观察 MCP 服务器的请求和响应。
信息
分类
生产力应用