mcp jinaai search
Enables efficient web search integration with Jina.ai's Search API, offering clean, LLM-optimized content retrieval with support for various content types and configurable caching.
Enables efficient web search integration with Jina.ai's Search API, offering clean, LLM-optimized content retrieval with support for various content types and configurable caching.
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 Search API with LLMs. This server provides efficient and comprehensive web search capabilities, optimised for retrieving clean, LLM-friendly content from the web.
This server requires configuration through your MCP client. Here are examples for different environments:
Add this to your Cline MCP settings:
{
"mcpServers": {
"jinaai-search": {
"command": "node",
"args": ["-y", "mcp-jinaai-search"],
"env": {
"JINAAI_API_KEY": "your-jinaai-api-key"
}
}
}
}
For WSL environments, add this to your Claude Desktop configuration:
{
"mcpServers": {
"jinaai-search": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"JINAAI_API_KEY=your-jinaai-api-key npx mcp-jinaai-search"
]
}
}
}
The server requires the following environment variable:
JINAAI_API_KEY
: Your Jina.ai API key (required)The server implements a single MCP tool with configurable parameters:
Search the web and get clean, LLM-friendly content using Jina.ai Reader. Returns top 5 results with URLs and clean content.
Parameters:
query
(string, required): Search queryformat
(string, optional): Response format ("json" or "text").
Defaults to "text"no_cache
(boolean, optional): Bypass cache for fresh results.
Defaults to falsetoken_budget
(number, optional): Maximum number of tokens for this
requestbrowser_locale
(string, optional): Browser locale for rendering
contentstream
(boolean, optional): Enable stream mode for large pages.
Defaults to falsegather_links
(boolean, optional): Gather all links at the end of
response. Defaults to falsegather_images
(boolean, optional): Gather all images at the end of
response. Defaults to falseimage_caption
(boolean, optional): Caption images in the content.
Defaults to falseenable_iframe
(boolean, optional): Extract content from iframes.
Defaults to falseenable_shadow_dom
(boolean, optional): Extract content from shadow
DOM. Defaults to falseresolve_redirects
(boolean, optional): Follow redirect chains to
final URL. Defaults to truepnpm install
pnpm run build
pnpm run dev
pnpm changeset
pnpm version
pnpm release
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see the LICENSE file for details.
[
{
"description": "Search the web and get clean, LLM-friendly content using Jina.ai Reader. Returns top 5 results with URLs and clean content.",
"inputSchema": {
"properties": {
"browser_locale": {
"description": "Browser locale for rendering content",
"type": "string"
},
"enable_iframe": {
"default": false,
"description": "Extract content from iframes",
"type": "boolean"
},
"enable_shadow_dom": {
"default": false,
"description": "Extract content from shadow DOM",
"type": "boolean"
},
"format": {
"default": "text",
"description": "Response format (json or text)",
"enum": [
"json",
"text"
],
"type": "string"
},
"gather_images": {
"default": false,
"description": "Gather all images at the end of the response",
"type": "boolean"
},
"gather_links": {
"default": false,
"description": "Gather all links at the end of the response",
"type": "boolean"
},
"image_caption": {
"default": false,
"description": "Caption images in the content",
"type": "boolean"
},
"no_cache": {
"default": false,
"description": "Bypass cache for fresh results",
"type": "boolean"
},
"query": {
"description": "Search query",
"type": "string"
},
"resolve_redirects": {
"default": true,
"description": "Follow redirect chains to final URL",
"type": "boolean"
},
"stream": {
"default": false,
"description": "Enable stream mode for large pages",
"type": "boolean"
},
"token_budget": {
"description": "Maximum number of tokens for this request",
"minimum": 1,
"type": "number"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search"
}
]