# Pinecone MCP connector

The Pinecone connector links your Pinecone indexes, vectors, records, collections and imports to Claude, ChatGPT, Cursor and any MCP client through one governed endpoint, so people can search, inspect and tidy them by asking in plain language.

Source: https://elaichi.ai/connectors/pinecone/

## Facts

| | |
| --- | --- |
| Application | Pinecone |
| Category | Database |
| AI tools | 47 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 47 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Pinecone is connected

- List all Pinecone indexes and their vector counts.
- Search the support-docs index for refund policy vectors.
- Show index stats for the production Pinecone index.

## Connect Pinecone in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Pinecone.
2. Optionally set Share with, then press Connect.
3. Paste a Pinecone API key. One person generates a token in Pinecone and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Pinecone tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Pinecone to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Pinecone to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Pinecone to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Pinecone to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Pinecone tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Pinecone through Elaichi

### Check an index before a release

Engineering. Ask how many vectors an index holds, which namespaces are filling up and whether the stats look right before shipping a change that depends on it.

### Load a fresh batch of vectors

Data. Kick off an import from a prepared file, watch its progress and confirm it finished, without opening the Pinecone console or writing a script.

### Test what a search returns

Product. Run a quick similarity search against a Pinecone index and read the top matches back, to judge whether the results feel right for a feature you are planning.

### Find the record behind a bad answer

Support. When a customer reports an odd result, look up the exact record by ID, see what it contains and update or remove it on the spot.

### Snapshot an index into a collection

Platform. Create a collection from a live index before a risky migration, and list existing collections to confirm the backup is there.

### Clear out indexes nobody uses

Operations. List every Pinecone index in the project, spot the abandoned experiments and delete the ones that are only costing money.

## Frequently asked questions

### How do I connect Pinecone to Claude?

Connect Pinecone in Elaichi first: paste a Pinecone API key from your Pinecone project into the connection form, and Elaichi confirms it works. There is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Sign in to Elaichi when Claude asks, and your Pinecone indexes and records are available in the conversation.

### Does Pinecone work with ChatGPT and Cursor as well as Claude?

Yes. Once Pinecone is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Pinecone once and every client you use picks it up.

### What can an AI agent actually do with my Pinecone data?

An agent connected to Pinecone can list your indexes and report their stats, run a similarity search and read back the matching vectors or records, look up a single vector or record by ID, and update or remove it. It can create indexes and collections, start a bulk import from a file and check whether an import has finished. Because Pinecone exposes a lot of actions, the agent looks up the right one for each request, so a short concrete ask such as "show stats for the product index" works better than a long paragraph.

### Does connecting Pinecone give the AI access to every index in my project?

The AI can only reach what the Pinecone API key you connected can reach, so a key scoped to one project or one index limits the agent to exactly that. Elaichi can narrow that further, for example hiding the actions that delete indexes, but it can never grant anything the key itself does not allow. Each person still signs in to Elaichi as themselves, so every Pinecone call is tied to a named person.

### Can my team share one Pinecone connection?

Yes. One person connects Pinecone with an API key and shares the connection with a team in Elaichi, and nobody else ever sees or handles that key. Each teammate signs in to Elaichi as themselves, so the audit log records exactly who searched an index, who started an import and who removed a record.

### Can I stop an agent from deleting or changing things in Pinecone?

Yes. Restrictions in Elaichi apply per action, so you can allow searching and reading Pinecone indexes and records while blocking deleting an index, removing vectors or deleting a collection. A blocked action is never shown to Claude, ChatGPT, Cursor or any other client at all, so no prompt, accidental or otherwise, can trigger it.

### What happens to a Pinecone connection when someone leaves?

When you offboard a person in Elaichi, their access to Pinecone through every client ends immediately, and the Pinecone API key never traveled with them. A shared Pinecone connection keeps working for everyone else on the team. If you want to remove Pinecone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other connected client.

## All 47 Pinecone tools

