spences10

mcp-jinaai-search

Community spences10
Updated

MCP server for JinaAI search

mcp-jinaai-search

A Model Context Protocol (MCP) server for integrating Jina.ai's SearchAPI with LLMs. This server provides efficient and comprehensive websearch capabilities, optimised for retrieving clean, LLM-friendlycontent from the web.

Features

  • ๐Ÿ” Advanced web search through Jina.ai Search API
  • ๐Ÿš€ Fast and efficient content retrieval
  • ๐Ÿ“„ Clean text extraction with preserved structure
  • ๐Ÿง  Content optimised for LLMs
  • ๐ŸŒ Support for various content types including documentation
  • ๐Ÿ—๏ธ Built on the Model Context Protocol
  • ๐Ÿ”„ Configurable caching for performance
  • ๐Ÿ–ผ๏ธ Optional image and link gathering
  • ๐ŸŒ Localisation support through browser locale
  • ๐ŸŽฏ Token budget control for response size

Configuration

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

Cline Configuration

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"
			}
		}
	}
}

Claude Desktop with WSL Configuration

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"
			]
		}
	}
}

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:

search

Search the web and get clean, LLM-friendly content using Jina.aiReader. Returns top 5 results with URLs and clean content.

Parameters:

  • query (string, required): Search query
  • format (string, optional): Response format ("json" or "text").Defaults to "text"
  • no_cache (boolean, optional): Bypass cache for fresh results.Defaults to false
  • token_budget (number, optional): Maximum number of tokens for thisrequest
  • browser_locale (string, optional): Browser locale for renderingcontent
  • stream (boolean, optional): Enable stream mode for large pages.Defaults to false
  • gather_links (boolean, optional): Gather all links at the end ofresponse. Defaults to false
  • gather_images (boolean, optional): Gather all images at the end ofresponse. Defaults to false
  • image_caption (boolean, optional): Caption images in the content.Defaults to false
  • enable_iframe (boolean, optional): Extract content from iframes.Defaults to false
  • enable_shadow_dom (boolean, optional): Extract content from shadowDOM. Defaults to false
  • resolve_redirects (boolean, optional): Follow redirect chains tofinal URL. Defaults to true

Development

Setup

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

Publishing

  1. Create a changeset:
pnpm changeset
  1. Version the package:
pnpm version
  1. Build and publish:
pnpm release

Contributing

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

License

MIT License - see the LICENSE file for details.

Acknowledgments

MCP Server ยท Populars

MCP Server ยท New