使用说明

项目简介

本项目 '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 客户端):

  1. 找到 Claude Desktop 配置文件:

    • MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
    • Windows: '%APPDATA%/Claude/claude_desktop_config.json'
  2. 编辑配置文件: 打开 'claude_desktop_config.json' 文件,找到 '"mcpServers"' 部分。如果不存在,请创建它。

  3. 添加服务器配置: 在 '"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' 的完整路径。

基本使用方法

  1. 启动 MCP 服务器: 根据您在 'claude_desktop_config.json' 中配置的命令,MCP 客户端 (如 Claude Desktop) 会在需要时自动启动 'mcp-server'。如果您选择手动运行,可以在 'mcp-server' 仓库目录下,使用终端执行配置中定义的命令,例如: 'uv run mcp-server'。

  2. 在 MCP 客户端中使用: 启动 Claude Desktop (或其他 MCP 客户端) 后,客户端应该能够检测到已配置的 'mcp-server' 服务器。您可以在客户端的设置或插件管理中找到已连接的 MCP 服务器列表。

  3. 利用服务器功能:

    • 查看笔记资源: 客户端可以请求服务器列出所有可用的笔记资源。
    • 读取笔记内容: 客户端可以使用 '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模板和工具集成的基本功能。

信息

分类

开发者工具