$npx -y skills add pinecone-io/gemini-cli-extension --skill mcpReference for the Pinecone MCP server tools. Documents all available tools - list-indexes, describe-index, describe-index-stats, create-index-for-model, upsert-records, search-records, cascading-search, and rerank-documents. Use when an agent needs to understand what Pinecone MCP
| 1 | # Pinecone MCP Tools Reference |
| 2 | |
| 3 | The Pinecone MCP server exposes the following tools to AI agents and IDEs. For setup and installation instructions, see the [MCP server guide](https://docs.pinecone.io/guides/operations/mcp-server#tools). |
| 4 | |
| 5 | > **Key Limitation:** The Pinecone MCP only supports **integrated indexes** — indexes created with a built-in Pinecone embedding model. It does not work with standard indexes using external embedding models. For those, use the Pinecone CLI. |
| 6 | |
| 7 | --- |
| 8 | |
| 9 | ## `list-indexes` |
| 10 | |
| 11 | List all indexes in the current Pinecone project. |
| 12 | |
| 13 | --- |
| 14 | |
| 15 | ## `describe-index` |
| 16 | |
| 17 | Get configuration details for a specific index — cloud, region, dimension, metric, embedding model, field map, and status. |
| 18 | |
| 19 | **Parameters:** |
| 20 | - `name` (required) — Index name |
| 21 | |
| 22 | --- |
| 23 | |
| 24 | ## `describe-index-stats` |
| 25 | |
| 26 | Get statistics for an index including total record count and per-namespace breakdown. |
| 27 | |
| 28 | **Parameters:** |
| 29 | - `name` (required) — Index name |
| 30 | |
| 31 | --- |
| 32 | |
| 33 | ## `create-index-for-model` |
| 34 | |
| 35 | Create a new serverless index with an integrated embedding model. Pinecone handles embedding automatically — no external model needed. |
| 36 | |
| 37 | **Parameters:** |
| 38 | - `name` (required) — Index name |
| 39 | - `cloud` (required) — `aws`, `gcp`, or `azure` |
| 40 | - `region` (required) — Cloud region (e.g. `us-east-1`) |
| 41 | - `embed.model` (required) — Embedding model: `llama-text-embed-v2`, `multilingual-e5-large`, or `pinecone-sparse-english-v0` |
| 42 | - `embed.fieldMap.text` (required) — The record field that contains text to embed (e.g. `chunk_text`) |
| 43 | |
| 44 | --- |
| 45 | |
| 46 | ## `upsert-records` |
| 47 | |
| 48 | Insert or update records in an integrated index. Records are automatically embedded using the index's configured model. |
| 49 | |
| 50 | **Parameters:** |
| 51 | - `name` (required) — Index name |
| 52 | - `namespace` (required) — Namespace to upsert into |
| 53 | - `records` (required) — Array of records. Each record must have an `id` or `_id` field and contain the text field specified in the index's `fieldMap`. Do not nest fields under `metadata` — put them directly on the record. |
| 54 | |
| 55 | **Example record:** |
| 56 | ```json |
| 57 | { "_id": "rec1", "chunk_text": "The Eiffel Tower was built in 1889.", "category": "architecture" } |
| 58 | ``` |
| 59 | |
| 60 | --- |
| 61 | |
| 62 | ## `search-records` |
| 63 | |
| 64 | Semantic text search against an integrated index. Pass plain text — the MCP embeds the query automatically using the index's model. |
| 65 | |
| 66 | **Parameters:** |
| 67 | - `name` (required) — Index name |
| 68 | - `namespace` (required) — Namespace to search |
| 69 | - `query.inputs.text` (required) — The text query |
| 70 | - `query.topK` (required) — Number of results to return |
| 71 | - `query.filter` (optional) — Metadata filter using MongoDB-style operators (`$eq`, `$ne`, `$in`, `$gt`, `$gte`, `$lt`, `$lte`) |
| 72 | - `rerank.model` (optional) — Reranking model: `bge-reranker-v2-m3`, `cohere-rerank-3.5`, or `pinecone-rerank-v0` |
| 73 | - `rerank.rankFields` (optional) — Fields to rerank on (e.g. `["chunk_text"]`) |
| 74 | - `rerank.topN` (optional) — Number of results to return after reranking |
| 75 | |
| 76 | --- |
| 77 | |
| 78 | ## `cascading-search` |
| 79 | |
| 80 | Search across multiple indexes simultaneously, then deduplicate and rerank results into a single ranked list. |
| 81 | |
| 82 | **Parameters:** |
| 83 | - `indexes` (required) — Array of `{ name, namespace }` objects to search across |
| 84 | - `query.inputs.text` (required) — The text query |
| 85 | - `query.topK` (required) — Number of results to retrieve per index before reranking |
| 86 | - `rerank.model` (required) — Reranking model: `bge-reranker-v2-m3`, `cohere-rerank-3.5`, or `pinecone-rerank-v0` |
| 87 | - `rerank.rankFields` (required) — Fields to rerank on |
| 88 | - `rerank.topN` (optional) — Final number of results to return after reranking |
| 89 | |
| 90 | --- |
| 91 | |
| 92 | ## `rerank-documents` |
| 93 | |
| 94 | Rerank a set of documents or records against a query without performing a vector search first. |
| 95 | |
| 96 | **Parameters:** |
| 97 | - `model` (required) — `bge-reranker-v2-m3`, `cohere-rerank-3.5`, or `pinecone-rerank-v0` |
| 98 | - `query` (required) — The query to rerank against |
| 99 | - `documents` (required) — Array of strings or records to rerank |
| 100 | - `options.topN` (required) — Number of results to return |
| 101 | - `options.rankFields` (optional) — If documents are records, the field(s) to rerank on |