← Back to directory
X

X Reader MCP Server

Community
Universal content reader: fetch structured content from any URL (articles, videos, podcasts, tweets).
GitHub source repository ↗
★ 955 Stars Category · Other Very popular Source revision 6085af9568f1
50FMRS · D
Reliability
6/20
Security and permissions
8/20
Maintenance
12/20
Documentation
14/20
Setup experience
10/20

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.

Read the FMRS scoring method →

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.

Tools

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

Setup

  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"]
    }
  }
}

Fit and risk

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.

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.

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 DesktopFull support