数据聚合服务

一个提供Twitter、Substack和CoinGecko等多源数据访问的模型上下文协议服务器,为AI模型提供统一的数据交互与分析接口。

  • by recallnet
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 recallnet/external-mcp

使用说明

召回数据综合提要

一种模型上下文协议(MCP)服务器,提供对各种数据源的访问,包括Twitter、Substack和CoinGecko。该服务器使AI模型能够通过统一的界面与来自多个来源的数据进行交互和分析。

特性

  • Twitter集成

    • 获取用户资料和推文
    • 搜索推文和个人资料
    • 访问热门话题
    • 完全写入权限(推特、点赞、转发、关注)
    • 直接消息传递支持
    • Grok聊天集成
  • 变电站集成

    • 获取出版物信息
    • 检索最近的帖子
    • 访问帖子评论
    • 搜索帖子
    • 支持自定义域和子域
  • CoinGecko集成

    • 获取当前代币价格
    • 检索合同地址和链
    • 搜索代币
    • 获取热门代币
    • 支持免费和专业API访问

与Claude整合

  1. 安装并构建服务器:

    npm install
    npm run build
    
  2. 在Claude中,转到设置->开发人员->添加MCP端点

  3. 添加以下配置:

    {
      "mcpServers": {
        "recall-data-omnifeeds": {
          "command": "node",
          "args": ["path to omnifeeds build they just created"],
          "env": {
            "PORT": "3008",
            "TWITTER_USERNAME": "xx",
            "TWITTER_PASSWORD": "xxx",
            "TWITTER_EMAIL": "xxx",
            "COINGECKO_API_KEY": "xxx" (optional)
          }
        }
    }
    
  4. 重新启动克劳德

  5. 验证集成:

    • 在提示输入的右下角寻找锤子图标旁边的数字
    • 通过以下问题测试集成:
      has anyone mentioned a cool coin lately on this list https://x.com/i/lists/1879866762147303588?
      

安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/recall-data-omnifeeds.git
    cd recall-data-omnifeeds
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个 .env 使用API凭据提交文件:

    # Twitter credentials (if needed)
    TWITTER_USERNAME=your_twitter_username
    TWITTER_PASSWORD=your_twitter_password
    TWITTER_EMAIL=your_twitter_email
    
    # CoinGecko credentials (optional)
    COINGECKO_API_KEY=your_api_key  # Optional: enables Pro API features
    
  4. 构建项目:

    npm run build
    
  5. 启动服务器:

    npm start
    

用法

服务器实现了模型上下文协议(MCP),可以与任何兼容MCP的客户端一起使用。以下是一些调用示例:

Twitter示例

// Get a user's profile
const result = await server.invoke("twitter-get-profile", {
  username: "example_user"
});

// Get recent tweets
const result = await server.invoke("twitter-get-tweets", {
  username: "example_user",
  count: 10
});

// Search tweets
const result = await server.invoke("twitter-search-tweets", {
  query: "example search",
  count: 20
});

子堆栈示例

// Get publication info
const result = await server.invoke("substack-get-publication-info", {
  substackId: "example.substack.com"
});

// Get recent posts
const result = await server.invoke("substack-get-recent-posts", {
  substackId: "example.substack.com",
  limit: 10
});

// Search posts
const result = await server.invoke("substack-search-posts", {
  substackId: "example.substack.com",
  searchTerm: "example search",
  limit: 10
});

CoinGecko示例

// Get token price
const result = await server.invoke("coingecko-get-price", {
  tokenId: "bitcoin",
  currency: "usd"
});

// Get contract addresses
const result = await server.invoke("coingecko-get-contracts", {
  tokenId: "usd-coin"
});

// Search tokens
const result = await server.invoke("coingecko-search", {
  query: "ethereum",
  limit: 5
});

// Get trending tokens
const result = await server.invoke("coingecko-trending", {
  limit: 5
});

api参考

推特工具

工具名称 描述 参数
twitter-get-profile 获取用户的个人资料信息 username (必填)
twitter-get-tweets 获取用户最近的推文 username (必填), count (可选,默认值:10)
twitter-search-tweets 搜索推文 query (必填), count (可选,默认值:20)
twitter-get-trends 获取热门话题 无
twitter-send-tweet 发送推文 text (必填)
twitter-like-tweet 像推特一样 tweetId (必填)
twitter-retweet 转发推特 tweetId (必填)
twitter-follow-user 关注用户 username (必填)

子组工具

工具名称 描述 参数
substack-get-publication-info 获取出版物信息 substackId (必填)
substack-get-recent-posts 获取最新帖子 substackId (必填), limit (可选,默认值:10)
substack-search-posts 搜索帖子 substackId (必填), searchTerm (必填), limit (可选,默认值:10)
substack-get-comments 获取帖子的评论 substackId (必填), postId (必填)

CoinGecko工具

工具名称 描述 参数
coingecko-get-features 获取CoinGecko API功能 无
coingecko-get-price 获取代币的当前价格 tokenId (必填), currency (可选,默认值:“usd”)
coingecko-get-contracts 获取令牌的合约地址和链 tokenId (必填)
coingecko-search 按查询搜索令牌 query (必填), limit (可选,默认值:10)
coingecko-trending 获取热门代币 limit (可选,默认值:10)

发展

项目结构

recall-data-omnifeeds/
├── src/
│   ├── index.ts              # Main server entry point
│   ├── twitter-client.ts     # Twitter API client
│   ├── substack-client.ts    # Substack API client
│   ├── coingecko-client.ts   # CoinGecko API client
│   └── tools/               # MCP tool implementations
├── dist/                    # Compiled JavaScript files
├── package.json            # Project configuration
└── tsconfig.json          # TypeScript configuration

建筑

npm run build

运行测试

npm test

许可证

国际协调委员会

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求