使用说明

项目简介

本项目是一个实现了 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 服务器连接。

安装步骤

  1. 安装 Python 和 uv: 确保您的系统已安装 Python 和 uv 包管理器。您可以参考 uv 的安装指南进行安装。
  2. 克隆仓库: 使用 Git 克隆仓库到本地:
    git clone https://github.com/MCP-Mirror/non-dirty_mcp-client-and-server
  3. 进入仓库目录: 导航到克隆的仓库目录:
    cd non-dirty_mcp-client-and-server
  4. 安装依赖: 使用 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' 文件,这是服务器的入口点。

基本使用方法

  1. 启动服务器: 在配置 MCP 客户端后,客户端会在需要时自动启动服务器。您也可以手动启动服务器,在仓库根目录下执行命令: 'uv run src/mcp_client_and_server'。
  2. 通过 MCP 客户端交互: 使用 MCP 客户端与服务器进行交互。例如,您可以使用 'add-note' 工具添加笔记,使用 'summarize-notes' Prompt 总结笔记。具体的交互方式取决于您使用的 MCP 客户端的功能。

信息

分类

生产力应用