Card snapshot
opentweet.io
·
2026-10-02 05:46:19 UTC
·
e64a69eb66b83cb7b663d227b53be4a0224e805c95815a87a2506adf6dc443e7
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"$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"
}
}