V2ex MCP 服务器使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在为大型语言模型 (LLM) 应用提供访问 V2ex 社区 API 的能力。通过注册一系列工具,LLM 客户端可以调用这些工具来获取 V2ex 的各种信息,例如用户通知、帖子、节点信息等。

主要功能点

  • 提供 V2ex API 访问工具: 内置多个工具,允许 LLM 获取 V2ex 社区的各种数据,包括:
    • 获取用户通知 (v2ex_notification)
    • 移除用户通知 (v2ex_remove_notification)
    • 获取用户个人资料 (v2ex_member_profile)
    • 获取节点信息 (v2ex_node)
    • 获取节点主题列表 (v2ex_node_topic)
    • 获取主题详情 (v2ex_topic)
    • 获取主题评论 (v2ex_topic_comments)
    • 获取当前用户 Token 信息 (v2ex_current_token)
    • 创建新的用户 Token (v2ex_create_new_token)
  • 基于 MCP 协议: 采用标准的 MCP 协议进行通信,易于与兼容 MCP 协议的 LLM 客户端集成。
  • 使用 Stdio 传输: 通过标准输入输出 (stdio) 进行数据传输,部署和运行简单方便。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/funnythingfunnylove/mcp-server-v2ex.git
    cd mcp-server-v2ex
  2. 安装依赖: 确保已安装 Node.js 和 npm,然后运行:
    npm install
  3. 配置环境变量: 需要设置 'V2EX_API_KEY' 环境变量,用于 V2ex API 的身份验证。请在您的 MCP 客户端或服务器运行环境中设置此环境变量。您需要拥有一个有效的 V2ex API 密钥。

服务器配置

为了让 MCP 客户端连接到此服务器,您需要配置客户端的服务器连接信息。以下是一个 JSON 格式的配置示例,您需要将其添加到您的 MCP 客户端配置中。

{
  "serverName": "v2ex-mcp-server",
  "command": "node",
  "args": ["src/index.ts"],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器的名称,可以自定义,用于在客户端标识服务器。例如: "v2ex-mcp-server"。
  • 'command': 启动服务器的命令,这里是 'node',假设您的环境中 node 命令可用。
  • 'args': 传递给 'node' 命令的参数,这里是服务器入口文件 'src/index.ts'。
  • 'transport': 服务器使用的传输协议,这里是 'stdio',表示标准输入输出。

重要提示: 确保 MCP 客户端能够找到 'node' 命令,并且在运行服务器时,'V2EX_API_KEY' 环境变量已被正确设置。

基本使用方法

  1. 启动服务器: 在项目根目录下,直接运行上述 MCP 客户端配置即可启动服务器。服务器将监听 stdio 的输入,等待接收 MCP 客户端的请求。

  2. 客户端调用工具: 在 MCP 客户端中,您可以使用 'CallToolRequest' 请求来调用服务器提供的工具。例如,要获取 V2ex 用户通知,您可以调用 'v2ex_notification' 工具,并根据工具的 'inputSchema' 提供必要的参数(例如 'page')。

    客户端会发送符合 MCP 协议的 JSON-RPC 请求到服务器,服务器处理请求后,会将结果以 JSON-RPC 响应的形式返回给客户端。

    具体工具的调用方法和参数,请参考代码中 'Tool' 对象的定义及其 'inputSchema' 属性。

注意事项

  • 本服务器依赖于 V2ex API,请确保您的 API 密钥有效且有访问权限。
  • 错误处理较为简单,建议在生产环境中使用时增加更完善的错误处理机制。
  • 目前只实现了 Tools 功能,Resources 和 Prompts 功能未在此仓库中体现。

信息

分类

网页与API