Official Model Context Protocol server for Jina AI APIs. Web access: search the live web, read URLs, search academic papers, and run Jina embedding/reranker utilities.
The Jina MCP server demonstrates good definition quality with well-structured tool definitions, clear naming conventions, and comprehensive parameter schemas. All 12 tools follow verb-noun patterns (read_url, search_web, capture_screenshot_url, etc.). Tool descriptions are substantive (avg 150-250 chars) and explain both purpose and when to use each tool. Parameter schemas use Zod validation with proper types. However, several tools lack output schema documentation in the visible code, and some parameter descriptions could be more constraint-focused. Error handling is present but recovery guidance is limited. The server shows production-grade patterns in composition and parameter design.
Screenshot a page as base64 JPEG. Use when the page must be seen rather than read.
Remove duplicate strings from a list while preserving order.
Extract text and metadata from a PDF file.
Guess when a page was published or last updated, with a confidence score. Checks HTTP headers, metadata, Schema.org, visible dates, feeds and sitemaps.
Current time, user location and network environment for the session. Use before answering anything time- or location-dependent.
Fetch a URL (page or PDF) as clean markdown. Pass `question` to get only the passages answering it instead of the whole page - far cheaper than reading the full body into context.
Output schemas not documented in visible code for most tools. While parameter inputs use Zod schemas, return types and response structures are not explicitly defined in tool registration. LLMs need documented output structures to plan downstream calls and extract relevant fields.
Search tools (search_web, search_arxiv, search_ssrn, search_images, search_jina_blog) lack pagination guidance in descriptions. No mention of how results are limited, whether pagination is supported, or whether there is a hard cap on returned items. With max_results parameter accepting unbounded values, LLMs could request excessive result sets.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 75 | 2026-07-28+ | v2 |
| 2026-03-09 | B | 71 | - | v1 |
Search arXiv for academic preprints and papers.
Search the web for images matching a query.
Search Jina's official blog for information about Jina's models and releases.
Search SSRN (Social Science Research Network) for social science and finance papers.
Search the live web with Jina's search API. Returns web pages with snippets matching a query.
Rerank a list of items by relevance to a query using Jina's reranker API.
Error handling and recovery guidance is minimal. The code shows generic error responses ('Error: <message>') without categorization as retryable vs user-fixable, and no suggestions for recovery paths. E.g., if a URL is invalid, no guidance to try search_web instead.
Tool descriptions for search_* family lack specificity on when to prefer one search tool over another. All four search tools are similar (search_web, search_arxiv, search_ssrn, search_images) but descriptions don't clarify the distinction or use cases. LLMs may conflate similar names.
The 'primer' tool has an empty input schema ({}), which is correct, but the description could better explain what context data is returned and when it should be called relative to other tools.