npm package: @iflow-mcp/sheshiyer-jina-ai-mcp-multimodal-search
Description: MCP server for Jina AI integration
Latest version: 1.0.0

# 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](https://cloud.jina.ai/))
- MCP-compatible environment (e.g., Cline)

## 🛠️ Installation

1. Clone the repository:
```bash
git clone <repository-url>
cd jina-ai-mcp
```

2. Install dependencies:
```bash
npm install
```

3. Create a `.env` file with your Jina AI API key:
```bash
JINA_API_KEY=your_api_key_here
```

4. Build the server:
```bash
npm run build
```

## ⚙️ Configuration

Add the following configuration to your MCP settings file:

```json
{
  "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.

```typescript
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.

```typescript
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.

```typescript
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:

```typescript
{
  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](LICENSE) file for details.

## 🙏 Acknowledgments

- [Jina AI](https://jina.ai/) for their excellent neural search platform
- [Model Context Protocol](https://github.com/modelcontextprotocol/protocol) for the MCP specification