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.

NameRequiredDescriptionDefault
nameYesA unique name to identify the new index.
cloudNoThe cloud provider for the index. Defaults to aws.aws
fieldsYesThe searchable string fields of the index, keyed by field name.
regionNoThe region for the index. Common regions: aws (us-east-1, us-west-2, eu-west-1), gcp (us-central1, europe-west1), azure (eastus, westeurope). Defaults to us-east-1.us-east-1
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish that this is a non-read-only, idempotent, non-destructive operation. The description adds important behavior beyond that: the call blocks until the index is ready, and duplicate names return the existing index unchanged instead of erroring.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose, then moves through field modes, defaults, metadata handling, related tools, and blocking/idempotency behavior. Despite being detailed, every sentence carries useful information for correctly calling this complex creation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the nested schema and annotations, the description covers the critical creation semantics well. The main remaining gap is that there is no output schema and the description does not explain the normal return shape of a newly created index, only the duplicate-name case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all six parameters in detail. The description still adds useful semantic guidance beyond the schema, especially the recommended default field configuration and the distinction between searchable fields and filter-only document metadata.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: create a Pinecone document index defined by searchable string fields. It explains the field modes and default configuration, but it does not explicitly differentiate this from sibling create-index-for-model, so an agent still has to infer that distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives implied workflow guidance by saying to use upsert-documents and search-document-index with the new index, and it explains that filter-only fields belong in metadata. However, it does not state when to choose this tool over alternatives such as create-index-for-model or list-indexes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameYesA unique name to identify the new index.
cloudNoThe cloud provider for the index. Defaults to aws.aws
embedYesConfigure an embedding model that converts text into a vector.
regionNoThe region for the index. Common regions: aws (us-east-1, us-west-2, eu-west-1), gcp (us-central1, europe-west1), azure (eastus, westeurope). Defaults to us-east-1.us-east-1
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses that the call blocks until the index is ready for upserts and queries, removing the need for readiness polling, and that an existing index of the same name is returned unchanged instead of erroring – which is concrete confirmation of the idempotentHint and a real operational constraint. These are exactly the facts an agent needs and cannot get from the annotation block alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Specific purpose and blocking behavior are front-loaded, and the sibling pointer comes last where a routing note belongs. The only mildly expendable sentence is the AWS/GCP/Azure cloud mention, which the cloud enum already carries, but it costs little.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a blocking, mutating create operation with no output schema, the description covers the essentials: what gets created, the embedding requirement, latency/readiness implications, idempotent behavior on name collision, and the sibling alternative. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: name, cloud, region, embed, model, and fieldMap all carry their own documentation, including the cloud enum and per-model explanations. The description adds only the framing that embedding targets the fieldMap 'text' field, which the schema largely states already. The analytics-only llm_model/llm_provider parameters are not touched on at all, so nothing is compensated beyond baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The definition states a specific verb and resource ('Create a Pinecone index with integrated inference'), explains the defining mechanism (auto-embedding the text field named in fieldMap), and explicitly contrasts itself with the sibling create-document-index. An agent can distinguish it from list-indexes, describe-index, and upsert-records without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names an alternative (create-document-index) and the condition that favors it (full-text search plus integrated embedding on the same field), which is exactly the kind of routing signal an agent needs. However, 'For a new index, prefer create-document-index' leaves this tool's own best-fit scenario undefined – an agent may wonder whether this tool is legacy-only, which weakens the when-to-use picture rather than completing it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameYesThe index to describe.
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Consistent with readOnlyHint=true and adds behavior beyond the annotation: it discloses what the response contains (embedding model, fieldMap, status.ready) and that the call is a prerequisite gate for upserts. Missing only edge behavior such as what happens for an unknown index name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no filler, and the core purpose plus the key follow-up action (check status.ready) are front-loaded. Minor verbosity from quoting the field names, but each sentence carries useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the work of naming the returned configuration pieces and the readiness flag, which is enough to invoke and interpret the tool. It stops short of covering failure/not-found behavior or index-name validity, leaving a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents name and the two analytics-only llm fields. The description adds nothing about parameter meaning, which is acceptable given the high coverage — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Describe the configuration of a Pinecone index') and names the actual payload fields returned (embedding model, fieldMap). It does not differentiate itself from the closely named sibling describe-index-stats, which an agent could easily confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use guidance: 'Call this before upsert-records to learn the required field name' and 'Check status.ready ... to confirm the index can accept upserts and queries.' It provides no when-not-to-use or explicit statement about how it differs from describe-index-stats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameYesThe index to describe.
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes that this is a safe read operation. The description adds valuable behavioral context beyond the annotation: newly upserted records may not appear immediately, and callers should retry after a brief wait. It does not cover authentication or rate-limit behavior, but those are less central for a read-only stats call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three focused sentences with no wasted language. The core purpose is front-loaded, the namespace-discovery use case follows, and the eventual-consistency caveat is appropriately placed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with full parameter schema coverage and no output schema, the description provides enough context to call it correctly. It explains the key return content at a high level and the indexing-delay caveat. It could be slightly richer about what statistics are returned, but the essential information is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already well documented in the schema. The description does not add meaning beyond the schema for name, llm_model, or llm_provider. With the schema doing the heavy lifting, this lands at the baseline for high-coverage parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Describe the statistics of a Pinecone index') and adds useful scope ('including record counts per namespace'), which helps distinguish it from generic index metadata tools. It does not explicitly name sibling tools such as describe-index, so sibling differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states a use case: 'Use this to discover which namespaces exist in an index.' It also gives practical guidance for eventual-consistency behavior ('wait briefly and retry'). It stops short of naming when to use alternatives such as describe-index or list-indexes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered; the description adds value by disclosing that the response includes per-index configuration and readiness status. It doesn't mention pagination or result limits, which is a minor gap for a listing operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste, with the core action front-loaded and the usage hint following. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-required-param read-only listing with no output schema, the description covers action, payload contents, and usage context adequately. Missing only edge behavior such as what an empty project returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the two parameters (llm_model, llm_provider) are fully documented in the schema, and the description need not repeat them. At baseline 3 since the description adds no parameter meaning. Note the parameters are analytics-only and unrelated to filtering the listing, which the description never clarifies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List all Pinecone indexes in the project") and adds the scope of the payload (configuration and readiness status). The word "all" implicitly separates it from describe-index, which fetches one index, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use this to discover valid index names before calling other tools" gives a concrete trigger and sequencing guidance relative to the rest of the toolset. It stops short of naming which alternatives to prefer for other needs (e.g., describe-index for detail on one index).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
modelYesChoose a reranking model: - "cohere-rerank-3.5" is Cohere's leading reranking model, balancing performance and latency for a wide range of enterprise search applications. - "bge-reranker-v2-m3" is a high-performance, multilingual reranking model that works well on messy data and short queries expected to return medium-length passages of text (1-2 paragraphs). - "pinecone-rerank-v0" is a state of the art reranking model that out-performs competitors on widely accepted benchmarks. It can handle chunks up to 512 tokens (1-2 paragraphs).
queryYesThe query to rerank documents against.
optionsNo
documentsYesA set of documents to rerank. Can either be an array of text documents (strings) or an array of records. Record field values must be strings; records with number, boolean, or array fields are not accepted.
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a non-mutating operation, so the safety profile is covered by annotations. The description adds a genuine scoping constraint (only for documents not already retrieved from an index), but says nothing about result behavior — how the reranked output is ordered, whether scores are returned, or what happens if topN exceeds the document count.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action, followed by the input constraint and then the routing alternative. Every sentence carries decision-relevant information; nothing is redundant with the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter read-only tool with a nested options object, the description covers purpose and correct tool selection well, and the schema handles parameter detail. The one material gap is the return format, which matters because there is no output schema — the agent is not told that documents come back reordered or with relevance scores.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already explains model enum trade-offs, rankFields constraints, and the llm_model/llm_provider analytics fields. The description adds no additional parameter meaning beyond that, which is the expected baseline 3 when structured fields carry the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Rerank a set of provided documents by relevance to a query") and immediately bounds the input domain to documents that did not come from a Pinecone search. An agent can distinguish it from search-records and the other index-scoped siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case (externally sourced text) and an explicit alternative with the condition that selects it: for single-index search results, use the "rerank" parameter of search-records instead. This is exactly the when/when-not/alternative structure the dimension asks for.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
queryYesThe text to search for.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the description only needs to add context. It adds that the source is the official documentation (implying authoritative, current results), but says nothing about result format, number of hits, or freshness. Adequate but thin beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with what it does and followed by when to call it. Every sentence earns its place, though it is slightly under-specified rather than maximally informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool with no output schema, the definition covers purpose and timing well. The only gap is that it doesn't hint at what comes back (snippets, links), which would help an agent plan follow-up calls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single required parameter 'query' with 100% schema coverage, so the schema already fully documents it. The description adds no guidance on query phrasing, natural-language vs keyword, or scoping. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (official Pinecone documentation), which cleanly separates it from every sibling (indexes, records, documents, reranking). An agent can tell this is the documentation-lookup tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit timing guidance: use it before writing Pinecone code or explaining Pinecone behavior, and explicitly warns against relying on assumptions. It stops short of naming when NOT to use it or which sibling to prefer for data queries, but the exclusion is largely implicit given the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameYesThe index to search.
topKNoThe number of matches to return. Defaults to 10.
filterNoAn optional filter, such as {"category": {"$eq": "policy"}}. On a full-text field, "$match_phrase", "$match_all", and "$match_any" require terms, for example {"chunk_text": {"$match_all": "refund"}}.
scoreByYesThe clauses that rank the documents.
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
namespaceNoThe namespace to search. Defaults to "__default__".__default__
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.
includeFieldsNoThe fields to return with each match. Defaults to ["*"] (all stored fields).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses non-obvious behavior: embed/sparse_embed clauses must be the only clause, query_string rejects 'fields', scores from different clauses are on incomparable scales, and newly upserted records are delayed in indexing. It also states the return shape (_id, _score, includeFields).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then organized as a bulleted breakdown of clause types followed by a constraints/returns note. Every sentence carries information, though the bullet list makes it longer than strictly necessary and the clause-validity rules appear after the type definitions rather than before.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with nested scoreBy objects and no output schema, the description covers the hard parts: clause composition rules, query_string field handling, and return fields. It does not mention the analytics-only llm_model/llm_provider parameters, though the schema documents them adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even with 100% schema coverage, the description adds real semantic meaning: it explains what each scoreBy type actually does (Pinecone embeds plain text via the field's model, BM25 keyword scoring, Lucene-style syntax with inline field qualifiers). It also ties includeFields to the returned match objects rather than just restating the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search a Pinecone document index') and immediately scopes it to indexes created with create-document-index, which separates it from sibling tools like search-records and search-docs. The prerequisite pointer to describe-index further pins down the exact object being operated on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear conditional guidance: call describe-index first, use 'text' for exact terms like IDs and error codes, use two separate searches when combining semantic and keyword ranking, and wait/retry for recently upserted data. It never explicitly contrasts itself with siblings such as cascading-search or rerank-documents, so the when-not guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameYesThe index to search.
queryYesA query to search for records.
rerankNoReranking can help determine which of the returned records are most relevant. When reranking, use a "query" with a "topK" that returns more results than you need; then use "rerank" to select the most relevant "topN" results.
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
namespaceYesThe namespace to search.
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true; the description adds real value beyond that by naming a hard failure mode (wrong index type) and eventual-consistency lag on newly upserted records, plus the hit shape (_id, _score, fields). That is useful operational context, but it doesn't discuss limits such as topK cost, filter-field pitfalls, or rerank interaction, which the schema carries instead.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then prerequisites, alternatives, return shape, and the consistency caveat in a logical order. It runs long and packs four distinct clauses into one sentence with em dashes, which slightly hurts scannability, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does describe the returned hits, and it covers the two biggest failure risks (index type and indexing lag). Remaining gaps, such as topK/latency tradeoffs and rerank usage, are covered by the schema, so an agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the nested query/rerank/filter objects are thoroughly documented there (including filter operator syntax and rerank model choice). The description adds no parameter-level guidance of its own, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('search an index for records that are semantically similar to the query text') and scopes it to integrated-inference indexes. It explicitly names the sibling it is not (search-document-index) and the sibling used to verify applicability (describe-index), so an agent can route without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit precondition (only works on integrated-inference indexes), the failure mode on standard/document indexes, the alternative tool to use instead, and the diagnostic tool to check index type. Also covers the retry case for freshly upserted records. This is about as complete as when/when-not guidance gets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameYesThe index to upsert into.
documentsYesThe documents to upsert. Larger sets are sent in batches of 96.
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
namespaceNoThe namespace to upsert into. Defaults to "__default__".__default__
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond annotations: existing _id documents are replaced (matching destructiveHint), Pinecone embeds text so vectors must not be sent, non-schema fields become filterable metadata, and newly upserted records have eventual visibility with retry guidance. These are critical operational details not captured in the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action in the first sentence and then layers necessary constraints without filler. Every sentence provides a distinct operational fact (embedding, schema discovery, metadata, replacement, eventual consistency), so the length is justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive upsert with annotations covering safety/idempotency and full schema coverage, the description supplies the missing behavioral context: replacement semantics, embedding requirements, metadata handling, and indexing delay. No output schema exists, but the description gives enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all five parameters; the description adds meaning by clarifying that documents need _id plus plain text in embed fields, that vectors must not be sent, and that non-schema fields become metadata. It does not expand on namespace or llm_model/provider beyond the schema, but the added document semantics justify above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Insert or update') and resource ('documents in a Pinecone document index'), with explicit scoping to indexes created by create-document-index. It distinguishes this from record-oriented siblings by naming document indexes and referencing describe-index for schema discovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly conditions use on a document index (one created with create-document-index) and instructs calling describe-index first. It does not explicitly compare against upsert-records or other siblings, but the resource scoping implies when this tool applies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameYesThe index to upsert into.
recordsYesA set of records to upsert into the index. Use a consistent schema for all records in the index.
llm_modelNoOptional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics.
namespaceYesThe namespace to upsert into.
llm_providerNoOptional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose that this is a destructive but idempotent write. The description adds material behavior beyond annotations: text in the fieldMap field is embedded automatically, existing ids are overwritten, and newly upserted records may not be immediately visible to search or stats.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and alternative, then moves through prerequisite, overwrite behavior, and indexing latency. Every sentence adds operational value without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive upsert tool with no output schema, the definition covers the key prerequisites, replacement semantics, automatic embedding behavior, and eventual consistency concerns. An agent has enough context to invoke it correctly and understand likely side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters. The description nevertheless adds useful meaning by explaining the fieldMap embedding behavior associated with records and the overwrite semantics for existing ids.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a specific verb and resource: inserting or updating records in a Pinecone index. It also distinguishes the tool from the sibling upsert-documents, so an agent can route between record and document indexes without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names the alternative for document indexes and gives a prerequisite: call describe-index first to confirm the fieldMap field. It also gives operational guidance for eventual indexing visibility, including waiting and retrying.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.4.0
    • Addedcascading-search
    • Addedcreate-document-index
    • Addedcreate-index-for-model
    • Addeddescribe-index
    • Addeddescribe-index-stats
    • Addedlist-indexes
    • Addedrerank-documents
    • Addedsearch-document-index
    • Addedsearch-records
    • Addedupsert-documents
    • Addedupsert-records
  2. 1 tool updatev0.2.1
    • Changedsearch-docs1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  3. 1 tool updatev1.0.0
    • First observedsearch-docs

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
ResponsivenessUnresponsive

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