mcpField
T
twitter

twitter

github.com/tdimino生产力4158 次安装1 周前更新
代码仓库

关于 twitter

这是一项整合 X 研究、发布、会话操作与书签归档工具的技能,提供按任务选择工具的指南,并涵盖成本控制搜索及各模式的设置和操作说明。

主要功能

  1. 01成本跟踪搜索与查询扩展
  2. 02通过 xapi MCP 搜索完整历史
  3. 03官方 API 与 xurl 命令行指南
  4. 04使用 bird 进行浏览器会话读取和发布
  5. 05使用 smaug 归档书签与喜欢

适用场景

  1. 01用多个查询变体研究近期 X 话题
  2. 02搜索超过 7 天的 X 历史内容
  3. 03发布媒体、发送私信或调用 API 端点
  4. 04整理已保存的书签与喜欢

MCP 相关

说明如何通过 xurl 和 OAuth 2.0 连接 https://api.x.com/mcp 上的 xapi MCP 服务。其工具涵盖帖子、搜索、用户与时间线、书签、趋势和 Articles。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tdimino/claude-code-minoan --skill twitter

安装后在 Claude Code 中输入/twitter确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

codex-agent-guide.md
README.md
references/
pricing.md
query-expansion.md
setup.md
xurl-mcp-setup.md
x-search/
x-search.ts
x-search/data/
feedgroups.json
watchlist.json
x-search/lib/
api.ts
cache.ts
format.ts

详细介绍

Twitter/X — 多模式集成

五种工具;根据任务选择:

模式工具身份验证费用适用场景
托管 MCPxapi MCP 服务(通过 xurl 桥接)OAuth 2.0按使用付费全量档案搜索、趋势、书签、Articles、时间线
官方 APIx-searchBearer + OAuth 1.0a按使用付费,费用可追踪成本受控的研究、信息流、监控列表、发帖
官方 CLIxurlOAuth 1.0a + 2.0按使用付费任意端点:媒体上传、私信、原始 API 调用
会话bird浏览器 Cookie免费随手浏览、查看提及、发布媒体内容——趁它还能用
归档smaug通过 bird免费处理书签/点赞、AI 驱动的归档

定价经常变动(2026 年已经变了两次)——完整费率表和计费机制见 references/pricing.md。重点价格:读取帖子 $0.005,创建帖子 $0.015,带 URL 的帖子 $0.200,读取自有内容 $0.001,按 UTC 24 小时去重,每月读取上限 2M 次。

何时使用哪种工具

任务工具原因
搜索全量档案(超出 7 天范围)xapi MCP唯一能访问 X 完整历史记录的模式
按位置查看趋势、新闻xapi MCPX 专有功能,x-search 不提供
读取前估算推文数量x-search counts固定收费 $0.005,而读取按每条推文 $0.005 收费
按主题搜索近期推文x-search费用可追踪、带缓存、支持质量筛选
搜索宽泛主题、多种表述x-search multi扩展多个变体并行搜索,去重合并
从 URL 读取单条推文jina URL免费;唯一能用于 X 的抓取工具
获取关注账号的每日信息流x-search feed批量 OR 查询,费用低
监控特定账号x-search watchlist批量检查并追踪费用
发布文字推文或回复x-search post/reply内置 URL 附加费防护
发布带媒体的内容、发送私信、发布 Articlesxurl官方 CLI,支持分块上传
查看实际计费金额x-search usageGET /2/usage/tweets 提供实际数据
免费随手浏览/查看提及bird只要 Cookie 和 GraphQL 还能用,就免费
归档书签smaugAI 分类,输出 Markdown

托管 X MCP(xapi)

X 的首个官方 MCP 服务,地址为 https://api.x.com/mcp(于 2026 年 6 月推出)。包含六组工具:Posts、Search(包括全量档案)、Users/时间线、Bookmarks、按 WOEID 查看趋势、Articles。

已于 2026-07-15 在用户级别接入:xurl --app main mcp https://api.x.com/mcp,通过 main xurl 应用使用 OAuth 2.0 认证为 @IdaeanDaktyl(自动刷新)。使用 claude mcp list 检查运行状态(应显示 xapi ... ✔ Connected);如果身份验证失效,请重新运行 xurl auth oauth2 --app main。

