Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
M

MCP

> 编程语言
Open source

Official Jina AI Remote MCP Server

786 stars0 likes0 views
WebsiteGitHub

About

Official Jina AI Remote MCP Server

Jina AI Remote MCP Server

CLI version 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?
primer Get current contextual information for localized, time-aware responses No
read_url Extract clean, structured content from web pages as markdown via Reader API Optional*
capture_screenshot_url Capture high-quality screenshots of web pages via Reader API Optional*
guess_datetime_url Analyze web pages for last update/publish datetime with confidence scores No
search_web Search the entire web for current information and news via Reader API Yes
search_web_deep Search the web, read each result page via Reader API, then score every passage against the query in one listwise Reranker API call (jina-reranker-v3.5) to return the best paragraph-length passage from each page (typically 2-20s) Yes
search_arxiv Search academic papers and preprints on arXiv repository via Reader API Yes
search_ssrn Search academic papers on SSRN (Social Science Research Network) via Reader API Yes
search_images Search for images across the web (similar to Google Images) via Reader API Yes
search_jina_blog Search Jina AI news and blog posts at jina.ai/news No
search_bibtex Search for academic papers and return BibTeX citations (DBLP + Semantic Scholar) No
expand_query Expand and rewrite search queries based on the query expansion model via Reader API Yes
parallel_read_url Read multiple web pages in parallel for efficient content extraction via Reader API Optional*
parallel_search_web Run multiple web searches in parallel for comprehensive topic coverage and diverse perspectives via Reader API Yes
parallel_search_arxiv Run multiple arXiv searches in parallel for comprehensive research coverage and diverse academic angles via Reader API Yes
parallel_search_ssrn Run multiple SSRN searches in parallel for comprehensive social science research coverage via Reader API Yes
sort_by_relevance Rerank documents by relevance to a query via Reranker API Yes
classify_text Classify texts into user-defined labels via Embeddings API Yes
deduplicate_strings Get top-k semantically unique strings via Embeddings API and submodular optimization Yes
deduplicate_images Get top-k semantically unique images via Embeddings API and submodular optimization Yes
extract_pdf Extract figures, tables, and equations from PDF documents (arXiv papers or any PDF URL) using layout detection Yes

Optional tools work without an API key but have rate limits. For higher rate limits and better performance, use a Jina API key. You can get a free Jina API key from https://jina.ai

Usage

[!WARNING] Some clients do not support env variable, so you may need to replace ${JINA_API_KEY} below to a hardcoded real API key jina_xxx.

[!NOTE] The server uses Streamable HTTP transport (MCP spec 2025-03-26). The /sse endpoint is kept as an alias for backward compatibility. See FAQ for details.

For client that supports remote MCP server:

json
{
  "mcpServers": {
    "jina-mcp-server": {
      "url": "https://mcp.jina.ai/v1",
      "headers": {
        "Authorization": "Bearer ${JINA_API_KEY}" // optional
      }
    }
  }
}

For client that does not support remote MCP server yet, you need 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/v1",
        "--header",
        "Authorization: Bearer ${JINA_API_KEY}"
      ]
    }
  }
}

For Claude Code:

[!WARNING] Upgrading from /sse? If you previously added with --transport sse, remove it first with claude mcp remove -s user jina, then re-add using the command below.

bash
claude mcp add -s user --transport http jina https://mcp.jina.ai/v1 \
  --header "Authorization: Bearer ${JINA_API_KEY}"

For OpenAI Codex: find ~/.codex/config.toml and add the following:

toml
[mcp_servers.jina-mcp-server]
command = "npx"
args = [
    "-y",
    "mcp-remote",
    "https://mcp.jina.ai/v1",
    "--header",
    "Authorization: Bearer ${JINA_API_KEY}"]

Tool Filtering before Registering

Every MCP tool requires the LLM to pre-allocate tokens in its context window for the tool's name, description, and schema. For LLMs with limited context windows, registering all 22 tools can consume significant space before any actual work begins.

By filtering tools server-side via query parameters on the endpoint URL (/v1?...), excluded tools are never registered with the MCP client. The client and LLM never see them, saving context window for what matters.

Query Parameters

Parameter Description Example
exclude_tools Comma-separated tool names to exclude exclude_tools=search_web,search_arxiv
include_tools Comma-separated tool names to include include_tools=read_url,search_web
exclude_tags Comma-separated tags to exclude exclude_tags=parallel,rerank
include_tags Comma-separated tags to include include_tags=search,read
max_tokens Cap read_url/parallel_read_url response size in tokens. 0 disables truncation max_tokens=50000

Available Tags

