iReader MCP
# iReader MCP
A Model Context Protocol (MCP) server that provides tools for reading and extracting content from internet.
## Installation
```bash
# Clone the repository
git clone https://github.com/zlatanpham/ireader-mcp.git
cd ireader-mcp
# Install dependencies
pnpm install
```
## Available Tools
| Tool | Description | Parameters |
| -------------------------------- | ----------------------------------------------------------- | ------------------------------------------------ |
| `get_webpage_markdown` | Fetches the content of a webpage using Jina reader. | `url`: string - The URL of the webpage to fetch |
| `get_youtube_transcript` | Fetches the transcript of a YouTube video. | `videoURL`: string - The YouTube video ID or URL |
| `get_tweet_thread` | Fetches the thread of a tweet. | `tweetURL`: string - The tweet URL or ID |
| `get_pdf` | Extracts text content from a PDF file. | `url`: string - The URL of the PDF file |
| `get_public_google_doc_markdown` | Fetches the markdown content of a public Google Doc by URL. | `url`: string - The public Google Doc URL |
## Testing the Tools
Run the following command to test the tools:
```bash
pnpm dev
```
## FAQ
### How to use with Claude Desktop or MCP Clients?
Follow the guide https://modelcontextprotocol.io/quickstart/user and add the following configuration:
```json
{
"mcpServers": {
"ireader": {
"command": "npx",
"args": ["-y", "@x-mcp/ireader@latest"]
}
}
}
```
or if you want to run the server locally, add the following configuration:
```json
{
"mcpServers": {
"ireader": {
"command": "npx",
"args": ["tsx", "/PATH/TO/YOUR_PROJECT/src/index.ts"]
}
}
}
```
The server will start and listen for MCP client connections via stdio.
## License
MIT
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose targeting a specific content source and format: PDF extraction, Google Doc fetching, tweet thread retrieval, webpage content via Jina Reader, and YouTube transcript fetching. There is no overlap in functionality, and an agent can easily distinguish between them based on the source type and output format.
All tool names follow a consistent verb_noun pattern with 'get_' as the prefix, followed by a descriptive noun phrase (e.g., get_pdf, get_public_google_doc_markdown). This uniformity makes the tool set predictable and easy to understand, with no deviations in naming style.
With 5 tools, the server is well-scoped for its purpose of content extraction from various sources. Each tool serves a distinct and necessary function, covering key content types (PDF, Google Docs, tweets, webpages, YouTube) without being overly broad or sparse, fitting typically within the 3-15 tool range for such a domain.
The tool set covers a broad range of common content sources (PDF, Google Docs, tweets, webpages, YouTube) with clear extraction capabilities, leaving no obvious dead ends. A minor gap might be the lack of tools for other formats like Word documents or private Google Docs, but the existing coverage is sufficient for most agent workflows in this domain.