Every tool below is callable through https://api.elaichi.ai/mcp once Pinecone is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Get single Pinecone index by ID** (Get). Get a specific Pinecone index by id. Returns the full index object including name, host, metric, dimension, spec, deletion_protection, and status. Required: id.
- **Create a Pinecone index** (Create). Create a new Pinecone index for dense vectors, sparse vectors, or full-text search documents. Returns the created index object including name, host, and status. Required: name and spec (with cloud and region). Dense vector indexes also require dimension and metric; sparse vector indexes require metric set to dotproduct.
- **List all Pinecone indexes** (List). List all Pinecone indexes in the current project. Returns an array of index objects including name, dimension, metric, host, and status for each.
- **Update a Pinecone index by ID** (Update). Update configuration for a Pinecone index by id. Supports updating deletion_protection and tags. Required: id.
- **Delete a Pinecone index by ID** (Delete). Delete a Pinecone index by id. Returns an empty response on success. Required: id.
- **Pinecone indexes create for model** (Create). Create a Pinecone index with integrated embedding that automatically converts source text to dense or sparse vectors using a hosted model. Returns the created index object. Required: name, cloud, region, and embed (with model and field_map).
- **Pinecone indexes describe index stats** (Describe). Get statistics for a Pinecone index including dimension, index fullness, total vector count, and per-namespace vector counts. Required: index_host.
- **Update a Pinecone vector by ID** (Update). Update a Pinecone vector's dense values and/or metadata by id. Returns an empty response on success.
- **Delete a Pinecone vector by ID** (Delete). Delete Pinecone vectors by id list, metadata filter, or by deleting all vectors in a namespace. Returns an empty response on success. Provide at least one of ids, filter, or deleteAll.
- **Pinecone vectors bulk create** (Create). Upsert (insert or update) vectors into a Pinecone index namespace. Existing records with the same id are fully overwritten. Returns upsertedCount. Required: vectors.
- **Get single Pinecone vector by ID** (Get). Fetch Pinecone vectors by their ids. Returns vector objects including id, values, and metadata. Required: ids.
- **List all Pinecone vectors** (List). List vector ids in a Pinecone index namespace. Returns vector id objects. Optionally filter by id prefix.
- **Pinecone vectors search** (Search). Query a Pinecone index for the most similar vectors to a given query vector or vector id. Returns matches including id, score, values, and metadata. Required: topK.
- **Create a Pinecone import** (Create). Start an asynchronous bulk import of vectors from object storage (Amazon S3, Google Cloud Storage, or Azure Blob Storage) into a Pinecone serverless index. Returns the import `id` for tracking progress. Required: `uri`.
- **Delete a Pinecone import by ID** (Delete). Cancel a Pinecone bulk import operation by id if it has not yet finished. Has no effect if the import is already complete. Returns an empty response on success.
- **Get single Pinecone import by ID** (Get). Get details of a specific Pinecone bulk import by id. Returns: id, uri, status, percent_complete, records_imported, created_at, finished_at, and an error message if the import failed.
- **List all Pinecone imports** (List). List all recent and ongoing Pinecone bulk imports for an index. Returns an array of import objects each including id, uri, status, percent_complete, and records_imported.
- **Create a Pinecone collection** (Create). Create a Pinecone collection (a static backup of a pod-based index). Returns the created collection object including its name. Required: name, source. Collections are a pod-only feature and are not supported for serverless indexes.
- **List all Pinecone collections** (List). List all Pinecone collections in the current project. Returns: name, status, environment, size, vector_count, and dimension for each collection. Serverless indexes do not support collections.
- **Get single Pinecone collection by ID** (Get). Get details about a specific collection in Pinecone. Requires id. Returns name, status, environment, size, vector_count, and dimension of the collection. Serverless indexes do not support collections.
- **Delete a Pinecone collection by ID** (Delete). Delete a collection in Pinecone. Requires id as collection_name. Returns a 202 status on successful deletion. Serverless indexes do not support collections.
- **Delete a Pinecone record by ID** (Delete). Delete Pinecone records from a namespace by record IDs, a metadata filter expression, or delete all records at once. Returns an empty response on success. Required: namespace. Max 1000 IDs per request when deleting by ID.
- **List all Pinecone records** (List). List record IDs stored in a Pinecone namespace. Returns an array of record id values. Required: namespace.
- **Pinecone records search** (Search). Search a Pinecone namespace for semantically similar records using a query text or vector. Returns hits including _id, _score, and requested fields. Required: namespace, query (with top_k and inputs).
- **Create a Pinecone record** (Create). Upsert records into a Pinecone namespace using NDJSON format, inserting new records or updating existing ones matched by id. Required: namespace.
- **Create a Pinecone backup** (Create). Create a backup of a Pinecone index. Returns the new backup object including backup_id, status, source_index_name, cloud, region, and created_at. Required: index_name.
- **Delete a Pinecone backup by ID** (Delete). Delete a Pinecone backup by id. Returns an empty response on success. Required: id.
- **Get single Pinecone backup by ID** (Get). Get the description of a Pinecone backup by id. Returns: backup_id, source_index_name, status, name, description, cloud, region, dimension, record_count, and created_at. Required: id.
- **List all Pinecone backups** (List). List all Pinecone backups for a project. Returns an array of backup objects each including backup_id, source_index_name, status, name, cloud, region, and created_at.
- **Pinecone backups index** (Action). Create an index from a specific backup in Pinecone. Requires backup_id. Returns restore_job_id (the created restore job’s identifier) and index_id (the newly created index identifier).
- **Get single Pinecone restore job by ID** (Get). Get a description of a Pinecone restore job by id. Returns: restore_job_id, backup_id, target_index_name, status, percent_complete, created_at, completed_at. Required: id.
- **List all Pinecone restore jobs** (List). List all Pinecone restore jobs for a project. Returns an array of restore job objects including restore_job_id, backup_id, target_index_name, status, and percent_complete.
- **List all Pinecone index backups** (List). List all backups for a Pinecone index. Returns: backup_id, source_index_name, status, cloud, region, created_at. Required: index_name.
- **Create a Pinecone namespace** (Create). Create a namespace in a Pinecone serverless index. Returns the created namespace including name, record_count, and schema. Required: name. Not supported for pod-based indexes.
- **Delete a Pinecone namespace by ID** (Delete). Delete a namespace from a Pinecone serverless index by id. Permanently removes all data in the namespace — this action is irreversible. Returns an empty response on success. Required: id. Not supported for pod-based indexes.
- **Get single Pinecone namespace by ID** (Get). Get details of a Pinecone namespace by id. Returns: name, record_count. Required: id. Not supported for pod-based indexes.
- **List all Pinecone namespaces** (List). List all namespaces in a Pinecone serverless index. Returns each namespace's name and record_count. Not supported for pod-based indexes.
- **Get single Pinecone model by ID** (Get). Get a description of a specific Pinecone hosted model by id. Returns: model name, type, vector_type, default_dimension, modality, provider_name, and supported_parameters. Required: id.
- **List all Pinecone models** (List). List all embedding and reranking models hosted by Pinecone. Returns an array of models, each including model name, type, vector_type, default_dimension, modality, provider_name, and supported_parameters.
- **Create a Pinecone embedding** (Create). Generate vector embeddings for input data using Pinecone's hosted embedding models. Returns: data (array of embedding value arrays), model name, and usage (total_tokens). Required: model and inputs.
- **Create a Pinecone rerank** (Create). Rerank a list of documents by relevance to a query using Pinecone's inference API. Returns a ranked `data` array of results each containing `index`, `document`, and `score`, plus `usage.rerank_units`. Required: `model`, `query`, and `documents`.
- **List all Pinecone vector records** (List). List vector records from a Pinecone index by fetching vectors matched against metadata. Returns a collection of vectors from the specified index. Required: index_host.
- **List all Pinecone backup schedules** (List). List all backup_schedules for a specific index in Pinecone. Requires index_name. Returns schedule_id, name, index_id, project_id, schedule_type, frequency, retention_expire_after_days, enabled, next_scheduled_run, and created_at in the response.
- **Get single Pinecone backup schedule by ID** (Get). Get details of a specific backup schedule in Pinecone. Requires id. Returns schedule_id, name, index_id, project_id, schedule_type, frequency, retention_expire_after_days, enabled, next_scheduled_run, and created_at.
- **Update a Pinecone backup schedule by ID** (Update). Update a backup schedule in Pinecone. Requires id. Returns schedule_id, name, index_id, project_id, schedule_type, frequency, retention_expire_after_days, enabled, next_scheduled_run, and created_at in the response.
- **Delete a Pinecone backup schedule by ID** (Delete). Delete a backup schedule in Pinecone using id. This operation removes the schedule but does not delete backups created by it. Returns a 204 status code upon successful deletion.
- **List all Pinecone backup schedule history** (List). List backup schedule history in Pinecone for a specific schedule_id. Returns details including backup_id, status, scheduled_execution_at, cloud, region, and created_at for each backup entry.
