使用说明

项目简介

mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在演示如何构建一个能够为 LLM 客户端提供上下文信息和功能的后端应用。该服务器提供以下核心功能:

  • 资源 (Resources): 将 Google Sheets 数据作为资源托管,允许客户端通过 'sheets://' URI 访问。
  • 工具 (Tools): 注册了两个工具:
    • 'post_tweet': 允许 LLM 调用以发布推文。
    • 'sheets_fetch_sheet_data': 允许 LLM 调用以获取 Google Sheets 数据。
  • 提示模板 (Prompts): (仓库描述中提及)提供 'summarize-notes' 提示模板,用于总结笔记内容 (但代码中未直接体现)。

主要功能点

  1. 数据资源访问: 通过自定义 'sheets://' URI 方案,将 Google Sheets 的数据以 JSON 格式暴露为资源,LLM 客户端可以读取这些资源以获取上下文信息。
  2. 工具调用: 实现了 'post_tweet' 工具,允许 LLM 客户端指示服务器执行发布推文的操作。同时,'sheets_fetch_sheet_data' 工具允许客户端显式请求获取最新的 Google Sheets 数据。
  3. 标准 MCP 协议: 使用 'mcp.server' 库构建,遵循 MCP 协议规范,能够与任何兼容 MCP 协议的 LLM 客户端进行通信。
  4. Stdio 传输: 服务器默认使用标准输入/输出 (Stdio) 作为传输协议,易于集成到各种 LLM 客户端环境中。

安装步骤

该仓库本身是 MCP 服务器的实现,您无需安装该仓库到本地,而是需要配置您的 MCP 客户端(如 Claude Desktop)来连接和使用这个服务器。如果您想要运行和调试该服务器,请按照以下步骤操作:

  1. 环境准备: 确保您已安装 Python 环境,并建议使用 'uv' 包管理器(仓库 README 中推荐)。
  2. 依赖安装: 使用 'uv sync' 命令同步项目依赖。
  3. 构建: 运行 'uv build' 构建项目。

服务器配置

要让 MCP 客户端(例如 Claude Desktop)连接到此 MCP 服务器,您需要配置客户端的 MCP 服务器设置。以下是针对 Claude Desktop 的配置示例,您需要将此配置添加到 Claude Desktop 的配置文件 ('claude_desktop_config.json') 中。

Development/Unpublished Servers Configuration (开发/未发布服务器配置)

"mcpServers": {
  "tweets": {  // 服务器名称,客户端用此名称引用
    "command": "uv", // 启动服务器的命令
    "args": [ // 命令参数
      "--directory", // 指定工作目录
      "你的mcp-server仓库本地路径", // 请替换为 mcp-server 仓库在您本地的绝对路径,例如 "C:\Users\YourName\mcp-server" 或 "~/mcp-server"
      "run", // uv run 命令
      "tweets" // 运行 tweets 包 (对应 src/tweets/__init__.py 中的 main 函数)
    ]
  }
}

请注意:

  • '"你的mcp-server仓库本地路径"': 务必替换为 'mcp-server' 仓库在您本地文件系统中的绝对路径
  • '"tweets"': 是服务器的名称,您可以自定义,客户端配置和代码中保持一致即可。
  • 'command: "uv"' 和 'args': 指定了使用 'uv' 包管理器来运行服务器。如果您使用其他方式运行 Python 代码,请相应修改 'command' 和 'args'。 例如,如果直接使用 'python' 运行 'src/tweets/server.py',则 'command' 可以是 '"python"','args' 可以是 '["src/tweets/server.py"]'。 但推荐使用 'uv run tweets' 的方式,更符合项目结构。

基本使用方法

  1. 启动 MCP 服务器: 配置好 Claude Desktop 后,启动 Claude Desktop 应用程序。Claude Desktop 会尝试连接您配置的 MCP 服务器。
  2. 客户端交互: 在 Claude Desktop 中,您可以使用以下方式与 MCP 服务器交互:
    • 读取资源: 在 Claude Desktop 中,您可以尝试读取 'sheets://your_sheet_resource' (实际的资源 URI 需要根据服务器的具体实现和配置来确定,本示例中 'server.py' 代码中写的是 'sheets://' 开头的 URI,但具体如何命名和使用需要进一步查看代码和文档). 服务器会返回 Google Sheets 的 JSON 数据。
    • 调用工具: 您可以指示 Claude Desktop 调用 'post_tweet' 工具来发布推文,或者调用 'sheets_fetch_sheet_data' 工具来获取 Google Sheets 数据。具体的调用方式取决于 Claude Desktop 客户端的功能和界面。

请务必仔细阅读仓库中的 'README.md' 和代码,特别是 'src/tweets/server.py' 文件,以获取更详细的配置和使用信息。

信息

分类

开发者工具