Jina AI Search
Realize pesquisas semânticas, de imagem e multimodais usando as capacidades de busca neural da Jina AI.
Documentação
Servidor MCP Jina AI
Um servidor Model Context Protocol (MCP) que fornece integração perfeita com os recursos de busca neural da Jina AI. Este servidor permite busca semântica, busca de imagens e funcionalidades de busca entre modalidades por meio de uma interface simples.
🚀 Recursos
- Busca Semântica: Encontre documentos semanticamente semelhantes usando consultas em linguagem natural
- Busca de Imagens: Busque imagens visualmente semelhantes usando URLs de imagens
- Busca entre Modalidades: Realize buscas de texto para imagem ou de imagem para texto
📋 Pré-requisitos
- Node.js 16 ou superior
- Uma conta Jina AI e chave de API (Obtenha uma aqui)
- Ambiente compatível com MCP (por exemplo, Cline)
🛠️ Instalação
- Clone o repositório:
git clone <repository-url>
cd jina-ai-mcp
- Instale as dependências:
npm install
- Crie um arquivo
.envcom sua chave de API da Jina AI:
JINA_API_KEY=your_api_key_here
- Compile o servidor:
npm run build
⚙️ Configuração
Adicione a seguinte configuração ao seu arquivo de configurações MCP:
{
"mcpServers": {
"jina-ai": {
"command": "node",
"args": [
"/path/to/jina-ai-mcp/build/index.js"
],
"env": {
"JINA_API_KEY": "your_api_key_here"
}
}
}
}
🔍 Ferramentas Disponíveis
1. Busca Semântica
Realize busca semântica/neural em documentos de texto.
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. Busca de Imagens
Busque imagens semelhantes usando uma URL de imagem.
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. Busca entre Modalidades
Realize busca de texto para imagem ou de imagem para texto.
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
}
})
📝 Formato de Resposta
Todas as ferramentas de busca retornam resultados no seguinte formato:
{
content: [
{
type: "text",
text: JSON.stringify({
results: [
{
id: string,
score: number,
data: Record<string, any>
}
]
}, null, 2)
}
]
}
🔐 Tratamento de Erros
O servidor lida com vários casos de erro:
- Chave de API inválida
- Parâmetros ausentes ou inválidos
- Limites de taxa da API
- Erros de rede
- Nomes de coleção inválidos
Todos os erros são formatados adequadamente e retornados com códigos e mensagens de erro apropriados.
🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
📄 Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
🙏 Agradecimentos
- Jina AI pela excelente plataforma de busca neural
- Model Context Protocol pela especificação MCP