Jina AI Search MCP Server
Thực hiện tìm kiếm ngữ nghĩa, hình ảnh và đa phương thức bằng khả năng tìm kiếm thần kinh của Jina AI.
Tài liệu
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
- Clone the repository:
git clone <repository-url>
cd jina-ai-mcp
- Install dependencies:
npm install
- Create a
.envfile with your Jina AI API key:
JINA_API_KEY=your_api_key_here
- 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
- Jina AI for their excellent neural search platform
- Model Context Protocol for the MCP specification