召回数据综合提要
一种模型上下文协议(MCP)服务器,提供对各种数据源的访问,包括Twitter、Substack和CoinGecko。该服务器使AI模型能够通过统一的界面与来自多个来源的数据进行交互和分析。
特性
- Twitter集成
- 获取用户资料和推文 - 搜索推文和个人资料 - 访问热门话题 - 完全写入权限(推特、点赞、转发、关注) - 直接消息传递支持 - Grok聊天集成
- 变电站集成
- 获取出版物信息 - 检索最近的帖子 - 访问帖子评论 - 搜索帖子 - 支持自定义域和子域
- CoinGecko集成
- 获取当前代币价格 - 检索合同地址和链 - 搜索代币 - 获取热门代币 - 支持免费和专业API访问
与Claude整合
- 安装并构建服务器:
npm install
npm run build- 在Claude中,转到设置->开发人员->添加MCP端点
- 添加以下配置:
{
"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)
}
}
}- 重新启动克劳德
- 验证集成:
- 在提示输入的右下角寻找锤子图标旁边的数字 - 通过以下问题测试集成:
has anyone mentioned a cool coin lately on this list https://x.com/i/lists/1879866762147303588?安装
- 克隆存储库:
git clone https://github.com/yourusername/recall-data-omnifeeds.git
cd recall-data-omnifeeds- 安装依赖项:
npm install- 创建一个
.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- 构建项目:
npm run build- 启动服务器:
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许可证
国际协调委员会
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
