使用说明

项目简介

Fabelis MCP Servers 是一个使用 Rust 语言和 Fabelis 的 'mcp-core' 框架构建的 Model Context Protocol (MCP) 服务器集合。它提供了一系列可组合的服务器,旨在通过 MCP 协议向 LLM 客户端暴露各种外部平台和服务的核心功能,如访问数据、执行操作等。

主要功能点

该仓库包含针对多个流行平台的 MCP 服务器实现,每个服务器都提供一组特定的“工具”供 LLM 调用:

  • Discord: 提供发送消息、获取频道消息、添加反应、分配角色、发送私信、发送 Webhook 消息等工具。
  • Shopify: 提供管理商店数据(如创建/删除/更新/列出产品、添加产品图片、创建/删除/获取订单、列出客户、获取销售数据)的工具。
  • X (Twitter): 提供搜索推文、获取时间线、获取提及、发布推文、回复推文等工具。
  • arXiv: 提供搜索论文、按作者搜索、按 ID 获取论文、列出记录、提取论文文本等工具。
  • Hugging Face: 提供搜索模型、获取模型信息、获取模型示例图片、获取 README 文件、获取用户信息等工具。
  • Replicate: 提供 AI 模型相关工具,如列出模型、生成图像、编辑图像、获取预测结果、获取模型信息、获取用户信息等。

服务器支持 'Stdio' 和 'SSE (Server-Sent Events)' 两种传输协议。

安装步骤

  1. 安装 Rust 工具链和 Cargo: 如果尚未安装,请访问 rustup.rs 按照说明进行安装。
  2. 克隆仓库:
    git clone https://github.com/fabelis/mcp-servers.git
    cd mcp-servers
  3. 构建项目: 使用 Cargo 构建项目。根据你需要运行的服务器,可能需要启用相应的 Rust 特性(features)。例如,要构建包含所有服务器的完整项目:
    cargo build --release --features "arxiv discord huggingface replicate shopify twitter"
    或者只构建特定服务器(例如 ArXiv 和 Shopify):
    cargo build --release --no-default-features --features "arxiv shopify"

服务器配置

运行 MCP 服务器通常需要配置访问外部服务所需的 API 密钥或其他凭据。这些配置通过环境变量提供,建议使用 '.env' 文件进行管理。

  1. 创建 '.env' 文件: 复制项目根目录下的 '.env.example' 文件为 '.env':
    cp .env.example .env
  2. 编辑 '.env' 文件: 根据你需要运行的服务器,填写相应的环境变量,例如:
    # Shopify Server
    SHOPIFY_SHOP_DOMAIN="你的Shopify商店域名"
    SHOPIFY_ACCESS_TOKEN="你的Shopify访问令牌"
    
    # Discord Server
    DISCORD_TOKEN="你的Discord机器人令牌"
    # ... 其他服务器所需的变量,请参考各个服务器文件夹下的说明或测试文件

MCP 客户端配置信息

MCP 客户端需要知道如何启动并连接到这个服务器。客户端配置通常包含服务器的名称、启动命令 (command) 及其参数 (args)。对于这个项目,基于 'main.rs' 和 README 的运行方式,一个 MCP 客户端的配置示例如下:

  • 例如,配置 ArXiv Stdio 服务器:

    • 服务器名称 (name): 'arxiv'
    • 命令 (command): 'cargo'
    • 参数 (args): '["run", "--", "stdio", "--server", "arxiv"]'
    • 注意: 'command' 需要在仓库的根目录执行。如果客户端从其他位置启动,'command' 可能需要是编译后的二进制文件路径,或者需要在执行前切换目录。使用 'cargo run' 方式运行服务器需要 Cargo 和 Rust 环境已配置好。
  • 例如,配置 Shopify SSE 服务器:

    • 服务器名称 (name): 'Shopify'
    • 命令 (command): 'cargo'
    • 参数 (args): '["run", "--", "sse", "--server", "shopify"]'
    • 对于 SSE 传输,客户端还需要知道服务器监听的地址和端口。服务器默认监听 '0.0.0.0:3000',可以通过 '.env' 中的 'SERVER_PORT' 变量修改。客户端连接地址示例:'http://localhost:3000/sse'。

请根据你想要运行的服务器类型('--server <server_type>')和传输协议('stdio' 或 'sse')调整 'args' 参数。

基本使用方法

在配置好 '.env' 文件后,你可以通过命令行启动特定的 MCP 服务器。确保你在项目的根目录执行这些命令。

  • 启动 ArXiv Stdio 服务器:

    cargo run -- server arxiv

    或更明确指定传输协议:

    cargo run stdio --server arxiv

    服务器将通过标准输入/输出与 MCP 客户端通信。

  • 启动 Shopify SSE 服务器:

    cargo run sse --server shopify

    服务器将启动一个 HTTP 服务并监听指定端口(默认为 3000),通过 '/sse' 端点与 MCP 客户端通信。

启动服务器后,兼容的 MCP 客户端即可连接并发现该服务器提供的工具,然后通过 JSON-RPC 调用这些工具来与外部服务进行交互。

信息

分类

开发者工具