模型上下文协议服务器

一个可扩展的模型上下文协议服务器,提供对社交平台数据和链上数据的标准化访问,适用于多平台数据整合和AI模型消费场景。

  • by Beyond-Network-AI
  • TypeScript
  • 本地部署
  • 13 星标
  • 更新于
在 GitHub 查看 Beyond-Network-AI/beyond-mcp-server

使用说明

超越MCP服务器

一个可扩展的模型上下文协议服务器,提供对社交平台数据和链上数据的标准化访问。目前支持Farcaster(通过Neynar API)与占位符进行Twitter集成。不久将添加更多像Telegram这样的平台,包括链上数据。

特性

  • 符合MCP标准:完全实现模型上下文协议规范
  • 多平台:旨在支持多个社交媒体平台
  • 可扩展:易于添加新的平台提供商
  • 构造良好:优化了LLM消费的上下文格式
  • 柔性运输:支持stdio和SSE/HTTP传输

支持的平台

  • 法尔卡斯特:通过Neynar API全面实现
  • 推特:占位符(未实现)

入门指南

先决条件

安装

  1. 克隆存储库
git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
  1. 安装依赖项
npm install
  1. 从模板创建.env文件
cp .env.example .env
# Edit .env with your API keys
  1. 配置环境变量

    • 必需:设置 NEYNAR_API_KEY 在.env文件中
    • 您可以从获取Neynar API密钥 https://neynar.com/
    • 如果没有有效的API密钥,Farcaster功能将无法工作
  2. 构建并启动服务器

npm run build
npm start  # For stdio mode (default)
# OR
npm run start:http  # For HTTP/SSE mode

使用Claude for Desktop

  1. 构建服务器
npm run build
  1. 确保使用API密钥正确配置了.env文件

    • 服务器将在以下位置查找.env:
      • 当前工作目录
      • 项目根目录
      • 父目录(最多3级)
    • 您还可以直接在系统中设置环境变量
  2. 将服务器添加到您的Claude Desktop配置中:

  • macOS:~/库/应用程序支持/Claude/Claude_desktop_config json
  • Windows:%APPDATA%\Claude\Claude_desktop_config.json
{
  "mcpServers": {
    "beyond-social": {
      "command": "/usr/local/bin/node",
      "args": [
        "/full/path/to/beyond-mcp-server/dist/index.js",
        "--stdio"
      ]
    }
  }
}
  1. 或者,您可以直接在Claude Desktop配置中传递API键和其他环境变量(推荐):
{
  "mcpServers": {
    "beyond-social": {
      "command": "/usr/local/bin/node",
      "args": [
        "/full/path/to/beyond-mcp-server/dist/index.js",
        "--stdio"
      ],
      "env": {
        "NEYNAR_API_KEY": "YOUR_API_KEY_HERE",
        "ENABLE_FARCASTER": "true",
        "ENABLE_TWITTER": "false"
      }
    }
  }
}
  1. 重新启动桌面版的Claude

MCP能力

资源

  • social://{platform}/{query}/search -在平台上搜索内容
  • social://{platform}/user/{userId}/profile -获取用户资料
  • social://{platform}/wallet/{walletAddress}/profile -通过钱包地址获取用户资料(仅限Farcaster)
  • social://{platform}/user/{userId}/balance -获取用户的钱包余额(仅限Farcaster)
    • 接受FID(数字)或用户名
    • 如果提供了用户名,则在提取余额之前会自动转换为FID
  • social://{platform}/wallet/{walletAddress}/profile -通过钱包地址获取用户资料
  • social://{platform}/user/{userId}/content -获取用户内容
  • social://{platform}/thread/{threadId} -获取对话线索
  • social://{platform}/trending -获取热门话题
  • social://{platform}/trending-feed -通过多提供商支持获取趋势提要内容(仅限Farcaster)
    • 支持提供者:neynar(默认)、openrank、mbd
    • 参数:时间窗口(1小时、6小时、12小时、24小时、7天、30天)、限制
  • social://{platform}/channels/search -在平台上搜索频道(仅限Farcaster)
    • 参数:查询、限制、光标
    • 返回频道详细信息,包括名称、描述、关注者计数和元数据
  • social://{platform}/channels/bulk-search -并行搜索多个频道(仅限Farcaster)
    • 参数:查询(数组)、限制、光标
    • 返回每个查询的结果,包括频道详细信息和分页信息

工具

  • search-content -在社交平台上搜索内容
  • get-user-profile -获取用户的个人资料信息
  • get-user-profile-by-wallet -使用钱包地址获取用户资料(仅限Farcaster)
  • get-user-balance -获取用户的钱包余额(仅限Farcaster)
    • 接受FID(数字)或用户名
    • 自动处理用户名到FID的转换
  • get-user-content -从特定用户处获取内容
  • get-thread -获取对话线索
  • get-trending-topics -获取当前热门话题
  • getTrendingFeed -通过多提供商支持获取趋势提要(仅限Farcaster)
  • get-wallet-profile -根据钱包地址获取个人资料
  • search-channels -在平台上搜索频道(仅限Farcaster)
    • 参数:查询、限制、光标
    • 返回详细的频道信息,包括关注者计数和元数据
  • search-bulk-channels -并行搜索多个频道(仅限Farcaster)
    • 参数:查询(数组)、限制、光标
    • 返回每个查询的结果,包括频道详细信息和分页信息

鼓励

  • analyze-thread -分析社交媒体帖子
  • summarize-user-activity -总结用户的活动
  • explore-trending-topics -探索平台上的热门话题
  • analyze-search-results -分析查询的搜索结果
  • explore-trending-feed -分析不同提供商的动态提要内容
  • get-wallet-profile -按钱包地址获取和分析用户资料
  • check-user-balance -分析用户的钱包余额和持有量
    • 适用于FID和用户名输入
    • 处理用户名的自动FID解析
  • explore-channels -分析和探索平台上的渠道
    • 提供有关频道受欢迎程度和内容的见解
    • 根据搜索条件帮助发现相关渠道
  • explore-bulk-channels -并行分析和比较多个通道
    • 高效地搜索和比较多个渠道
    • 提供有关渠道关系和趋势的见解

与新供应商一起扩展

要添加新的社交平台提供商,请执行以下操作:

  1. 在中创建新目录 src/providers/
  2. 实施 ContentProvider 接口
  3. 在注册表中注册提供者

例子:

import { ContentProvider } from '../interfaces/provider';

export class MyPlatformProvider implements ContentProvider {
  public name = 'myplatform';
  public platform = 'myplatform';
  
  // Implement all required methods
}

发展

以开发模式运行

npm run dev        # stdio mode
npm run dev:http   # HTTP mode

测试

npm test

代码检查

npm run lint
npm run lint:fix

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交拉取请求。

更新日志

此项目的所有显著更改都将记录在此文件中。

[1.0.0]至2025年3月10日

添加

  • 初始版本
  • 通过Neynar API进行Farcaster集成
  • 符合MCP的服务器实现
  • 支持stdio和HTTP模式

[1.0.1]-2025年3月19日

添加

  • 添加了新的工具和资源来获取带有钱包地址的用户配置文件
  • 新增测试

[1.0.2]-2025年3月21日

添加

  • 添加了通过ID或用户名检索Farcaster用户钱包余额的功能
  • 实现了对趋势提要内容的多提供商支持
  • 增强的updateUserProfile,包含更多用户详细信息
  • 增加了全面的测试,以确保可靠性和性能

[1.0.3]-2025年3月24日

添加

  • 添加对获取单个和批量farcaster频道信息的支持