Jina AI MCP Server - UBOS

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

Learn more

Jina AI MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with Jina AI’s neural search capabilities. This server enables semantic search, image search, and cross-modal search functionalities through a simple interface.

🚀 Features

  • Semantic Search: Find semantically similar documents using natural language queries
  • Image Search: Search for visually similar images using image URLs
  • Cross-Modal Search: Perform text-to-image or image-to-text searches

📋 Prerequisites

  • Node.js 16 or higher
  • A Jina AI account and API key (Get one here)
  • MCP-compatible environment (e.g., Cline)

🛠️ Installation

  1. Clone the repository:
git clone <repository-url>
cd jina-ai-mcp
  1. Install dependencies:
npm install
  1. Create a .env file with your Jina AI API key:
JINA_API_KEY=your_api_key_here
  1. Build the server:
npm run build

⚙️ Configuration

Add the following configuration to your MCP settings file:

{
  "mcpServers": {
    "jina-ai": {
      "command": "node",
      "args": [
        "/path/to/jina-ai-mcp/build/index.js"
      ],
      "env": {
        "JINA_API_KEY": "your_api_key_here"
      }
    }
  }
}

🔍 Available Tools

1. Semantic Search

Perform semantic/neural search on text documents.

use_mcp_tool({
  server_name: "jina-ai",
  tool_name: "semantic_search",
  arguments: {
    query: "search query text",
    collection: "your-collection-name",
    limit: 10 // optional, defaults to 10
  }
})

2. Image Search

Search for similar images using an image URL.

use_mcp_tool({
  server_name: "jina-ai",
  tool_name: "image_search",
  arguments: {
    imageUrl: "https://example.com/image.jpg",
    collection: "your-collection-name",
    limit: 10 // optional, defaults to 10
  }
})

3. Cross-Modal Search

Perform text-to-image or image-to-text search.

use_mcp_tool({
  server_name: "jina-ai",
  tool_name: "cross_modal_search",
  arguments: {
    query: "a beautiful sunset", // or image URL for image2text
    mode: "text2image", // or "image2text"
    collection: "your-collection-name",
    limit: 10 // optional, defaults to 10
  }
})

📝 Response Format

All search tools return results in the following format:

{
  content: [
    {
      type: "text",
      text: JSON.stringify({
        results: [
          {
            id: string,
            score: number,
            data: Record<string, any>
          }
        ]
      }, null, 2)
    }
  ]
}

🔐 Error Handling

The server handles various error cases:

  • Invalid API key
  • Missing or invalid parameters
  • API rate limits
  • Network errors
  • Invalid collection names

All errors are properly formatted and returned with appropriate error codes and messages.

🤝 Contributing

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

📄 License

This project is licensed under the 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.