Spectre
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TWS_PROXY | No | twscrape's own proxy env (lower priority) | |
| SPECTRE_DB | No | Account pool SQLite path | ~/.twscrape/spectre.db |
| SPECTRE_PROXY | No | Global proxy (e.g., socks5://user:pass@host:port) | |
| TWS_HTTP_BACKEND | No | Set to `curl` for TLS fingerprinting | httpx |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List all accounts in the pool with their status. Shows username, state (active/error/locked), and any error messages. Use this to check which accounts are available before operations. Returns: JSON array of accounts with status details. |
| set_active_accountA | Set a specific account as the primary account for all operations. The named account will be used first for reads and writes. If it gets rate-limited, the pool falls back to other active accounts. |
| set_auto_rotateA | Enable or disable automatic account rotation on rate limits. When enabled (default): if the current account hits a rate limit, Spectre automatically switches to the next available account. The agent sees a note that rotation happened. When disabled: only the account set via set_active_account() is used. Rate limits are returned as errors instead of rotating silently. Use this when you're managing a specific account and don't want operations accidentally going through a different account. |
| remove_accountC | Remove an account from the pool. |
| pool_statusA | Check account pool health — how many accounts are active, locked, or errored. Returns: JSON with pool statistics and per-account status. |
| searchC | Search X/Twitter for tweets matching a query. |
| search_usersB | Search X/Twitter for users by name or keyword. |
| get_userA | Get a user's X/Twitter profile by @handle. |
| get_user_tweetsB | Get a user's recent tweets. |
| get_user_mediaB | Get a user's media tweets (photos, videos, GIFs). |
| get_followersC | Get a user's followers. |
| get_followingC | Get who a user follows. |
| get_tweetB | Get a single tweet by its ID. |
| get_tweet_repliesC | Get replies to a tweet. |
| get_threadA | Get the full conversation thread a tweet belongs to. |
| get_retweetersB | Get users who retweeted a tweet. |
| get_trendsC | Get trending topics on X/Twitter. |
| get_home_timelineB | Get the authenticated user's home timeline feed. |
| get_list_timelineC | Get tweets from an X/Twitter list. |
| get_list_membersA | Get members of an X/Twitter list. |
| get_community_tweetsB | Get tweets from an X/Twitter community. |
| get_community_infoB | Get details about an X/Twitter community. |
| get_bookmarksA | Get the authenticated user's bookmarked tweets. |
| post_tweetC | Post a new tweet on X/Twitter. |
| upload_mediaA | Upload an image or video for use in tweets. Uses cookie-based auth. No API keys needed. Supports: jpg, png, gif, webp, mp4, mov (up to 5MB images, 512MB video). |
| delete_tweetB | Delete a tweet you posted. |
| like_tweetC | Like a tweet. |
| unlike_tweetB | Unlike a tweet. |
| retweetC | Retweet a tweet. |
| unretweetB | Undo a retweet. |
| bookmark_tweetC | Bookmark a tweet. |
| unbookmark_tweetC | Remove a bookmark. |
| follow_userB | Follow a user on X/Twitter. |
| unfollow_userB | Unfollow a user on X/Twitter. |
| mute_userB | Mute a user on X/Twitter. |
| unmute_userA | Unmute a user on X/Twitter. |
| block_userB | Block a user on X/Twitter. |
| unblock_userB | Unblock a user on X/Twitter. |
| send_dmB | Send a direct message to a user. |
| get_dm_inboxB | Get DM inbox — list recent direct message conversations. |
| get_dm_conversationB | Get messages in a direct message conversation. |
| create_listB | Create a new X/Twitter list. |
| update_listA | Update an X/Twitter list's name/description. |
| add_list_memberA | Add a user to an X/Twitter list. |
| remove_list_memberA | Remove a user from an X/Twitter list. |
| join_communityB | Join an X/Twitter community. |
| leave_communityB | Leave an X/Twitter community. |
| schedule_tweetA | Schedule a tweet for future posting. |
| get_scheduled_tweetsA | Get all scheduled tweets. Returns: JSON with list of scheduled tweets. |
| delete_scheduled_tweetB | Delete a scheduled tweet. |
| create_draftA | Save a tweet draft (not published). |
| get_draftsA | Get all draft tweets. Returns: JSON with list of drafts. |
| delete_draftB | Delete a draft tweet. |
| edit_draftC | Edit an existing draft tweet. |
| edit_scheduled_tweetC | Edit an existing scheduled tweet. |
| get_bookmark_foldersA | Get all bookmark folders. Returns: JSON with list of bookmark folders. |
| create_bookmark_folderB | Create a bookmark folder. |
| delete_bookmark_folderC | Delete a bookmark folder. |
| edit_bookmark_folderB | Rename a bookmark folder. |
| add_tweet_to_folderB | Add a bookmarked tweet to a folder. |
| remove_tweet_from_folderB | Remove a tweet from a bookmark folder. |
| delete_listC | Delete an X/Twitter list. |
| follow_topicC | Follow a topic on X/Twitter. |
| unfollow_topicB | Unfollow a topic on X/Twitter. |
| get_community_notesC | Get community notes on a tweet. |
| rate_community_noteB | Rate a community note as helpful or not helpful. |
| get_account_settingsA | Get the authenticated account's settings (language, timezone, country, etc.). Returns: JSON with account settings including language, country, timezone, protected status, etc. |
| update_profileA | ⚠️ DESTRUCTIVE — Update the authenticated account's profile info. WARNING: This immediately changes your public profile on X. All fields are optional — only provide the ones you want to change. Empty strings are ignored. |
| update_profile_imageA | ⚠️ DESTRUCTIVE — Change the profile avatar image. WARNING: This immediately replaces your current profile picture. Supported: jpg, png, gif (max 2MB recommended). |
| update_profile_bannerA | ⚠️ DESTRUCTIVE — Change the profile banner/header image. WARNING: This immediately replaces your current banner. Recommended size: 1500x500px. Supported: jpg, png, gif (max 5MB). |
| delete_profile_bannerA | ⚠️ DESTRUCTIVE — Remove the profile banner/header image. WARNING: This immediately removes your banner image. Returns: Confirmation JSON. |
| get_muted_accountsA | List all accounts you've muted. |
| get_blocked_accountsB | List all accounts you've blocked. |
| search_dmC | Search direct messages by text. |
| dm_block_userA | Block a user from sending you DMs. |
| dm_unblock_userB | Unblock a user from DMs. |
| pin_tweetA | ⚠️ DESTRUCTIVE — Pin a tweet to your profile (replaces any existing pinned tweet). WARNING: If you already have a pinned tweet, it will be unpinned automatically. Only one tweet can be pinned at a time. |
| unpin_tweetB | Unpin a tweet from your profile. |
| remove_followerC | ⚠️ DESTRUCTIVE — Remove a follower from your account. |
| pin_replyC | Pin a reply to a conversation. |
| unpin_replyB | Unpin a reply from a conversation. |
| get_followers_you_knowC | Get mutual followers (followers you know). |
| create_highlightB | Add tweets to your profile highlights section. |
| delete_highlightB | Remove a highlight from your profile. |
| get_user_highlightsA | Get a user's profile highlight tweets. |
| get_verified_followersB | Get Blue-verified followers of a user. |
| get_user_likesC | Get a user's liked tweets. |
| get_bookmark_folder_timelineC | Get tweets inside a specific bookmark folder. |
| search_dm_groupsC | Search DMs in group conversations. |
| get_dm_mutedC | Get muted DM conversations. |
| search_dm_peopleC | Search for people in DMs. |
| get_favoritersC | Get users who liked a tweet. |
| get_tweet_edit_historyC | Get edit history of a tweet. |
| get_similar_postsC | Get similar/related posts to a tweet. |
| clear_all_bookmarksA | ⚠️ DESTRUCTIVE — Delete ALL bookmarks. Cannot be undone. |
| search_bookmarksB | Search bookmarks by text. |
| subscribe_listC | Subscribe to a list. |
| unsubscribe_listC | Unsubscribe from a list. |
| get_list_membershipsC | Get lists a user is a member of. |
| get_list_ownershipsC | Get lists owned by a user. |
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/pranrichh/spectre-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server