Jina AI Remote MCP Server
# Jina AI Remote MCP Server
A remote Model Context Protocol (MCP) server that provides access to Jina Reader, Embeddings and Reranker APIs with a suite of URL-to-markdown, web search, image search, and embeddings/reranker tools:
| Tool | Description | Is Jina API Key Required? |
|-----------|-------------|----------------------|
| `read_url` | Extract clean, structured content from web pages as markdown via [Reader API](https://jina.ai/reader) | Optional* |
| `capture_screenshot_url` | Capture high-quality screenshots of web pages via [Reader API](https://jina.ai/reader) | Optional* |
| `search_web` | Search the entire web for current information and news via [Reader API](https://jina.ai/reader) | Yes |
| `search_arxiv` | Search academic papers and preprints on arXiv repository via [Reader API](https://jina.ai/reader) | Yes |
| `search_image` | Search for images across the web (similar to Google Images) via [Reader API](https://jina.ai/reader) | Yes |
| `sort_by_relevance` | Rerank documents by relevance to a query via [Reranker API](https://jina.ai/reranker) | Yes |
| `deduplicate_strings` | Get top-k semantically unique strings via [Embeddings API](https://jina.ai/embeddings) and [submodular optimization](https://jina.ai/news/submodular-optimization-for-diverse-query-generation-in-deepresearch) | Yes |
| `deduplicate_images` | Get top-k semantically unique images via [Embeddings API](https://jina.ai/embeddings) and [submodular optimization](https://jina.ai/news/submodular-optimization-for-diverse-query-generation-in-deepresearch) | Yes |
> Optional tools work without an API key but have [rate limits](https://jina.ai/api-dashboard/rate-limit). For higher rate limits and better performance, use a Jina API key. You can get a free Jina API key from [https://jina.ai](https://jina.ai)
## Usage
For client that supports remote MCP server:
```json
{
"mcpServers": {
"jina-mcp-server": {
"url": "https://mcp.jina.ai/sse",
"headers": {
"Authorization": "Bearer ${JINA_API_KEY}" // optional
}
}
}
}
```
For client that does not support remote MCP server yet, you need [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) a local proxy to connect to the remote MCP server.
```json
{
"mcpServers": {
"jina-mcp-server": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.jina.ai/sse"
// optional bearer token
"--header",
"Authorization: Bearer ${JINA_API_KEY}"
]
}
}
}
```
## Developer Guide
### Local Development
```bash
# Clone the repository
git clone https://github.com/jina-ai/MCP.git
cd MCP
# Install dependencies
npm install
# Start development server
npm run start
```
### Deploy to Cloudflare Workers
[](https://deploy.workers.cloudflare.com/?url=https://github.com/jina-ai/MCP)
This will deploy your MCP server to a URL like: `jina-mcp-server.<your-account>.workers.dev/sse`TDQS
Scored across 19 tools
Most tools have distinct purposes, but some overlap exists: parallel_search_arxiv, parallel_search_ssrn, parallel_search_web, and their non-parallel counterparts could be confusing if an agent doesn't read descriptions carefully. However, descriptions clearly differentiate between parallel and single searches, and other tools like deduplicate_images vs. deduplicate_strings are well-separated.
Tool names follow a consistent snake_case pattern with clear verb_noun structures throughout, such as capture_screenshot_url, deduplicate_images, expand_query, and search_web. The only minor deviation is show_api_key, which still fits the pattern, and primer is concise but clear in context.
With 19 tools, the count is borderline high for a server focused on web and academic research tasks. While many tools are specialized (e.g., parallel searches, deduplication), it may feel heavy and could overwhelm agents, though each tool serves a specific function in the domain.
The toolset provides comprehensive coverage for web and academic research workflows, including content extraction (read_url, extract_pdf), search (web, arXiv, SSRN, images), deduplication, query expansion, relevance sorting, and utility functions (primer, guess_datetime_url). No obvious gaps exist for the intended domain.