thread-storm
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TWITTER_API_KEY | Yes | OAuth 1.0a consumer API key | |
| THREADS_APP_SECRET | Yes | App secret from Meta developer app | |
| TWITTER_API_SECRET | Yes | OAuth 1.0a consumer API secret | |
| THREADS_ACCESS_TOKEN | Yes | Long-lived token from Meta's User Token Generator | |
| TWITTER_ACCESS_TOKEN | Yes | OAuth 1.0a user access token | |
| TWITTER_ACCESS_TOKEN_SECRET | Yes | OAuth 1.0a user access token secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| threads_get_profileA | Fetch the authenticated user's Threads profile information. Returns: JSON string with profile data including id, username, name, bio, and profile picture URL. |
| threads_get_postsA | Fetch the authenticated user's recent Threads posts. Args: limit: Maximum number of posts to return (default 25). cursor: Pagination cursor from a previous response to fetch the next page. Returns: JSON string with a list of posts and pagination info (next cursor if available). |
| threads_get_post_detailsA | Fetch detailed information about a specific Threads post. Args: post_id: The ID of the post to retrieve. Returns: JSON string with post details including text, timestamp, media type, permalink, and quote status. |
| threads_get_post_insightsA | Fetch engagement metrics for a specific Threads post. Args: post_id: The ID of the post to get insights for. Returns: JSON string with metric name/value pairs for views, likes, replies, reposts, quotes, and shares. |
| threads_get_repliesA | Fetch direct replies to a specific Threads post. Returns only single-level direct replies, not recursive thread reconstruction. Args: post_id: The ID of the post to get replies for. limit: Maximum number of replies to return (default 25). Returns: JSON string with a list of replies including id, text, timestamp, and username. |
| threads_searchA | Search Threads for posts matching a keyword query. Note: The Threads API allows 500 keyword search queries per rolling 7-day period. Args: query: The search query string. limit: Maximum number of results to return (default 25). Returns: JSON string with matching posts including id, text, timestamp, and permalink. |
| threads_get_account_insightsA | Fetch account-level engagement metrics for the authenticated user. Args: period: Time period for metrics. Valid values: "day", "week", "days_28", "lifetime". Returns: JSON string with account metrics including views, likes, and followers count. |
| threads_publish_textA | Publish a text post to Threads, optionally as a reply to another post. Use reply_to_id to chain posts into a thread (each post replies to the previous one). Limit: 250 API-published posts per 24-hour window. Max 500 characters per post. Args: text: The text content to publish. reply_to_id: Optional post ID to reply to (for building threads). Returns: JSON string with the published post ID and permalink. |
| threads_publish_threadA | Publish a full thread (multiple posts chained as replies) to Threads. Takes a list of text strings and publishes them sequentially. The first post becomes the root, and each subsequent post replies to the previous one. Args: posts: List of text strings to publish as a thread (7-12 posts typical). Returns: JSON string with all published post IDs, permalinks, and the root permalink. |
| twitter_get_profileA | Fetch the authenticated user's Twitter/X profile information. Returns: JSON string with profile data including id, username, name, bio, and follower counts. |
| twitter_publish_textA | Publish a tweet to Twitter/X, optionally as a reply to another tweet. Args: text: The tweet content (280 chars standard, 25000 for Premium). reply_to_id: Optional tweet ID to reply to. Returns: JSON string with the published tweet ID and permalink. |
| twitter_publish_threadA | Publish a full thread (multiple tweets chained as replies) to Twitter/X. Args: posts: List of text strings to publish as a tweet thread. Returns: JSON string with all published tweet IDs and permalinks. |
| storm_publish_threadA | Publish a thread to BOTH Threads and Twitter/X simultaneously. This is the hero tool. Takes a list of text strings and publishes them as a connected thread on both platforms in parallel. Threads posts are slower (container polling + propagation delays) while Twitter is near-instant. Args: posts: List of text strings to publish as a thread on both platforms. Returns: JSON string with results from both platforms including post IDs and permalinks. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/asadhuddleduck/thread-storm'
If you have feedback or need assistance with the MCP directory API, please join our Discord server