使用说明
项目简介
本项目是一个实现了 Model Context Protocol (MCP) 的服务器,旨在演示 MCP 服务器的基本功能,例如资源管理(以笔记为例)、Prompt 定义(笔记总结)和工具注册与执行(笔记操作和链式服务器管理)。
主要功能点
- 资源管理: 实现了简单的笔记存储系统,通过 'note://' URI scheme 访问和管理笔记资源。每个笔记资源包含名称、描述和文本内容。
- Prompt 模板: 提供了一个 'summarize-notes' Prompt,用于总结所有存储的笔记,并允许通过可选的 'style' 参数控制总结的详细程度。
- 工具注册与执行: 实现了 'add-note' 工具,用于向服务器添加新的笔记。此外,还包括 'get-note'、'list-notes' 工具用于获取和列出笔记,以及 'connect-server'、'disconnect-server'、'list-servers' 工具用于管理链式 MCP 服务器连接。
安装步骤
- 安装 Python 和 uv: 确保您的系统已安装 Python 和 uv 包管理器。您可以参考 uv 的安装指南进行安装。
- 克隆仓库: 使用 Git 克隆仓库到本地:
git clone https://github.com/MCP-Mirror/non-dirty_mcp-client-and-server - 进入仓库目录: 导航到克隆的仓库目录:
cd non-dirty_mcp-client-and-server - 安装依赖: 使用 uv 安装项目依赖:
uv sync
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要在客户端中配置服务器的启动命令。以下是 Claude Desktop 客户端的 'claude_desktop_config.json' 配置文件示例。请将 '/path/to/non-dirty_mcp-client-and-server' 替换为您本地仓库的实际路径。
{ "mcpServers": { "notes-server": { // 服务器名称,可以自定义 "command": "uv", // 启动命令,这里使用 uv 包管理器执行 "args": [ // 命令参数 "--directory", "/path/to/non-dirty_mcp-client-and-server", // 服务器代码库的路径 "run", "src/mcp_client_and_server" // 运行服务器模块 ] } } }
配置说明:
- 'server name': '"notes-server"' 是您为该服务器定义的名称,在客户端配置中用于标识和引用该服务器。您可以自定义此名称。
- 'command': '"uv"' 指定了用于启动服务器的命令。 本例中使用 'uv run' 来运行 Python 模块。 您也可以根据您的环境配置使用 '"python"' 或其他命令。
- 'args': 'args' 数组包含了传递给 'command' 的参数。
- '"--directory"': 指定了服务器代码所在的目录。 MCP 客户端会将当前工作目录设置为此目录。
- '"/path/to/non-dirty_mcp-client-and-server"': 请务必替换为实际的仓库路径。 这是指向您克隆的 'non-dirty_mcp-client-and-server' 仓库的绝对路径。
- '"run"': 是 'uv' 命令的子命令,用于运行指定的 Python 模块或脚本。
- '"src/mcp_client_and_server"': 指定要运行的 Python 模块。 'src/mcp_client_and_server' 对应于项目中的 'src/mcp_client_and_server/main.py' 文件,这是服务器的入口点。
基本使用方法
- 启动服务器: 在配置 MCP 客户端后,客户端会在需要时自动启动服务器。您也可以手动启动服务器,在仓库根目录下执行命令: 'uv run src/mcp_client_and_server'。
- 通过 MCP 客户端交互: 使用 MCP 客户端与服务器进行交互。例如,您可以使用 'add-note' 工具添加笔记,使用 'summarize-notes' Prompt 总结笔记。具体的交互方式取决于您使用的 MCP 客户端的功能。
信息
分类
生产力应用