
x-reader MCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants read X posts, YouTube, podcasts, WeChat and ordinary web pages and get back structured text.
x-reader reads a link for your assistant and returns structured content. It supports X/Twitter, YouTube, Bilibili, podcasts, WeChat, Xiaohongshu, Telegram, RSS and general web pages, and it marks reads as partial when part of the source (a video, say) was not read. It runs on your computer and the MCP tools need no account. The project ships as a CLI, a skill and a plugin as well, and the MCP server is one of those ways to use it.
Good for
- Researchers who want an assistant to read the original source, not a search snippet
- Writers who summarize X threads, videos and articles
- Developers who already run uv and want one reader for many sites
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install x-reader MCP
Claude Code
- 1
Copy this prompt.
Add the x-reader MCP server to Claude Code. Run this command: /plugin install x-reader --marketplace runesleo/x-reader Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires uv (Python).
Adapted from the uvx command in the project README (it launches the x-reader-mcp entry point from GitHub). Add a tag such as @v0.5.0 to the git URL to pin a release. The Plugin method is documented on the main branch README; the v0.5.0 release README does not list it, so it may need a newer commit than v0.5.0.
From the project README. Source.
Tools
Reads one link and returns its content as structured JSON
Fetches one link, picks the right reader for the site (X, YouTube, a podcast, a web page and so on) and returns the title, text and source details as JSON. It also saves the result to an inbox file on your machine, and may call helper programs such as yt-dlp for video.
Try: “Read this X thread and tell me what the original post says: https://x.com/example/status/123”
Runs code ·
read_urlReads several links at once and returns a list of results
Does the same as the single-link tool for a list of links in parallel. Use it when you have a reading list to go through. Results are saved to the same local inbox file.
Try: “Read these five article links and summarize each in two lines.”
Runs code ·
read_batchShows everything x-reader has already fetched
Returns the items stored in the local inbox file from earlier reads, so the assistant can reuse them without fetching again.
Try: “What links have you already read for me?”
Files ·
list_inboxSays which site reader a link would use
Tells you which handler x-reader would pick for a link, for example Twitter, YouTube or a generic web page, without fetching the page.
Try: “Which platform does this link belong to: https://youtu.be/abc123?”
Read ·
detect_platform
Read from the source code
Permissions
medium risk · 5 things to watch
Medium risk
The assistant can fetch any link you give it, send some links to a third-party reader and save results to a local file. Run it from a folder where saved files are fine and pin a release tag in the launch command.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It saves what it reads to a local inbox file
Each read adds the result to unified_inbox.json, in the folder the server starts in. Delete that file if the pages were private. github.com
Some links pass through a third-party reader
The code sends some X and web addresses to Jina Reader (r.jina.ai) to get their text. Do not give it links you want to keep off third-party services. github.com
The suggested launch command tracks the main branch
The README's uvx command installs straight from GitHub with no version pinned, so each launch can run newer code. Pin a tag such as v0.5.0 if you want fixed code. github.com
Audio can go to Groq when a key is set
With GROQ_API_KEY set, video audio can be sent to the Groq transcription API. Leave the key unset to avoid that. github.com
SSE mode stays on localhost by default
The optional SSE mode binds to 127.0.0.1 and refuses 0.0.0.0 unless you pass the allow-external flag. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Talks to | Any site you ask it to read. Jina Reader (r.jina.ai) for some pages. Groq Whisper API only if you set GROQ_API_KEY |
|---|---|
| Sign-in and keys | The MCP tools need no account. Optional sources use their own settings, such as saved login sessions under ~/.x-reader and a Groq key for transcription. |
Questions
Is x-reader an official X, YouTube or WeChat server?
No. It is a community project by the developer runesleo, not made by X, Google or any of the sites it reads.
Does x-reader need an API key?
No, not for the four MCP tools. Some optional sources need extra setup, such as a saved login for logged-in pages, Telegram access, or a Groq key for audio transcription.
Does it run on my computer?
Yes. It runs locally over stdio, started with uvx, so uv must be installed. A hosted web beta of the same project exists separately.
Can Claude read X posts and YouTube videos with it?
Yes. It supports X/Twitter, YouTube, Bilibili, podcasts, WeChat, Xiaohongshu, Telegram, RSS and web pages. When a video or audio part was not read, the result is marked partial rather than complete.
Where does it save what it reads?
In a file named unified_inbox.json in the folder the server runs from. The server creates its inbox with the default path, so the INBOX_FILE setting from the README applies to the command-line tool, not to these MCP tools.
Can it run read-only?
No. Reading a link also saves it to the inbox file, and no read-only switch is documented.
How do I add it to Claude Code?
Use the plugin command in the Claude Code tab of the install box, or the claude mcp add command shown there. Claude Code 2.1.275 or later is needed for the plugin route.
Is it free?
Yes. The project is open source under the MIT license.
Information
updated Nov 2, 2026
- Publisher
- Community
- Transport
- stdio, SSE
- Auth
- None
- License
- MIT
- Last commit
- Oct 28, 2026
- Open issues
- 1
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 5Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com