← Back to directory
X

X Reader MCP Server

Community
Universal content reader: fetch structured content from any URL (articles, videos, podcasts, tweets).
Category
Other
Stars
★ 966 Very popular
Transport
stdio (local process)
Runtime
Python 3.10+
Credentials
Optional API key
License
MIT
Last commit
Tools
4
50FMRS · D

This server provides a flexible solution for multi-platform content extraction with easy integration. However, it requires many optional dependencies and may involve login sessions; users should be aware of the associated risks.

Strongest · Documentation 14/20 Weakest · Reliability 6/20

Reliability
6/20
Security and permissions
8/20
Maintenance
12/20
Documentation
14/20
Setup experience
10/20
Why each score
Reliability 6/20
Static review shows a clear project structure and an MCP server entry point (mcp_server.py), but no actual CI or test evidence is provided. The README claims four tools, but source code does not fully verify their behavior. Dependencies (Jina, Playwright, Telethon, etc.) may cause startup or runtime issues. Error handling and edge cases are not well demonstrated. Therefore, reliability is low because key paths' reproducibility is not verified.
Security and permissions 8/20
The project uses environment variables for API keys (e.g., GROQ_API_KEY) and Telegram credentials, and instructs users to configure them; no hardcoded secrets found. Playwright sessions are used for scraping with login, but external access is restricted (e.g., X_READER_ALLOW_EXTERNAL_SESSION_COOKIES). No malicious behavior or data exfiltration risks detected. However, permission management (user confirmation) and data flow disclosure are not detailed enough, so not full marks.
Maintenance 12/20
Repository has MIT license, not archived, 952 stars, but open issues count is 0, possibly due to quick closure or not tracked. No version releases or dependency update records seen. Maintenance activity cannot be fully confirmed from static files, but project seems active. Overall, good maintenance but gaps in governance and versioning.
Documentation 14/20
README provides detailed instructions for installation, usage, configuration, and platform support, including CLI, library, MCP server, and Claude Code skills. Config variables, dependencies, and troubleshooting (like login commands) are listed. However, tool parameters, limitations, and costs (e.g., API fees) are not detailed, and troubleshooting section is incomplete. Documentation is usable but has hidden assumptions.
Setup experience 10/20
Installation steps are clear, with pip and local clone options, including optional dependencies (Telegram, browser) and Playwright installation. MCP server requires cloning and running python mcp_server.py, with client config example provided. However, setup may be complex, requiring additional system dependencies (like ffmpeg), and no automated install script. Port/process management not detailed, so score is moderate.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesWrites / deletes local filesUses the networkControls a browser

Best for

  • Content aggregators or AI agents that need to extract content from multiple sources.
  • Developers and researchers who want quick structured content from social media or articles.
  • Users of Claude Code who want AI analysis based on videos/podcasts.

Not for

  • Users needing real-time streaming or live data scraping.
  • Users expecting a zero-dependency MCP server out of the box without installing extras like ffmpeg or Playwright.
  • Users who need to access login-required sites without configuring session persistence.

Required permissions

  • Reads URLs and makes network requests.
  • Optionally saves browser sessions via 'x-reader login' for gated content.
  • Optionally accesses environment variables like GROQ_API_KEY for Whisper transcription.
  • Optionally writes to local files (e.g., inbox JSON, Markdown output).

Risks and side effects

  • Scraping websites may violate their terms of service.
  • Saved browser sessions may include sensitive information; handle securely.
  • External APIs (like Groq) may have rate limits or costs.
  • Content may be copyrighted; ensure legal use.

Setup

Before you start

Runtime:Python 3.10+

TG_API_ID optionalsecret Telegram API ID, needed only for fetching Telegram content; get it from https://my.telegram.org.
TG_API_HASH optionalsecret Telegram API Hash, needed only for fetching Telegram content; get it from https://my.telegram.org.
GROQ_API_KEY optionalsecret Groq API key, needed only for Whisper transcription; get a free key at https://console.groq.com/keys.
Other optional settings (4)
INBOX_FILE optional Path to the inbox JSON file, defaults to ./unified_inbox..
OUTPUT_DIR optional Directory for Markdown output, disabled by default.
OBSIDIAN_VAULT optional Path to an Obsidian vault; when set, writes to 01-收集箱/x-reader-inbox.md.
X_READER_ALLOW_EXTERNAL_SESSION_COOKIES optional Set to 1 to let Jina use your locally saved X session for gated Articles; off by default.
  1. Clone the repository: git clone https://github.com/runesleo/x-reader.git
  2. Change directory: cd x-reader
  3. Install dependencies: pip install -e ".[mcp]"
  4. Run the MCP server: python mcp_server.py
  5. Configure Claude Desktop: add mcpServers to your config file, specifying command and args.
claude_desktop_config.json
{
  "mcpServers": {
    "x-reader": {
      "command": "python",
      "args": ["/path/to/x-reader/mcp_server.py"]
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "x-reader": {
      "command": "python",
      "args": [
        "/path/to/x-reader/mcp_server.py"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add x-reader -- python /path/to/x-reader/mcp_server.py

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After starting the MCP server, the client tool list should show read_url, read_batch, list_inbox, and detect_platform; calling detect_platform with any URL and getting a platform name back confirms the connection works.

Troubleshooting

  1. 1. Ensure Python 3.10+ is installed.
  2. 2. For video transcription, install ffmpeg and set GROQ_API_KEY.
  3. 3. For Playwright fallback, run 'playwright install chromium'.
  4. 4. Check network connectivity to the target URLs.
  5. 5. If MCP connection fails, verify the mcp_server.py path and that dependencies are installed.

Things to try

Once connected, you can ask your AI assistant things like:

  • Read the content of this article: https://mp.weixin.qq.com/s/abc123
  • Use detect_platform to identify which platform this URL belongs to: https://x.com/elonmusk/status/123456
  • Fetch both of these URLs concurrently: https://url1.com and https://url2.com
  • Show me the content I previously fetched (list_inbox)

Tools 4

read_url read-only
Fetch content from any URL and return in a unified structured format.
read_batch read-only
Fetch content from multiple URLs concurrently.
list_inbox read-only
View previously fetched content.
detect_platform read-only
Identify the platform of a given URL.

Use cases

Extract content from WeChat posts, tweets, YouTube videos, etc., for analysis.
Batch-fetch content from multiple URLs.
Get transcripts from YouTube, Bilibili, podcasts.
Embed fetched content into Claude Code workflows for AI-powered analysis.

Supported clients

Claude Desktop

Listed from the project's documentation, not tested by this site.

Overview

x-reader is a universal content reader that fetches structured content from multiple platforms. It uses a three-layer architecture: a Python CLI/library for basic content fetching, Claude Code skills for video transcription and AI analysis, and an MCP server for exposing as MCP tools. The MCP server provides four tools: read_url (fetch any URL), read_batch (fetch multiple URLs concurrently), list_inbox (view previously fetched content), and detect_platform (identify platform from URL). Supported platforms include YouTube, Bilibili, X/Twitter, WeChat, Xiaohongshu, Telegram, RSS, Xiaoyuzhou, Apple Podcasts, and more. For videos, it uses yt-dlp subtitles or Whisper transcription; for gated content, it uses a Playwright browser fallback. It is MIT licensed.

Similar servers

Telegram MCP server powered by Telethon to let MCP clients read chats, manage groups, and send/modify messages, media, contacts, and settings.

★ 1.8k · Tools 76 Compare with this →

Source revision 8a5bcdaf36f2 Data synced 2026-10-11 Read the FMRS scoring method