
Opentweet
io.opentweet由 opentweet.io 发布v1.1.3更新于 Oct 24, 2026
Manage your Twitter/X presence from any AI assistant — schedule, threads, and more
概览
让助手在 X(Twitter)上起草、排期并发布推文和长推串,管理常青内容队列,并查看账号分析数据。
- 可以做什么
- OpenTweet 提供 30 个面向 X/Twitter 发布的工具:创建推文和长推串,单条或批量排期(一次最多 50 条),更新、删除和发布草稿,以及改写复用内容。还包括媒体上传与 AI 图片/视频生成、热门推文与粉丝增长及最佳发布时间等分析、常青内容循环队列,以及通过账号标识进行多账号管理。另提供账号状态和排期队列的 MCP 资源以及内置提示词。
- 适用场景
- 适合让助手把草稿或博客文章转成排期的 X 内容、按推荐时间填充发布日历、查看表现最好的推文,或维护循环复用的常青内容队列,而无需自行搭建 X 开发者应用。
- 运行要求
- 需要本地 Node.js 运行环境以通过 stdio 运行 npm 包 @opentweet/mcp-server,或使用厂商托管端点。需要 OpenTweet API 密钥(前缀 ot_),通过环境变量 OPENTWEET_API_KEY 或 Authorization Bearer 请求头提供,并在 OpenTweet 控制台一次性连接 X 账号。需要付费订阅。
安装
在 SourceWeft 中
- 打开 控制台中的 Opentweet,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
OpenTweet MCP Server
Post, schedule, and thread on X (Twitter), Bluesky and LinkedIn from Claude, Cursor, ChatGPT, Windsurf, or any MCP client. 44 tools covering posts, threads, cross-posting, scheduling, CSV import, long-form Articles, an evergreen queue, analytics, AI media generation, DM campaigns, and multi-account management.
No X developer account, no OAuth app setup, no pay-per-call API billing. OpenTweet owns the X connection; your agent gets simple tools.
Quick start: hosted server (recommended)
Nothing to install. Point your MCP client at the hosted Streamable HTTP endpoint:
Claude Code, one command:
Or any MCP client config (Claude, Cursor, Windsurf, ChatGPT connectors):
Get your API key (prefix ot_) at opentweet.io/developer. Connect your X account once in the dashboard; the key covers everything else.
Other install options
Claude Desktop extension (one click)
Download the .mcpb extension from opentweet.io/claude-desktop and double-click it. Your API key is stored in the OS keychain.
To build a bundle from this repo:
That compiles TypeScript, installs production dependencies only, and writes opentweet-<package.json version>.mcpb. Bump the version in both package.json and manifest.json before building, otherwise the output overwrites the bundle already in the repo. The tool list in manifest.json is what Claude Desktop shows before install, so keep it in step with the tools the server registers.
Local via npm
Or add manually:
Config file locations:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows) - Cursor:
~/.cursor/mcp.json - Windsurf:
~/.codeium/windsurf/mcp_config.json
The 44 tools
Tweets and threads
create_tweet, create_thread, list_tweets, get_tweet, update_tweet, delete_tweet, publish_tweet, schedule_tweet, batch_schedule (up to 50 at once), import_csv (AI writes a post per row, scheduled from the row's date and time), repurpose_tweet
create_tweet and create_thread take an optional platforms array. Pass ["x", "bluesky", "linkedin"] to publish the same content to all three networks in one call, or ["linkedin"] to post to LinkedIn only. LinkedIn posts go to the connected personal profile, and a thread goes to LinkedIn as one post. An explicit list is always honoured exactly.
Leaving platforms out is not the same as pinning the post to X. An unspecified post follows the account's auto cross-post setting: when that is on, it goes to every connected network. Call list_platforms first if you need to know where an unspecified post will land. It separates what an unspecified post is attempted on from the subset that will actually land, and separates connected from usable, so a network whose authorisation expired shows as needing a reconnect instead of looking healthy. Either way the response carries a per-network result so you can see what published, failed, or was skipped.
Media and AI generation
upload_media, generate_image, generate_video
Analytics and insights
get_analytics, get_top_posts, get_profile_growth, get_best_times, analyze_best_times, get_content_gaps, search_inspiration
Account and cross-posting
get_account, list_accounts (multi-account: pass x_account_id to any tool), list_platforms (what an unspecified post targets, the auto cross-post setting, and which networks can publish right now)
Evergreen queue
get_evergreen_settings, update_evergreen_settings, list_evergreen_posts, get_evergreen_post, add_to_evergreen, update_evergreen_post, remove_from_evergreen, get_evergreen_history
Articles (long-form X posts)
create_article, get_article, list_articles, update_article, delete_article, publish_article
DM campaigns (Advanced and Agency plans)
dm_campaign_create, dm_campaign_list, dm_campaign_report, dm_leads_list, dm_lead_approve, dm_inbox_list
Plus MCP resources (account status, scheduled queue) and built-in prompts.
Example prompts
- "Write 3 tweets about TypeScript tips and schedule them across this week at my best posting times."
- "Turn this blog post into a thread and schedule it for tomorrow 9am."
- "What were my top 5 tweets this month? Add the best one to my evergreen queue."
- "Check my posting streak and content gaps, then draft tweets to fill them."
How it compares
X's official MCP server (XMCP) exposes the raw X API and can post, but it requires an X developer account, OAuth app credentials, and pay-per-use API billing, and it has no scheduling. OpenTweet is the managed publishing layer: flat pricing from $19.99/month, scheduling, threads, evergreen recycling, and analytics included. Full comparison: opentweet.io/mcp/post-to-x.
Links
- Setup guide: opentweet.io/twitter-mcp-server
- REST API docs: opentweet.io/docs/api
- Pricing: opentweet.io/pricing (7-day free trial)
- npm: @opentweet/mcp-server
License
MIT
来源:README.md,提交 3032d3f
工具
0版本历史
1- v1.1.3最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分