OpenTweet
opentweet.io
Post and schedule to X, Bluesky and LinkedIn via MCP. Create, schedule and publish posts and threads, view X analytics, run an evergreen content queue, find inspiration, and generate AI images and video, all from your AI assistant.
opentweet.io via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
F
Conformance score: 19/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-10-02 05:46:19 current | e64a69eb66b8… |
view → |
Skills · 1 declared · mapped to canonical taxonomy
Post and schedule to X, Bluesky and LinkedIn via MCP. Create, schedule and publish posts and threads, view X analytics, run an evergreen content queue, find ins…
Health · last 1 probes
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/opentweet.io) [](https://agenstry.com/agents/opentweet.io) [](https://agenstry.com/agents/opentweet.io) [](https://agenstry.com/agents/opentweet.io)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
"name": "OpenTweet",
"description": "Post and schedule to X, Bluesky and LinkedIn via MCP. Create, schedule and publish posts and threads, view X analytics, run an evergreen content queue, find inspiration, and generate AI images and video, all from your AI assistant.",
"url": "https://opentweet.io",
"documentation_url": "https://opentweet.io/twitter-mcp-server",
"source_url": "https://github.com/opentweetio/mcp-server",
"npm_package": "@opentweet/mcp-server",
"version": "1.3.0",
"protocol_version": "2025-06-18",
"remotes": [
{
"type": "streamable-http",
"url": "https://mcp.opentweet.io/mcp",
"headers": [
{
"name": "Authorization",
"description": "Bearer token using your OpenTweet API key (ot_ prefix). Get one at https://opentweet.io/developer",
"is_required": true,
"is_secret": true
}
]
}
],
"capabilities": {
"tools": true,
"resources": true,
"prompts": true
},
"tools": [
{
"name": "opentweet_create_tweet",
"description": "Create a tweet. Can save as draft, schedule for a specific time, or publish immediately to X."
},
{
"name": "opentweet_create_thread",
"description": "Create a Twitter/X thread (multiple connected tweets posted as a chain)."
},
{
"name": "opentweet_list_tweets",
"description": "List your tweets with optional filtering by status. Returns paginated results."
},
{
"name": "opentweet_get_tweet",
"description": "Get full details of a specific tweet by its ID."
},
{
"name": "opentweet_update_tweet",
"description": "Update an existing tweet. Can change text, category, schedule, or media. Cannot edit already-posted tweets."
},
{
"name": "opentweet_delete_tweet",
"description": "Permanently delete a tweet. If the tweet was published to X, it is also deleted from X by default."
},
{
"name": "opentweet_publish_tweet",
"description": "Publish an existing draft or scheduled tweet immediately to X/Twitter."
},
{
"name": "opentweet_schedule_tweet",
"description": "Schedule an existing draft tweet for a specific date and time."
},
{
"name": "opentweet_batch_schedule",
"description": "Schedule multiple tweets at once. Provide an array of post IDs with their scheduled dates."
},
{
"name": "opentweet_repurpose_tweet",
"description": "Repurpose an existing tweet with AI, transforming it into your own voice. Saves the result as a draft by default."
},
{
"name": "opentweet_upload_media",
"description": "Upload an image or video file to use in tweets. Returns a URL for create_tweet/update_tweet media_urls."
},
{
"name": "opentweet_generate_image",
"description": "Generate an AI image from a text prompt using Grok Imagine (xAI). Returns a permanent URL ready to use in tweets."
},
{
"name": "opentweet_generate_video",
"description": "Generate an AI video from a text prompt using Grok Imagine (xAI). Starts the job and polls until complete."
},
{
"name": "opentweet_get_analytics",
"description": "Get your posting analytics including stats, streaks, trends, category breakdown, and recent activity."
},
{
"name": "opentweet_get_top_posts",
"description": "Get your top-performing tweets ranked by engagement or another metric."
},
{
"name": "opentweet_get_profile_growth",
"description": "Get your profile growth metrics over time (followers and engagement trends)."
},
{
"name": "opentweet_get_best_times",
"description": "Get the best times to post on X based on your historical engagement data."
},
{
"name": "opentweet_analyze_best_times",
"description": "Trigger a fresh analysis of your posting history to find the best times to post."
},
{
"name": "opentweet_get_content_gaps",
"description": "Get your content gaps \u2014 topics and angles you have not covered recently."
},
{
"name": "opentweet_search_inspiration",
"description": "Search X/Twitter for high-performing tweets to find content inspiration, with engagement metrics."
},
{
"name": "opentweet_get_account",
"description": "Get your OpenTweet account status: subscription plan, daily posting limits, post counts, and connected X accounts."
},
{
"name": "opentweet_list_accounts",
"description": "List your connected X/Twitter accounts. Use the account IDs with the x_account_id parameter in other tools."
},
{
"name": "opentweet_get_evergreen_settings",
"description": "Get your evergreen queue settings and pool statistics."
},
{
"name": "opentweet_update_evergreen_settings",
"description": "Update evergreen queue settings: active state, posts per day, posting times, and default cooldown."
},
{
"name": "opentweet_list_evergreen_posts",
"description": "List posts in your evergreen pool that will be automatically reposted on rotation."
},
{
"name": "opentweet_get_evergreen_post",
"description": "Get full details of a specific evergreen post including its recent publishing history."
},
{
"name": "opentweet_add_to_evergreen",
"description": "Add a post to the evergreen queue pool, by existing post ID or as new evergreen text."
},
{
"name": "opentweet_update_evergreen_post",
"description": "Update an evergreen post \u2014 its content, cooldown, or paused state."
},
{
"name": "opentweet_remove_from_evergreen",
"description": "Remove a post from the evergreen pool. The post is converted back to a regular draft, not deleted."
},
{
"name": "opentweet_get_evergreen_history",
"description": "View the publishing history of evergreen posts \u2014 clones created and posted from the pool."
},
{
"name": "opentweet_create_article",
"description": "Create a long-form X Article with a title and markdown body. Save as draft or schedule for later."
},
{
"name": "opentweet_get_article",
"description": "Get full details of a specific X Article by its ID."
},
{
"name": "opentweet_list_articles",
"description": "List your X Articles with optional status filtering."
},
{
"name": "opentweet_update_article",
"description": "Update an existing X Article: title, body, or schedule. Cannot edit already-published articles."
},
{
"name": "opentweet_publish_article",
"description": "Publish a draft or scheduled X Article immediately. Requires an X Premium account (any Premium tier)."
},
{
"name": "opentweet_delete_article",
"description": "Delete an X Article. If it was published, it is also removed from X."
}
],
"install": {
"hosted": {
"url": "https://mcp.opentweet.io/mcp",
"config": {
"mcpServers": {
"opentweet": {
"type": "streamable-http",
"url": "https://mcp.opentweet.io/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
},
"npx": "npx -y @opentweet/mcp-server",
"config": {
"mcpServers": {
"opentweet": {
"command": "npx",
"args": [
"-y",
"@opentweet/mcp-server"
],
"env": {
"OPENTWEET_API_KEY": "YOUR_API_KEY"
}
}
}
}
},
"auth": {
"type": "api_key",
"env_var": "OPENTWEET_API_KEY",
"instructions": "Get your API key at https://opentweet.io/developer"
},
"categories": [
"social-media",
"content-creation",
"twitter",
"scheduling",
"marketing"
],
"pricing": {
"model": "freemium",
"free_tier": "7-day trial",
"paid_from": "$11.99/month"
}
}