使用说明
项目简介
本项目 'mcp-server' 是一个简单的 MCP (Model Context Protocol) 服务器实现,旨在演示如何构建一个能够为大型语言模型 (LLM) 应用提供上下文信息的后端服务。它实现了 MCP 协议的核心功能,包括资源管理、Prompt模板和工具注册,并通过标准的 JSON-RPC 协议与客户端进行通信。
主要功能点
- 资源 (Resources) 管理: 提供简单的笔记存储功能,允许客户端通过 'note://' URI 访问和读取笔记内容。每个笔记资源包含名称、描述和 'text/plain' MIME 类型。
- Prompt 模板 (Prompts): 提供一个 'summarize-notes' Prompt,用于总结服务器中存储的所有笔记。该 Prompt 支持可选的 'style' 参数('brief' 或 'detailed')来控制总结的详细程度。
- 工具 (Tools) 注册与执行: 实现一个 'add-note' 工具,允许客户端向服务器添加新的笔记。工具接受 'name' 和 'content' 两个字符串参数,成功添加笔记后,服务器会更新状态并通知客户端资源已更改。
安装步骤
由于这是一个基础的 MCP 服务器示例,安装步骤主要涉及配置 MCP 客户端(如 Claude Desktop)以连接到该服务器。
前提条件:
- 确保您已安装 Python 环境。
- 建议使用 'uv' 包管理器来管理 Python 依赖和运行项目 (参考仓库 README)。
配置 Claude Desktop (或其他 MCP 客户端):
-
找到 Claude Desktop 配置文件:
- MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
-
编辑配置文件: 打开 'claude_desktop_config.json' 文件,找到 '"mcpServers"' 部分。如果不存在,请创建它。
-
添加服务器配置: 在 '"mcpServers"' 中添加 'mcp-server' 的配置信息。根据您的需求选择 “Development/Unpublished Servers Configuration” 或 “Published Servers Configuration” (通常开发阶段选择 Development 配置)。
Development/Unpublished Servers Configuration 示例 (推荐开发使用):
"mcpServers": { "mcp-server": { "command": "uv", // 启动服务器的命令,这里假设您使用 uv 运行 "args": [ "--directory", // 指定服务器代码所在的目录 "C:\\path\\to\\mcp-server", // **[请替换为您的 mcp-server 仓库的实际路径]** 例如: "C:\\Users\\YourUsername\\Documents\\Github\\mcp-server" "run", // uv 的 run 命令,用于运行 Python 模块 "mcp-server" // 指定要运行的 Python 模块名 (对应 src/mcp_server/__init__.py 中的 main 函数) ] } }注意:
- 请务必将 '"C:\path\to\mcp-server"' 替换为您本地 'mcp-server' 仓库的绝对路径。
- 'command: "uv"' 和 'args' 中的配置假设您使用 'uv' 包管理器,并且在包含 'mcp-server' 仓库的目录下执行配置。如果使用其他方式运行,请根据实际情况修改 'command' 和 'args'。
- 如果您的 'uv' 命令不在系统 PATH 环境变量中,您可能需要提供 'uv' 的完整路径。
基本使用方法
-
启动 MCP 服务器: 根据您在 'claude_desktop_config.json' 中配置的命令,MCP 客户端 (如 Claude Desktop) 会在需要时自动启动 'mcp-server'。如果您选择手动运行,可以在 'mcp-server' 仓库目录下,使用终端执行配置中定义的命令,例如: 'uv run mcp-server'。
-
在 MCP 客户端中使用: 启动 Claude Desktop (或其他 MCP 客户端) 后,客户端应该能够检测到已配置的 'mcp-server' 服务器。您可以在客户端的设置或插件管理中找到已连接的 MCP 服务器列表。
-
利用服务器功能:
- 查看笔记资源: 客户端可以请求服务器列出所有可用的笔记资源。
- 读取笔记内容: 客户端可以使用 'note://internal/{note_name}' 格式的 URI 读取特定笔记的内容。
- 使用 'summarize-notes' Prompt: 客户端可以调用 'summarize-notes' Prompt 来获取所有笔记的摘要,并可以尝试使用 'style' 参数来控制摘要的详细程度。
- 调用 'add-note' 工具: 客户端可以调用 'add-note' 工具来向服务器添加新的笔记,并提供笔记的 'name' 和 'content'。添加成功后,客户端应该能感知到资源列表的更新。
调试:
如需调试 MCP 服务器,仓库 README 中推荐使用 MCP Inspector。按照 README 中的指引,使用 MCP Inspector 可以更方便地调试基于 stdio 运行的 MCP 服务器。
总结
'mcp-server' 提供了一个简单但完整的 MCP 服务器示例,帮助开发者理解 MCP 协议的工作原理以及如何构建自己的 MCP 服务器。通过配置 MCP 客户端连接到该服务器,您可以体验资源管理、Prompt模板和工具集成的基本功能。
信息
分类
开发者工具