
Xtracticle
com.xtracticlev3.2.0Updated Oct 3, 2026
Read public X (Twitter) posts, threads and X Articles as clean Markdown. Read-only, no auth.
Overview
Lets an assistant read public X (Twitter) posts, threads and X Articles as clean Markdown through a remote, read-only endpoint.
- What it does
- A remote MCP server exposing a single tool, read_x_post, over Streamable HTTP at the provider's /mcp endpoint. It converts public X posts, self-threads and X Articles into Markdown, with options for plain text, thread expansion and YAML front-matter. The same service also offers a Markdown HTTP API and web exports to PDF, EPUB, ZIP and text.
- When to use it
- Useful when an assistant needs to quote, summarize or archive public X content as text rather than scraping the site. It fits research, reading threads in full, and feeding posts into notes or knowledge bases.
- Requirements
- A remote MCP client that supports Streamable HTTP; no package, runtime, account, API key or environment variable is declared. Network access to the provider's endpoint is required.
Installation
In SourceWeft
- Open Xtracticle in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Other MCP clients
Add this to your client's mcpServers config.
{
"mcpServers": {
"xtracticle": {
"type": "http",
"url": "https://xtracticle.com/mcp"
}
}
}README
Xtracticle
Download X (Twitter) Articles, threads & posts as PDF, Markdown, EPUB/Kindle, text or a ZIP with images.
Free, open source, no login required.
[Xtracticle - Download X articles & threads as Markdown, Text or PDF | Product Hunt]
Features • Getting Started • Architecture • SEO & AI • API • Contributing
[React 19] [TypeScript] [Vite 6] [TailwindCSS 4] [Cloudflare Workers]Live: xtracticle.com — or just change x.com to xtracticle.com in any post URL.
Features
Export formats
Content
- 📝 X Articles — full Draft.js conversion: cover, inline images, videos, captions, embedded posts
- 🧵 Threads from any post — paste the first, a middle or the last post; the whole self-thread is assembled (other people's replies are excluded)
- 💬 Posts — line breaks, photos, videos and quoted posts
- 🔗 Flexible input — x.com, twitter.com, mobile, fxtwitter/vxtwitter/fixupx, nitter/xcancel links,
/i/web/status/, bare IDs, links inside shared text
Workflow
- 🔁 URL swap —
xtracticle.com/{user}/status/{id}opens a post directly, with rich link previews (Open Graph) when shared - 📚 Batch mode — up to 20 links → one ZIP of Markdown files
- 🔖 Bookmarklet and PWA share target (share from the X app on Android)
- 🔊 Listen — read aloud with the browser's text-to-speech
- 📱 iPhone/iPad Shortcut — share a post from the X app straight to Xtracticle (
public/shortcuts/) - 🤖 MCP server + Markdown API — AI assistants read X posts as Markdown (
/mcp,/api/markdown/:id) - 📜 History, 🌙 dark mode, 🌍 English, Español, Português, 日本語, 简体中文, العربية, Türkçe (Arabic is right-to-left)
- 📈 Analytics events —
extract,download(format),copy,share,listen,batch_extract, errors — in GA4
Getting Started
The dev server runs at http://localhost:5173. /api/* is served by the same handler as the Worker (src/shared/api.ts), and every landing page is rendered on the fly — no wrangler needed.
Deployment
Cloudflare Workers + Static Assets, deployed automatically on push to main (build: npm run build, deploy: npx wrangler deploy). No environment variables.
wrangler.json:
run_worker_first— only/api/*,/mcp,/video/*and/*/status/*hit the Worker; everything else is served straight from the CDNnot_found_handling: "404-page"— unknown URLs return a real404(no soft-404s)public/_headers— security headers,Link: </llms.txt>, download headers for the iOS Shortcut
Architecture
Heavy export libraries are dynamically imported, so the initial page only loads React + the app.
SEO & AI Discoverability
API
Tweet mirrors the FxTwitter status object (text, author, media, quote, article, …). Responses are edge-cached for 5 minutes — please be gentle.
Weekly “Best X Articles”
/best-x-articles is a hand-reviewed weekly selection built from site/curated/*.json (title, author and a one-sentence summary in our own words — never the article text).
The newest issue is shown on /best-x-articles (its /best-x-articles/<week> page canonicals to the hub until the next issue); older issues stay at /best-x-articles/<week>.
Contributing
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes
- Open a Pull Request
Notes:
- Landing page copy lives in
site/pages.ts; runnpm run buildto see the generated HTML - Keep
src/shared/*free of DOM/Node-only APIs — it runs in both the Worker and the dev server - Test Worker-only behavior (SSR, 404, headers) with
npm run preview:worker
License
MIT
Source: README.md at commit 5f58f88
Tools
0Version history
1- v3.2.0LatestOct 3, 2026