使用说明
项目简介
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)' 两种传输协议。
安装步骤
- 安装 Rust 工具链和 Cargo: 如果尚未安装,请访问 rustup.rs 按照说明进行安装。
- 克隆仓库:
git clone https://github.com/fabelis/mcp-servers.git cd mcp-servers - 构建项目:
使用 Cargo 构建项目。根据你需要运行的服务器,可能需要启用相应的 Rust 特性(features)。例如,要构建包含所有服务器的完整项目:
或者只构建特定服务器(例如 ArXiv 和 Shopify):cargo build --release --features "arxiv discord huggingface replicate shopify twitter"cargo build --release --no-default-features --features "arxiv shopify"
服务器配置
运行 MCP 服务器通常需要配置访问外部服务所需的 API 密钥或其他凭据。这些配置通过环境变量提供,建议使用 '.env' 文件进行管理。
- 创建 '.env' 文件:
复制项目根目录下的 '.env.example' 文件为 '.env':
cp .env.example .env - 编辑 '.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 调用这些工具来与外部服务进行交互。
信息
分类
开发者工具