Tag Tools
search search_web, search_web_deep, search_arxiv, search_ssrn, search_images, search_jina_blog, search_bibtex
parallel parallel_search_web, parallel_search_arxiv, parallel_search_ssrn, parallel_read_url
read read_url, parallel_read_url, capture_screenshot_url
utility primer, show_api_key, expand_query, guess_datetime_url, extract_pdf
rerank sort_by_relevance, classify_text, deduplicate_strings, deduplicate_images

Precedence

Filters are applied in this order (highest to lowest priority):

  1. exclude_tools - Always excludes specified tools
  2. exclude_tags - Excludes tools in specified tags
  3. include_tools - Includes specified tools
  4. include_tags - Starts with only tools in specified tags

Examples

Exclude parallel tools (saves ~4 tools worth of context tokens):

json
{
  "mcpServers": {
    "jina-mcp-server": {
      "url": "https://mcp.jina.ai/v1?exclude_tags=parallel",
      "headers": {
        "Authorization": "Bearer ${JINA_API_KEY}"
      }
    }
  }
}

Only include search and read tools:

json
{
  "mcpServers": {
    "jina-mcp-server": {
      "url": "https://mcp.jina.ai/v1?include_tags=search,read",
      "headers": {
        "Authorization": "Bearer ${JINA_API_KEY}"
      }
    }
  }
}

Exclude specific tools:

json
{
  "mcpServers": {
    "jina-mcp-server": {
      "url": "https://mcp.jina.ai/v1?exclude_tools=search_images,deduplicate_images",
      "headers": {
        "Authorization": "Bearer ${JINA_API_KEY}"
      }
    }
  }
}

Troubleshooting

I got stuck in a tool calling loop - what happened?

This is a common issue with LMStudio when the default context window is 4096 and you're using a thinking model like gpt-oss-120b or qwen3-4b-thinking. As the thinking and tool calling continue, once you hit the context window limit, the AI starts losing track of the beginning of the task. That's how it gets trapped in this rolling context window.

The solution is to load the model with enough context length to contain the full tool calling chain and thought process.

I can't see all tools.

Some MCP clients have local caching and do not actively update tool definitions. If you're not seeing all the available tools or if tools seem outdated, you may need to remove and re-add the jina-mcp-server to your MCP client configuration. This will force the client to refresh its cached tool definitions. In LMStudio, you can click the refresh button to load new tools.

Claude Desktop says "Server disconnected" on Windows

Cursor and Claude Desktop (Windows) have a bug where spaces inside args aren't escaped when it invokes npx, which ends up mangling these values. You can work around it using:

json
{
  // rest of config...
  "args": [
    "mcp-remote",
    "https://mcp.jina.ai/v1",
    "--header",
    "Authorization:${AUTH_HEADER}" // note no spaces around ':'
  ],
  "env": {
    "AUTH_HEADER": "Bearer " // spaces OK in env vars
  }
},

Cursor shows a red dot on this MCP status

Likely a UI bug from Cursor, but the MCP works correctly without any problem. You can toggle off/on to "restart" the MCP if you find the red dot annoying (fact is, since you are using this as a remote MCP, it's not a real "server restart" but mostly a local proxy restart).

My LLM never uses some tools

Assuming all tools are enabled in your MCP client but LLM still never uses some tools or favors some over others, this is pretty common when an LLM is trained with a specific set of tools. For example, we rarely see parallel_* tools being used organically by LLMs unless they are explicitly instructed to do so. Some research says LLMs must be trained to use parallel_*. Models like Qwen3-Next natively prefer to call the singleton version but with multiple queries in an array to achieve parallelism (which our MCP also support now). Either way, in Cursor, you can add the following rule to your .mdc file:

…

Why is my content truncated?

Claude Code, Claude Desktop, and Cursor enforce a fixed 25k token limit on MCP tool responses. To stop these clients from rejecting a large response outright, this server applies a token guardrail to read_url and parallel_read_url.

Items are kept whole in their original order while they fit. The first item that does not fit is cut to a prefix that does, and anything after it is dropped. A short [jina-mcp] ... note is appended saying what was truncated or omitted, so the model knows it is looking at a partial document rather than a complete one. At least one item always survives, even if that item alone is over budget.

The server deliberately aims under the limit rather than exactly at it. It has to: the server counts tokens with cl100k while the client counts with its own tokenizer, the cut is a proportional character estimate, and the client measures the serialized JSON payload rather than the raw text. On top of the token budget the server therefore enforces a hard ceiling of 3 bytes per allowed token, which holds regardless of tokenizer for both ASCII prose (~3.6 bytes/token) and CJK (~3 bytes/token). A rejected response d

Issues· 19 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScriptmcpmcp-server

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言