Serveur de protocole de contexte de modèle Pinecone pour Claude Desktop.
Modèle de protocole serveur Context pour permettre la lecture et l'écriture depuis Pinecone. RAG rudimentaire
Aperçu
Qu'est-ce que MCP-Pinecone ?
MCP-Pinecone est un serveur de Protocole de Contexte de Modèle conçu pour faciliter les opérations de lecture et d'écriture à partir de Pinecone, un service de base de données vectorielle. Ce serveur offre une capacité rudimentaire de Génération Augmentée par Récupération (RAG), permettant aux développeurs d'intégrer des fonctionnalités avancées d'IA dans leurs applications de manière transparente. En tirant parti de MCP-Pinecone, les utilisateurs peuvent améliorer leurs processus de récupération de données, rendant plus facile l'accès et l'utilisation des informations stockées dans Pinecone.
Fonctionnalités de MCP-Pinecone
- Intégration avec Pinecone : Se connecte directement à Pinecone, permettant une gestion et une récupération des données efficaces.
- Capacités RAG : Prend en charge la Génération Augmentée par Récupération, améliorant la qualité des réponses générées en utilisant des données externes.
- Open Source : Disponible pour un usage public, permettant aux développeurs de contribuer et de modifier le code selon leurs besoins.
- Interface conviviale : Conçu pour être facile à utiliser, le rendant accessible tant aux développeurs novices qu'expérimentés.
- Communauté active : Soutenu par une communauté de contributeurs, garantissant une amélioration continue et un support.
Comment utiliser MCP-Pinecone
-
Installation : Clonez le dépôt depuis GitHub et installez les dépendances nécessaires.
git clone https://github.com/sirmews/mcp-pinecone.git cd mcp-pinecone npm install -
Configuration : Configurez votre clé API Pinecone et d'autres configurations dans les variables d'environnement ou les fichiers de configuration.
-
Exécution du serveur : Démarrez le serveur pour commencer à interagir avec Pinecone.
npm start -
Faire des requêtes : Utilisez les points de terminaison API fournis pour lire et écrire des données dans Pinecone. Consultez la documentation pour des instructions détaillées sur les points de terminaison disponibles et leur utilisation.
-
Contribuer : Si vous souhaitez contribuer au projet, n'hésitez pas à forker le dépôt, à apporter vos modifications et à soumettre une demande de tirage.
Questions Fréquemment Posées
Qu'est-ce que Pinecone ?
Pinecone est une base de données vectorielle entièrement gérée conçue pour des applications d'apprentissage automatique. Elle permet aux utilisateurs de stocker et d'interroger efficacement des vecteurs de haute dimension, ce qui la rend idéale pour des applications impliquant l'IA et la science des données.
Comment MCP-Pinecone améliore-t-il la récupération de données ?
En mettant en œuvre la Génération Augmentée par Récupération (RAG), MCP-Pinecone permet aux applications de générer des réponses basées à la fois sur l'entraînement du modèle et sur des données en temps réel provenant de Pinecone, conduisant à des résultats plus précis et contextuellement pertinents.
MCP-Pinecone est-il gratuit à utiliser ?
Oui, MCP-Pinecone est un projet open-source, et vous pouvez l'utiliser gratuitement. Cependant, l'utilisation de Pinecone peut entraîner des coûts en fonction de votre utilisation de leurs services.
Puis-je contribuer au projet MCP-Pinecone ?
Absolument ! Les contributions sont les bienvenues. Vous pouvez forker le dépôt, apporter des améliorations et soumettre une demande de tirage pour partager vos améliorations avec la communauté.
Où puis-je trouver la documentation pour MCP-Pinecone ?
La documentation est généralement incluse dans le dépôt. Vous pouvez également consulter le fichier README pour des instructions d'installation et des directives d'utilisation.
Détail
Pinecone Model Context Protocol Server for Claude Desktop.
Read and write to a Pinecone index.
Components
flowchart TB
subgraph Client["MCP Client (e.g., Claude Desktop)"]
UI[User Interface]
end
subgraph MCPServer["MCP Server (pinecone-mcp)"]
Server[Server Class]
subgraph Handlers["Request Handlers"]
ListRes[list_resources]
ReadRes[read_resource]
ListTools[list_tools]
CallTool[call_tool]
GetPrompt[get_prompt]
ListPrompts[list_prompts]
end
subgraph Tools["Implemented Tools"]
SemSearch[semantic-search]
ReadDoc[read-document]
ListDocs[list-documents]
PineconeStats[pinecone-stats]
ProcessDoc[process-document]
end
end
subgraph PineconeService["Pinecone Service"]
PC[Pinecone Client]
subgraph PineconeFunctions["Pinecone Operations"]
Search[search_records]
Upsert[upsert_records]
Fetch[fetch_records]
List[list_records]
Embed[generate_embeddings]
end
Index[(Pinecone Index)]
end
%% Connections
UI --> Server
Server --> Handlers
ListTools --> Tools
CallTool --> Tools
Tools --> PC
PC --> PineconeFunctions
PineconeFunctions --> Index
%% Data flow for semantic search
SemSearch --> Search
Search --> Embed
Embed --> Index
%% Data flow for document operations
UpsertDoc --> Upsert
ReadDoc --> Fetch
ListRes --> List
classDef primary fill:#2563eb,stroke:#1d4ed8,color:white
classDef secondary fill:#4b5563,stroke:#374151,color:white
classDef storage fill:#059669,stroke:#047857,color:white
class Server,PC primary
class Tools,Handlers secondary
class Index storage
Resources
The server implements the ability to read and write to a Pinecone index.
Tools
semantic-search: Search for records in the Pinecone index.read-document: Read a document from the Pinecone index.list-documents: List all documents in the Pinecone index.pinecone-stats: Get stats about the Pinecone index, including the number of records, dimensions, and namespaces.process-document: Process a document into chunks and upsert them into the Pinecone index. This performs the overall steps of chunking, embedding, and upserting.
Note: embeddings are generated via Pinecone's inference API and chunking is done with a token-based chunker. Written by copying a lot from langchain and debugging with Claude.
Quickstart
Installing via Smithery
To install Pinecone MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-pinecone --client claude
Install the server
Recommend using uv to install the server locally for Claude.
uvx install mcp-pinecone
OR
uv pip install mcp-pinecone
Add your config as described below.
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Note: You might need to use the direct path to uv. Use which uv to find the path.
Development/Unpublished Servers Configuration
"mcpServers": {
"mcp-pinecone": {
"command": "uv",
"args": [
"--directory",
"{project_dir}",
"run",
"mcp-pinecone"
]
}
}
Published Servers Configuration
"mcpServers": {
"mcp-pinecone": {
"command": "uvx",
"args": [
"--index-name",
"{your-index-name}",
"--api-key",
"{your-secret-api-key}",
"mcp-pinecone"
]
}
}
Sign up to Pinecone
You can sign up for a Pinecone account here.
Get an API key
Create a new index in Pinecone, replacing {your-index-name} and get an API key from the Pinecone dashboard, replacing {your-secret-api-key} in the config.
Development
Building and Publishing
To prepare the package for distribution:
- Sync dependencies and update lockfile:
uv sync
- Build package distributions:
uv build
This will create source and wheel distributions in the dist/ directory.
- Publish to PyPI:
uv publish
Note: You'll need to set PyPI credentials via environment variables or command flags:
- Token:
--tokenorUV_PUBLISH_TOKEN - Or username/password:
--username/UV_PUBLISH_USERNAMEand--password/UV_PUBLISH_PASSWORD
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm with this command:
npx @modelcontextprotocol/inspector uv --directory {project_dir} run mcp-pinecone
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Source Code
The source code is available on GitHub.
Contributing
Send your ideas and feedback to me on Bluesky or by opening an issue.
Configuration du serveur
{
"mcpServers": {
"mcp-pinecone": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--sirmews--mcp-pinecone--mcp-pinecone",
"mcp-pinecone --index-name index-name --api-key api-key"
],
"env": {}
}
}
}