返回市场
超越-MCP服务器

超越-MCP服务器

作者:Beyond-Network-AI12 星标更新:2025-05-20

项目介绍

超越MCP服务器

一个可扩展的模型上下文协议服务器,提供对社交平台数据和链上数据的标准访问。当前支持通过Neynar API的Farcaster,并预留了Twitter集成的位置。不久将添加更多平台,包括Telegram以及链上数据。

特性

  • 符合MCP规范:完全实现了模型上下文协议规范
  • 多平台支持:设计用于支持多个社交媒体平台
  • 可扩展性:易于添加新的平台提供商
  • 格式优化:优化上下文格式以供LLM消费
  • 灵活传输:支持标准输入输出(stdio)和SSE/HTTP传输

支持的平台

  • Farcaster:通过Neynar API实现
  • Twitter:预留位置(未实现)

快速开始

先决条件

安装

  1. 克隆仓库
git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
  1. 安装依赖项
npm install
  1. 从模板创建.env文件
cp .env.example .env
# 编辑.env文件中的API密钥
  1. 配置环境变量

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

npm run build
npm start  # 对于stdio模式(默认)
# 或者
npm run start:http  # 对于HTTP/SSE模式

使用Claude桌面版

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

    • 服务器将在以下位置查找.env
      • 当前工作目录
      • 项目根目录
      • 上级目录(最多三层)
    • 你也可以直接在系统中设置环境变量
  2. 在Claude桌面版配置中添加服务器:

  • macOS: ~/Library/Application Support/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桌面版配置中直接传递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
    • 参数:timeWindow(1h、6h、12h、24h、7d、30d),limit
  • social://{platform}/channels/search - 在平台上搜索频道(仅限Farcaster)
    • 参数:query,limit,cursor
    • 返回频道详情,包括名称、描述、关注者数量和元数据
  • social://{platform}/channels/bulk-search - 并行搜索多个频道(仅限Farcaster)
    • 参数:queries(数组),limit,cursor
    • 返回每个查询的结果,包含频道详情和分页信息

工具

  • 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)
    • 参数:query,limit,cursor
    • 返回详细的频道信息,包括关注者数量和元数据
  • search-bulk-channels - 并行搜索多个频道(仅限FFarcaster)
    • 参数:queries(数组),limit,cursor
    • 返回每个查询的结果,包含频道详情和分页信息

提示

  • 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';
  
  // 实现所有必需的方法
}

开发

运行在开发模式

npm run dev        # stdio模式
npm run dev:http   # HTTP模式

测试

npm test

代码检查

npm run lint
npm run lint:fix

许可证

MIT

贡献

欢迎贡献!请随时提交Pull Request。

更新日志

所有重要的更改都会记录在此文件中。

[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频道信息的支持