MCP JinaAI Search Server - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

mcp-jinaai-search


⚠️ Notice

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.

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 are examples 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.ai Reader. 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 this request
  • browser_locale (string, optional): Browser locale for rendering content
  • stream (boolean, optional): Enable stream mode for large pages. Defaults to false
  • gather_links (boolean, optional): Gather all links at the end of response. Defaults to false
  • gather_images (boolean, optional): Gather all images at the end of response. 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 shadow DOM. Defaults to false
  • resolve_redirects (boolean, optional): Follow redirect chains to final 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

Featured Templates

View More

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.