Skip to main content
Glama
Pinecone Developer MCP

Pinecone Developer MCP

Official
by pinecone-io

Pinecone Developer MCP Server

npm version License CI

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-mcp

You 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 --version

  • Verify npx is available in your PATH: which npx

  • Check 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_KEY environment variable is set correctly in your MCP configuration

  • Ensure 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.io

  • Try 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 tools
create-document-indexCreate Document IndexA
Idempotent

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 IndexA
Idempotent

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 IndexA
Read-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 StatsA
Read-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 IndexesA
Read-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 DocumentsA
Read-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 DocumentationA
Read-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 IndexA
Read-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 RecordsA
Read-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 DocumentsA
DestructiveIdempotent

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 RecordsA
DestructiveIdempotent

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

    A4.2/5.0

    Scored across 12 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityMaintained
    ResponsivenessMostly unanswered

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables interaction with Pinecone vector databases for storing and searching embeddings. Supports similarity search, metadata filtering, and vector operations for semantic search and RAG applications.
      -
    • A
      license
      A
      quality
      D
      maintenance
      Hybrid semantic + keyword memory across all your projects. Works with Cursor, Claude Code, and your team.
      11
      1
      MIT