每次工具调用都会按标准费率计费——使用 Agentic MCP 循环时,应像使用 x-search 深度搜索一样严格控制费用。设置、重新认证和只读 Bearer 回退方案:references/xurl-mcp-setup.md。

绝不要将 ~/.xurl(实时 OAuth 令牌)或技能 .env 中的值读入上下文。

x-search — 成本管控研究

运行方式:bun run ~/.claude/skills/twitter/x-search/x-search.ts <command> — 以下示例将此前缀简写为 x-search.ts;始终使用完整的 bun run 调用。

# Volume probe FIRST: $0.005 flat, histogram + read-cost projection
x-search.ts counts "claude code" --today

# Quick search (default for exploration): 1 page, max 10, noise filter, 1hr cache, ~$0.50
x-search.ts search "AI agents" --quick

# Calendar-day windows: --today = since local midnight; yesterday = bounded day
x-search.ts search "Claude Code" --today --quick
x-search.ts search "Claude Code" --since yesterday
x-search.ts search "query" --today --dry-run          # final query + cost ceiling, no API call

# Multi-query fan-out: expand per references/query-expansion.md, then merge + dedup
x-search.ts multi "anthropic fundraise" 'anthropic (raise OR funding OR "series F")' --today --quick

# Free search via bird session (looser relevance, $0.00)
x-search.ts search "query" --bird --today

# Full search
x-search.ts search "Claude Code" --pages 3 --sort likes --since 1d
x-search.ts search "Minoan archaeology" --markdown --save

# Profiles, threads, single tweets
x-search.ts profile AnthropicAI --count 10
x-search.ts thread 1234567890 --pages 3
x-search.ts tweet 1234567890

# Feeds from named account groups (geopolitics, palestine, all-feeds)
x-search.ts feed geopolitics --today
x-search.ts feed all-feeds --since 7d --markdown --save
x-search.ts feed imetatronink,Megatron_ron --since 1d --bird   # free via bird
x-search.ts feedgroup add tech kaboreas "K8s/infra"            # manage groups
# Feed flags: --today/--since, --limit N (default 4), --bird (free), --dry-run, --no-cache, --markdown, --save

# Watchlist (profile API — pricier)
x-search.ts watchlist add kikismith "Ancient art"
x-search.ts watchlist check

# Posting (OAuth 1.0a). URL posts are REFUSED unless --allow-url ($0.20 vs $0.015)
x-search.ts post "Hello from x-search!"
x-search.ts post "test text" --dry-run          # validate + show cost WITHOUT posting
x-search.ts reply 1234567890 "Great thread!"
x-search.ts delete 1234567890                    # delete own tweet ($0.01)

# Billed consumption (real spend, not estimates)
x-search.ts usage

关键标志(search + multi):

  • 时间:--today、--since Nm|Nh|Nd (e.g. 15m, 3h, 7d)|today|yesterday|ISO、--until <same specs> — profile 和 watchlist check 也接受 --today/--since
  • 范围:--quick、--pages 1-5、--from user、--quality、--min-likes N、--min-impressions N、--no-replies、--retweets(默认排除转推)
  • 模式:--bird(免费)、--dry-run(不调用 API)、--json、--markdown、--save;counts 另支持 --granularity minute|hour|day

拼错的标志会报错,而不会泄漏到查询中。支持命令别名(删除时使用 s、m、c、t、p、f、fg、wl、u、rm)。缓存:TTL 为 15 分钟(quick 为 1 小时),每次运行时自动清理;使用 cache clear 清空缓存。

测试或演示发帖/回复时,务必使用 --dry-run — 否则成功执行会发布一条实时推文。

本机已完成设置(在 ~/.claude/skills/twitter/.env 中配置 Bearer 和 OAuth 1.0a 密钥)。重新设置指南和凭据故障排除:references/setup.md。

研究方法
  1. 按照 references/query-expansion.md 将请求扩展为 3-4 个查询变体(字面查询 · 同义词/话题标签 OR 组 · from: 主要人物 · 排除噪声),2. 对最宽泛的变体运行 counts($0.005 — 付费读取前先了解数据量),3. 使用 multi --quick 扇出查询并评估信号,4. 使用 --from/--quality/--today/--since 优化查询,5. 展开高价值对话的完整线程,6. 使用 --pages 3 --markdown --save 深入研究最佳查询,7. 根据原始请求(而非匹配到的变体)综合结果。若答案早于 7 天窗口,请使用 xapi MCP(search_posts_all;get_posts_counts_recent 是 counts 的 MCP 对应工具)。

