
TwitterTools MCP
io.github.steleyv1.2.0Updated Oct 7, 2026
Fetch public X posts and threads; count and split text with X's real rules. No login, no tracking.
Overview
Lets an assistant fetch public X posts and threads, and count or split text using X's character rules.
- What it does
- Exposes five tools: get_tweet fetches a public post by URL or ID with text, author and direct media CDN links; get_thread unrolls a thread in order, flagging partial results; count_chars measures text against X's 280-character limit with CJK counted double and links as 23; split_thread breaks long text into numbered limit-fitting posts; parse_tweet_url converts a URL or ID into ID, handle, posting time and canonical permalink. The two fetch tools call a stateless remote API that resolves public posts through X's syndication endpoint; the other three run offline.
- When to use it
- Useful when an assistant needs to read public X posts or threads without logging in, or to draft and split posts that fit X's real character counting rules. Worth adding for social media research, content drafting, or link parsing workflows.
- Requirements
- Runs locally over stdio via npx (npm package twittertools-mcp) and needs Node 18 or newer. Network access is required for get_tweet and get_thread, which call the default API base at twittertools.com unless the optional TWITTERTOOLS_API_BASE environment variable points at a self-hosted instance. No accounts or API keys.
Installation
In SourceWeft
- Open TwitterTools MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
twittertools-mcp
Model Context Protocol server for
TwitterTools — brings the toolkit to AI agents
(Claude, ChatGPT, Cursor, ZCode, …). No login, no tracking, no API keys.
Listed in the official MCP Registry as io.github.steley/twittertools-mcp.
Tools
get_tweet / get_thread call the stateless twittertools.com
API, which resolves public posts through X's free syndication endpoint. The other
three run entirely offline. Media is not proxied: tweet results carry the
direct pbs.twimg.com / video.twimg.com URLs, which any client can fetch on its own.
The package has zero dependencies: the MCP protocol layer is hand-rolled (line-delimited JSON-RPC over stdio), so the entire supply-chain surface is the couple hundred lines in this directory — verifiable against Socket or any scanner.
Install
Or add it to any client that reads an mcpServers config
(Claude Desktop's claude_desktop_config.json, Cursor's .cursor/mcp.json, …):
Requires Node 18+.
Tip:
npxresolves the latest version from the registry on every launch (instant once cached, a few seconds the very first time). For zero startup delay,npm i -g twittertools-mcponce and set"command": "twittertools-mcp".
Self-hosting
Point TWITTERTOOLS_API_BASE at your own instance of
server/downloader_server.py to keep lookups entirely on your
infrastructure:
Privacy
The server is stateless: nothing is stored, no telemetry, no accounts. It talks only to the configured API base. The API itself is rate-limited per IP and keeps only aggregate, anonymous counters — see twittertools.com/privacy.
Development
MIT — same as the main project.
Source: mcp/README.md at commit 5540d11
Tools
0Version history
1- v1.2.0LatestOct 7, 2026


