mcp-jinaai-reader

mcp-jinaai-reader

28

The mcp-jinaai-reader is an MCP server that integrates Jina.ai's Reader API with LLMs for advanced web content extraction. It features efficient content retrieval and optimized text extraction, although it is no longer maintained.

mcp-jinaai-reader


⚠️ Notice

This repository is no longer maintained.

The functionality of this tool is now available in mcp-omnisearch, which combines multiple MCP tools in one unified package.

Please use mcp-omnisearch instead.


A Model Context Protocol (MCP) server for integrating Jina.ai's Reader API with LLMs. This server provides efficient and comprehensive web content extraction capabilities, optimized for documentation and web content analysis.

Features

  • 📚 Advanced web content extraction through Jina.ai Reader API
  • 🚀 Fast and efficient content retrieval
  • 📄 Complete text extraction with preserved structure
  • 🔄 Clean format optimized for LLMs
  • 🌐 Support for various content types including documentation
  • 🏗️ Built on the Model Context Protocol

Configuration

This server requires configuration through your MCP client. Here are examples for different environments:

Cline Configuration

Add this to your Cline MCP settings:

{
	"mcpServers": {
		"jinaai-reader": {
			"command": "node",
			"args": ["-y", "mcp-jinaai-reader"],
			"env": {
				"JINAAI_API_KEY": "your-jinaai-api-key"
			}
		}
	}
}

Claude Desktop with WSL Configuration

For WSL environments, add this to your Claude Desktop configuration:

{
	"mcpServers": {
		"jinaai-reader": {
			"command": "wsl.exe",
			"args": [
				"bash",
				"-c",
				"JINAAI_API_KEY=your-jinaai-api-key npx mcp-jinaai-reader"
			]
		}
	}
}

Environment Variables

The server requires the following environment variable:

  • JINAAI_API_KEY: Your Jina.ai API key (required)

API

The server implements a single MCP tool with configurable parameters:

read_url

Convert any URL to LLM-friendly text using Jina.ai Reader.

Parameters:

  • url (string, required): URL to process
  • no_cache (boolean, optional): Bypass cache for fresh results. Defaults to false
  • format (string, optional): Response format ("json" or "stream"). Defaults to "json"
  • timeout (number, optional): Maximum time in seconds to wait for webpage load
  • target_selector (string, optional): CSS selector to focus on specific elements
  • wait_for_selector (string, optional): CSS selector to wait for specific elements
  • remove_selector (string, optional): CSS selector to exclude specific elements
  • with_links_summary (boolean, optional): Gather all links at the end of response
  • with_images_summary (boolean, optional): Gather all images at the end of response
  • with_generated_alt (boolean, optional): Add alt text to images lacking captions
  • with_iframe (boolean, optional): Include iframe content in response

Development

Setup

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Run in development mode:
npm run dev

Publishing

  1. Update version in package.json
  2. Build the project:
npm run build
  1. Publish to npm:
npm publish

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see the file for details.

Acknowledgments