X推文搜索服务

一个使用X(Twitter)API搜索推文和获取当前事件数据的MCP服务器,支持搜索用户推文、热门话题和特定主题。

  • by TextFly
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 TextFly/X-mcp

使用说明

X MCP服务器

一个MCP服务器,使用X(Twitter)API在X中搜索并获取当前事件数据。

特性

  • 搜索用户推文:查找特定用户的最新推文
  • 热门话题:获取全球或按地点的当前热门话题
  • 主题搜索:搜索特定用户生成的主题和标签

安装

  1. 安装依赖项:
pip install -r requirements.txt
  1. 将X API凭据设置为环境变量:
export X_BEARER_TOKEN="your_bearer_token"
export X_API_KEY="your_api_key"
export X_API_SECRET="your_api_secret"
export X_ACCESS_TOKEN="your_access_token"
export X_ACCESS_TOKEN_SECRET="your_access_token_secret"

备注:

  • X_BEARER_TOKEN 基本功能(用户推文和主题搜索)需要
  • 趋势主题功能需要所有凭据

正在获取X API凭据

  1. 首选 Twitter开发者门户
  2. 创建新应用程序或使用现有应用程序
  3. 生成API密钥和令牌
  4. 复制Bearer Token、API Key、API Secret、Access Token、Access Token Secret

用法

使用fastmcp运行服务器:

# Development mode with auto-reload
fastmcp dev src/X-mcp.py

# Production mode
fastmcp run src/X-mcp.py

或者直接用Python运行:

python src/X-mcp.py

可用工具

1. search_user_tweets

搜索特定用户的最新推文。

参数:

  • username (str):X/推特用户名(不含@)
  • max_results (int,可选):返回的最大推文数(默认值:10,最大值:100)

例子:

search_user_tweets(username="elonmusk", max_results=20)

2. search_trending_topics

在X/Twitter上获取当前热门话题。

参数:

  • woeid (int,可选):位置的地球ID(默认值:1表示全球)
    • 常见WOEIDs:1=全球,23424977=美国,2459115=纽约

例子:

search_trending_topics(woeid=1)  # Get worldwide trends

3. search_topics

在X/Twitter上搜索特定用户生成的主题。

参数:

  • query (str):要搜索的搜索查询/主题
  • max_results (int,可选):返回的最大推文数(默认值:10,最大值:100)
  • sort_order (str,可选):排序顺序-“recenty”或“correlation”(默认:“recent”)

例子:

search_topics(query="AI news", max_results=25, sort_order="relevancy")

API费率限制

X API有费率限制。此服务器使用 wait_on_rate_limit=True 通过等待达到限制来自动处理速率限制。

许可证

麻省理工学院