xurl — 官方 CLI

xurl /2/users/me                                   # any endpoint, OAuth handled
xurl -X POST /2/tweets -d '{"text": "hello"}'
xurl media upload photo.png                        # chunked media upload

已安装(v1.2.2)。身份验证注册和 MCP 桥接命令:references/xurl-mcp-setup.md。

bird CLI — 基于会话的操作(固定为 0.8.0)

通过浏览器 Cookie 使用未公开的 Twitter GraphQL API。免费,但上游已停止维护:steipete 删除了代码仓库和 brew tap(2026 年 2 月)。npm 仍提供最终版本 0.8.0(npm install -g @steipete/bird);源码镜像位于 github.com/LaceLetho/bird-cli-backup。经验证可在 2026-07-05 正常运行 — 但 X 一旦轮换 GraphQL 内部实现,就不会有修复。读取操作改用 xapi MCP / x-search,写入操作改用 xurl。Smaug 的抓取也有此风险(迁移方案:Owned Reads,每个资源 $0.001,参见 references/pricing.md)。

所有 bird 命令都必须传入 --cookie-source chrome,以避免访问 Safari Cookie 时出现 EPERM 警告。

发帖
bird --cookie-source chrome tweet "Hello world"
bird --cookie-source chrome reply 123456789 "Great thread!"
bird --cookie-source chrome tweet "With image" --media photo.png --alt "Description"
读取
bird --cookie-source chrome read 123456789
bird --cookie-source chrome thread https://x.com/user/status/123456789
bird --cookie-source chrome replies 123456789 --json
搜索(免费,通过 GraphQL)
bird --cookie-source chrome search "query" -n 10
bird --cookie-source chrome search "from:anthropic" -n 20 --json
监控
bird --cookie-source chrome mentions -n 10
bird --cookie-source chrome bookmarks -n 20
bird --cookie-source chrome likes -n 20
bird --cookie-source chrome following -n 50
bird --cookie-source chrome followers -n 50
维护
bird --cookie-source chrome whoami          # verify auth
bird --cookie-source chrome check           # credential sources
bird --cookie-source chrome query-ids --fresh  # refresh when Twitter rotates IDs
故障排除
  • 403 错误:浏览器 Cookie 已过期 — 在 Chrome 中登录 Twitter,然后运行 bird check
  • 查询 ID 错误:运行 bird query-ids --fresh(在 X 更改架构本身之前有效;之后 bird 就无法使用了)
  • 速率限制(429):等待几分钟

Smaug — 书签归档

cd ~/tools/smaug
npx smaug run                    # fetch + process with Claude
npx smaug fetch 20               # fetch only
npx smaug fetch --source likes   # likes instead of bookmarks
npx smaug run -t                 # track token costs
npx smaug status

输出:bookmarks.md、knowledge/tools/、knowledge/articles/。

随附文件

文件内容
references/pricing.md2026 年 7 月完整价格表、Owned Reads 端点、返利、去重和估算示例
references/query-expansion.md协议:将请求抽象为 3-4 个查询变体,使用 multi 扇出查询
references/xurl-mcp-setup.mdOAuth 2.0 应用设置、MCP 桥接配置、xurl 用法、可自托管的 xMCP
references/setup.mdBearer + OAuth 1.0a 凭据设置、bird/smaug 安装、凭据故障排除
codex-agent-guide.md面向 Codex CLI Agent 的自包含 x-search 指南(exa-search 模式)

相关工具

遇到以下情况时,请离开此技能:需要读取单条推文 URL(jina URL ——免费,也是唯一不会被 X 屏蔽的抓取工具);社交媒体搜索还涵盖 Reddit 和 Instagram(omnisearch 的 Xpoz 路由);或免费的浏览器会话操作比 API 调用更合适(opencli 的 twitter 命令;其文档已将深度研究转回 x-search)。

评论

支持 Markdown