Pinecone Developer MCP
OfficialThe server can search Pinecone documentation; the provided schema exposes only this documentation-search capability.
Use
search-docswith a required textqueryto find relevant Pinecone documentation.The README-described index management and query tools are not present in this schema.
Required runtime environment for the MCP server, enabling the server to execute and provide Pinecone database functionalities to AI assistants.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pinecone Developer MCP search the docs for how to create an index with integrated inference"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pinecone Developer MCP Server
The Model Context Protocol (MCP) is a standard that allows coding assistants and other AI tools to interact with platforms like Pinecone. The Pinecone Developer MCP Server allows you to connect these tools with Pinecone projects and documentation.
Once connected, AI tools can:
Search Pinecone documentation to answer questions accurately.
Help you configure indexes based on your application's needs.
Generate code informed by your index configuration and data, as well as Pinecone documentation and examples.
Upsert and search for data in indexes, allowing you to test queries and evaluate results within your dev environment.
See the docs for more detailed information.
This MCP server is focused on improving the experience of developers working with Pinecone as part of their technology stack. It is intended for use with coding assistants. Pinecone also offers the Assistant MCP, which is designed to provide AI assistants with relevant context sourced from your knowledge base.
Setup
To configure the MCP server to access your Pinecone project, you will need to generate an API key using the console. Without an API key, your AI tool will still be able to search documentation. However, it will not be able to manage or query your indexes.
The MCP server requires Node.js v22 or later. Ensure that node and npx are available in your PATH.
Next, you will need to configure your AI assistant to use the MCP server.
Configure Cursor
To add the Pinecone MCP server to a project, create a .cursor/mcp.json file in the project root (if it doesn't already exist) and add the following configuration:
{
"mcpServers": {
"pinecone": {
"command": "npx",
"args": [
"-y", "@pinecone-database/mcp"
],
"env": {
"PINECONE_API_KEY": "<your pinecone api key>"
}
}
}
}You can check the status of the server in Cursor Settings > MCP.
To enable the server globally, add the configuration to the .cursor/mcp.json in your home directory instead.
It is recommended to use rules to instruct Cursor on proper usage of the MCP server. Check out the docs for some suggestions.
Configure Claude desktop
Use Claude desktop to locate the claude_desktop_config.json file by navigating to Settings > Developer > Edit Config. Add the following configuration:
{
"mcpServers": {
"pinecone": {
"command": "npx",
"args": [
"-y", "@pinecone-database/mcp"
],
"env": {
"PINECONE_API_KEY": "<your pinecone api key>"
}
}
}
}Restart Claude desktop. On the new chat screen, you should see a hammer (MCP) icon appear with the new MCP tools available.
Use as a Gemini CLI extension
To install this as a Gemini CLI extension, run the following command:
gemini extensions install https://github.com/pinecone-io/pinecone-mcpYou will need to provide your Pinecone API key in the PINECONE_API_KEY environment variable.
export PINECONE_API_KEY=<your pinecone api key>When you run gemini and press ctrl+t, pinecone should now be shown in the list of installed MCP servers.
Related MCP server: Pinecone MCP Server
Usage
Once configured, your AI tool will automatically make use of the MCP to interact with Pinecone. You may be prompted for permission before a tool can be used.
Example prompts
Here are some prompts you can try with your AI assistant:
"Search the Pinecone docs for information about metadata filtering"
"List all my Pinecone indexes and describe their configurations"
"Create a new index called 'my-docs' using the multilingual-e5-large model"
"Upsert these documents into my index: [paste your documents]"
"Search my index for records related to 'authentication best practices'"
"What namespaces exist in my index, and how many records are in each?"
Tools
Pinecone Developer MCP Server provides the following tools for AI assistants to use:
search-docs: Search the official Pinecone documentation.list-indexes: Lists all Pinecone indexes.describe-index: Describes the configuration of an index.describe-index-stats: Provides statistics about the data in the index, including the number of records and available namespaces.create-document-index: Creates a document index with searchable string fields, each indexed for full-text search, embedded by a hosted model (integrated embedding), or both.upsert-documents: Inserts or updates documents in a document index.search-document-index: Searches a document index by meaning (embed,sparse_embed) or by keywords (text,query_string), with optional filters.create-index-for-model: Creates a legacy integrated index that uses an integrated inference model to embed text as vectors.upsert-records: Inserts or updates records in an index with integrated inference.search-records: Searches for records in an index based on a text query, using integrated inference for embedding. Has options for metadata filtering and reranking.cascading-search: Searches for records across multiple indexes, deduplicating and reranking the results.rerank-documents: Reranks a collection of records or text documents using a specialized reranking model.
Limitations
Document indexes with string fields (full-text search and integrated embedding) and legacy integrated indexes are supported. Assistants, standalone embeddings, and search with your own vectors are not supported.
Troubleshooting
MCP server not appearing in your AI tool
Ensure Node.js v22 or later is installed:
node --versionVerify
npxis available in your PATH:which npxCheck that your configuration file is in the correct location and has valid JSON syntax
Restart your AI tool after making configuration changes
"Invalid API key" or authentication errors
Verify your API key is correct in the Pinecone console
Check that the
PINECONE_API_KEYenvironment variable is set correctly in your MCP configurationEnsure there are no extra spaces or quotes around the API key value
Tools not working as expected
The MCP server only supports indexes with integrated inference. If you're trying to use a serverless index without integrated inference, you'll need to create a new index with an embedding model
Check the MCP server logs for error messages. In Cursor, view logs in Cursor Settings > MCP
Connection issues
If using a corporate network, ensure your firewall allows connections to
api.pinecone.ioTry running the server manually to see detailed error output:
PINECONE_API_KEY=<your-key> npx @pinecone-database/mcp
Contributing
We welcome your collaboration in improving the developer MCP experience. Please submit issues in the GitHub issue tracker. Information about contributing can be found in CONTRIBUTING.md.
Available Tools
12 toolscascading-searchCascading SearchARead-only
Search across multiple indexes for records that are similar to the query text, then deduplicate and rerank the combined results. Reranking is required for this tool. Only works with integrated-inference indexes. To search a single index, use search-records instead.
Inputs: query (required), rerank (required), indexes (required), llm_model, +1 more.
create-document-indexCreate Document IndexAIdempotent
Create a Pinecone document index: an index defined by a schema of searchable "string" fields. Each field can declare "fullTextSearch" (indexed for keyword search with BM25), "embed" (Pinecone embeds the text with a hosted dense model for semantic search), "sparseEmbed" (a hosted sparse model), or a combination. A good default is one field with both, for example {"chunk_text": {"fullTextSearch": {"language": "en"}, "embed": {}}}, which supports search by meaning and by exact terms on the same text. Fields you only need to filter on are not declared here; send them as document metadata. Use upsert-documents and search-document-index with the new index. This call blocks until the index is ready. If an index with the same name already exists, it is returned unchanged instead of erroring.
Inputs: name (required), fields (required), cloud, region, +2 more.
create-index-for-modelCreate IndexAIdempotent
Create a Pinecone index with integrated inference, which automatically embeds the text field named in "fieldMap". Supports AWS, GCP, and Azure cloud providers. This call blocks until the index is ready to accept upserts and queries, so no readiness polling is needed afterwards. If an index with the same name already exists, it is returned unchanged instead of erroring. For a new index, prefer create-document-index, which supports full-text search and integrated embedding on the same field.
Inputs: name (required), embed (required), cloud, region, +2 more.
describe-indexDescribe IndexARead-only
Describe the configuration of a Pinecone index, including its embedding model and the "fieldMap" that names the record field holding the text to embed. Call this before upsert-records to learn the required field name. Check "status.ready" in the response to confirm the index can accept upserts and queries.
Inputs: name (required), llm_model, llm_provider.
describe-index-statsDescribe Index StatsARead-only
Describe the statistics of a Pinecone index, including record counts per namespace. Use this to discover which namespaces exist in an index. Newly upserted records can take a few seconds to be indexed and become visible to search results and index stats; if recent data is missing, wait briefly and retry.
Inputs: name (required), llm_model, llm_provider.
list-indexesList IndexesARead-only
List all Pinecone indexes in the project, including each index's configuration and readiness status. Use this to discover valid index names before calling other tools.
Inputs: llm_model, llm_provider.
rerank-documentsRerank DocumentsARead-only
Rerank a set of provided documents by relevance to a query. Use this for documents that did not come from a Pinecone search (e.g. externally sourced text). To rerank the results of a single-index search, prefer the "rerank" parameter of search-records instead of calling this tool separately.
Inputs: model (required), query (required), documents (required), options, +2 more.
search-docsSearch Pinecone DocumentationARead-only
Search the official Pinecone documentation for relevant information. Use this before writing Pinecone code or explaining Pinecone behavior, rather than relying on assumptions.
Inputs: query (required).
search-document-indexSearch Document IndexARead-only
Search a Pinecone document index (one created with create-document-index). Call describe-index first to see which fields declare "embed", "sparseEmbed", or "fullTextSearch". Rank with one or more "scoreBy" clauses:
"embed": search by meaning on a field with "embed". Pass the query as plain text; Pinecone embeds it with the field's model.
"sparse_embed": search a field with "sparseEmbed" the same way.
"text": keyword (BM25) search on one or more full-text fields. Good for exact terms like IDs, error codes, and names.
"query_string": Lucene-style query syntax. Don't pass "fields" (the API rejects it); target fields with qualifiers inside the query, for example 'chunk_text:"exact phrase"', or omit qualifiers to search every full-text field. An "embed" or "sparse_embed" clause must be the only clause; "text" and "query_string" clauses can be combined. To rank by meaning and by exact terms, run two separate searches: their scores are on different scales, so don't compare them across searches. Returns matches with "_id", "_score", and the fields named in "includeFields". Newly upserted records can take a few seconds to be indexed and become visible to search results and index stats; if recent data is missing, wait briefly and retry.
Inputs: name (required), scoreBy (required), topK, filter, +4 more.
search-recordsSearch RecordsARead-only
Search an index for records that are semantically similar to the query text. Only works with integrated-inference indexes (e.g. created with create-index-for-model), which embed the query automatically; it fails on standard indexes and document indexes (use search-document-index for those) — use describe-index to check the index type. Returns hits with "_id", "_score", and the record's stored "fields". Newly upserted records can take a few seconds to be indexed and become visible to search results and index stats; if recent data is missing, wait briefly and retry.
Inputs: name (required), query (required), namespace (required), rerank, +2 more.
upsert-documentsUpsert DocumentsADestructiveIdempotent
Insert or update documents in a Pinecone document index (one created with create-document-index). Each document needs an "_id" and plain text in every field the index declares with "embed"; Pinecone embeds that text on write, so never send vectors. Call describe-index first to see the schema. Fields not in the schema are stored as metadata you can filter on. Documents with an existing "_id" are replaced. Newly upserted records can take a few seconds to be indexed and become visible to search results and index stats; if recent data is missing, wait briefly and retry.
Inputs: name (required), documents (required), llm_model, namespace, +1 more.
upsert-recordsUpsert RecordsADestructiveIdempotent
Insert or update records in an integrated Pinecone index. For a document index, use upsert-documents instead. Text in the field named by the index's "fieldMap" is embedded automatically — call describe-index first to confirm that field name. Records with an existing "id" are overwritten. Newly upserted records can take a few seconds to be indexed and become visible to search results and index stats; if recent data is missing, wait briefly and retry.
Inputs: name (required), records (required), namespace (required), llm_model, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Most tools are clearly separated by index type and operation, especially the record-vs-document index pairs. The two create-index tools and three search tools could initially be confused, but the descriptions explicitly explain when to use each.
Names are consistently kebab-case and mostly follow a verb_noun pattern such as list-indexes, describe-index, and upsert-documents. Minor deviations like cascading-search and the abbreviation search-docs keep it from being perfect.
Twelve tools is well within a reasonable range for an MCP server covering Pinecone index management, search, and reranking. Each tool has a distinct role and the set does not feel bloated.
The surface covers documentation search, index creation/listing/description/stats, document and record upserts, searching, reranking, and cascading search. Some lifecycle operations like deleting indexes or records are missing, but core developer workflows are covered.
Maintenance
Related MCP Connectors
Connect Claude, Cursor, or ChatGPT to your business data. Ask questions, get answers.
Persistent memory for AI agents — shared .brain across Claude Code, Cursor & Codex
One memory for your AI agents and your team: Claude, ChatGPT, Cursor and your agents share it.
Your own memory for every AI: Claude, ChatGPT, Cursor, Zed and more. Brings in 20+ sources.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenancePinecone integration with vector search capabilities149MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables interaction with Pinecone vector databases for storing and searching embeddings. Supports similarity search, metadata filtering, and vector operations for semantic search and RAG applications.-
- AlicenseAqualityDmaintenanceHybrid semantic + keyword memory across all your projects. Works with Cursor, Claude Code, and your team.111MIT
- AlicenseAqualityAmaintenanceHosted memory for AI agents that learns from outcomes, with shared rooms. One key across Claude, Cursor & ChatGPT.11936 npm28MIT