Skip to content

Database

Pinecone
API integration

Ship Database features without building the integration. Full Pinecone API access via Proxy and 50+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
Pinecone

Use Cases

Why integrate with Pinecone

Common scenarios for SaaS companies building Pinecone integrations for their customers.

01

Embed RAG into your SaaS product

Let your customers connect their own Pinecone account so your AI features (chatbots, copilots, smart search) retrieve context from their proprietary data without you hosting their vectors.

02

Offer a Pinecone destination for data sync

If you run an ETL, CMS, helpdesk, or CRM, let users automatically push their content into Pinecone as vectors so it becomes searchable by their AI stack.

03

Multi-tenant vector isolation for your users

Provision a dedicated Pinecone namespace or index per end-customer directly from your app, giving each tenant isolated vector storage without manual setup.

04

Compliance-ready data lifecycle management

Automatically delete vectors, records, or chunks from a customer's Pinecone index when they remove the source document in your app, keeping GDPR and audit workflows clean.

05

No-code AI workflow building blocks

Expose Pinecone as a step in your visual workflow or automation builder so non-technical users can embed text, upsert vectors, and run semantic searches without writing code.

What You Can Build

Ship these features with Truto + Pinecone

Concrete product features your team can ship faster by leveraging Truto’s Pinecone integration instead of building from scratch.

01

Index picker for end-user onboarding

Use list_all_pinecone_indexes and get_single_pinecone_index_by_id to let users pick or auto-provision the index your app should read from and write to.

02

Continuous knowledge sync to Pinecone

Push incremental updates from your app into the user's index using pinecone_vectors_bulk_create or pinecone_documents_bulk_create whenever source content changes.

03

In-app semantic search and RAG retrieval

Power AI responses by calling pinecone_vectors_search, pinecone_documents_search, or pinecone_records_search with metadata filters scoped to the active user or workspace.

04

Native embedding and reranking pipeline

Use create_a_pinecone_embedding to vectorize text on the fly and create_a_pinecone_rerank to reorder retrieved results before passing them to your LLM.

05

Namespace-per-tenant provisioning

Automatically call create_a_pinecone_namespace when a new workspace, project, or customer is created, and clean up with delete_a_pinecone_namespace_by_id on offboarding.

06

Bulk historical import from object storage

Trigger create_a_pinecone_import for large initial syncs from S3/GCS and monitor progress via list_all_pinecone_imports and get_single_pinecone_import_by_id.

SuperAI

Pinecone AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

get_single_pinecone_index_by_id

Get a single Pinecone index by id. Returns the index configuration including name, status, host, dimension, metric, spec, vector_type, deletion_protection, and tags. Required: id.

create_a_pinecone_index

Create a new Pinecone index for dense vectors, sparse vectors, or full-text search with a document schema. Returns the created index object including name, host, status, and spec. Required: name and spec.serverless (cloud and region) for standard indexes, or deployment (cloud and region) for document-schema indexes.

list_all_pinecone_indexes

List all Pinecone indexes in the current project. Returns an array of index objects each including name, dimension, metric, status, host, and spec.

update_a_pinecone_index_by_id

Update the configuration of a Pinecone index by id. Returns the updated index object. Required: id.

delete_a_pinecone_index_by_id

Delete a Pinecone index by id. Returns an empty response on success. Required: id.

pinecone_indexes_search

Search Pinecone indexes. Returns matching index objects.

update_a_pinecone_vector_by_id

Update the values and/or metadata of a single vector in a Pinecone index. Required: `id`.

delete_a_pinecone_vector_by_id

Delete vectors from a Pinecone index by IDs or a metadata filter expression. Returns an empty response on success.

pinecone_vectors_bulk_create

Upsert (insert or overwrite) a batch of dense or sparse vectors into a Pinecone index namespace. Returns the count of upserted vectors. Required: `vectors`.

get_single_pinecone_vector_by_id

Fetch one or more vectors from a Pinecone index by their IDs. Returns each vector's id, values, and metadata. Required: `ids`.

list_all_pinecone_vectors

List vector IDs stored in a Pinecone index namespace. Returns a list of vector id strings, optionally filtered by ID prefix.

pinecone_vectors_search

Query a Pinecone index for the nearest matching vectors to a given query vector or existing vector ID. Returns matches including id and score. Required: `topK`.

delete_a_pinecone_chunk_by_id

Delete chunks from a Pinecone index by namespace and filter criteria. Supports filtering by fields such as document_id and chunk_number to target specific chunks for removal. Required: namespace and filter.

create_a_pinecone_import

Start an asynchronous bulk import of vectors from object storage (S3, GCS, or Azure Blob Storage) into a Pinecone serverless index. Returns the `id` of the import operation for subsequent status tracking. Required: `uri`.

delete_a_pinecone_import_by_id

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. Required: `id`.

get_single_pinecone_import_by_id

Get details of a specific Pinecone bulk import operation by id. Returns: id, uri, status, percent_complete, records_imported, created_at, finished_at, and error (if failed). Required: `id`.

list_all_pinecone_imports

List all recent and ongoing Pinecone bulk import operations for an index. Returns: id, uri, status, percent_complete, records_imported for each import.

create_a_pinecone_collection

Create a Pinecone collection (static backup) from a pod-based index. Returns the created collection object including name and status. Required: name, source. Only supported for pod-based indexes; serverless indexes do not support collections.

list_all_pinecone_collections

List all Pinecone collections in the current project. Returns an array of collection objects including name, status, environment, size, vector_count, and dimension. Serverless indexes do not support collections.

delete_a_pinecone_record_by_id

Delete records from a Pinecone namespace by ID list, metadata filter, or all records at once. Returns an empty response on success. Required: `namespace`. Provide `ids` (up to 1000), a metadata `filter` expression, or `deleteAll: true` in the request body.

list_all_pinecone_records

List records in a Pinecone namespace. Returns an array of record objects including id and values. Required: `namespace`.

pinecone_records_search

Search a Pinecone namespace for semantically similar records using a text query. Returns hits with `_id`, `_score`, and requested `fields`. Required: `namespace` and `query` body object containing `top_k` and `inputs.text`.

create_a_pinecone_record

Upsert records into a Pinecone namespace using NDJSON format; inserts new records or updates existing ones matched by `id`. Returns an empty response on success. Required: `namespace`. Body must be newline-delimited JSON with one record object per line.

create_a_pinecone_project

Create a new Pinecone project in your organization. Returns: id, name, organization_id, created_at, max_pods, force_encryption_with_cmek. Required: name.

delete_a_pinecone_project_by_id

Delete a Pinecone project and all its associated configuration by id. All indexes, assistants, backups, and collections within the project must be removed before deletion; API keys are deleted automatically. Required: id.

get_single_pinecone_project_by_id

Get details about a specific Pinecone project by id. Returns: id, name, max_pods, force_encryption_with_cmek, organization_id, created_at. Required: id.

list_all_pinecone_projects

List all Pinecone projects in your organization. Returns an array of project objects each including id, name, max_pods, force_encryption_with_cmek, organization_id, and created_at.

update_a_pinecone_project_by_id

Update a Pinecone project's configuration by id. Supports changing the project name, maximum Pod count, or CMEK encryption setting. Returns the updated project including id, name, max_pods, force_encryption_with_cmek, organization_id, and created_at. Required: id.

pinecone_documents_bulk_create

Upsert documents into a Pinecone index namespace, inserting new documents or fully replacing existing ones matched by _id. Returns upserted_count. Required: namespace and documents array (1–1000 items, each with _id). Documents are indexed asynchronously and may not be immediately searchable.

pinecone_documents_search

Search Pinecone documents in a namespace using BM25 text, Lucene query_string, dense vector, or sparse vector ranking, with optional pre-scoring filters. Returns matches array with _id, _score, and any requested fields. Required: namespace, score_by, top_k. Max top_k is 10,000.

list_all_pinecone_search

Search a Pinecone index for records using a text query, sparse vector, or record ID. Returns hits with _id, _score, and matched field values. Required: namespace.

create_a_pinecone_api_key

Create a new Pinecone API key for a project. Returns the key object including id, name, project_id, roles, and the plaintext key value. Required: project_id, name, roles.

delete_a_pinecone_api_key_by_id

Delete a Pinecone API key by id. Returns an empty response on success. Required: id.

get_single_pinecone_api_key_by_id

Get details of a Pinecone API key by id, excluding the secret value. Returns: id, name, project_id, roles. Required: id.

list_all_pinecone_api_keys

List all Pinecone API keys in a project. Returns: id, name, project_id, roles for each key. Required: project_id.

update_a_pinecone_api_key_by_id

Update the name and roles of a Pinecone API key by id. Returns the updated key object including id, name, project_id, roles, and key value. Required: id.

create_a_pinecone_backup

Create a backup of a Pinecone index. Returns the backup object including backup_id, status, cloud, region, and created_at. Required: index_name.

delete_a_pinecone_backup_by_id

Delete a Pinecone backup by id. Returns an empty response on success. Required: id.

get_single_pinecone_backup_by_id

Get details of a Pinecone backup by id. Returns: backup_id, source_index_name, status, record_count, namespace_count, and created_at. Required: id.

list_all_pinecone_backups

List all backups for a Pinecone project. Returns an array of backup objects each including backup_id, source_index_name, status, record_count, and created_at.

get_single_pinecone_restore_job_by_id

Get a description of a specific Pinecone restore job by id. Returns: restore_job_id, backup_id, target_index_name, status, created_at, completed_at, percent_complete. Required: id.

list_all_pinecone_restore_jobs

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, created_at, completed_at, and percent_complete.

list_all_pinecone_index_backups

List all backups for a Pinecone index. Returns: backup_id, name, status, cloud, region, and created_at for each backup. Required: index_name.

create_a_pinecone_namespace

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 a namespace from a Pinecone serverless index by id. This operation is irreversible and permanently removes all data in the namespace. Returns an empty response on success. Required: id. Not supported for pod-based indexes.

get_single_pinecone_namespace_by_id

Get details about a specific namespace in a Pinecone serverless index by id. Returns: name, record_count. Required: id. Not supported for pod-based indexes.

list_all_pinecone_namespaces

List all namespaces in a Pinecone serverless index in sorted order. Returns an array of namespaces each with name and record_count. Not supported for pod-based indexes.

get_single_pinecone_model_by_id

Get a description of a specific Pinecone model by id. Returns: model name, type, vector_type, default_dimension, modality, provider_name, supported_metrics, supported_dimensions, and supported_parameters. Required: id.

list_all_pinecone_models

List all embedding and reranking models hosted by Pinecone. Returns an array of model objects each including model name, type, vector_type, default_dimension, modality, provider_name, and supported_parameters.

create_a_pinecone_embedding

Generate vector embeddings for input data using Pinecone's hosted embedding models. Returns: data (array of embedding value vectors), model name, and usage stats including total_tokens. Required: model and inputs.

create_a_pinecone_rerank

Rerank a list of documents by relevance to a query using Pinecone's inference API. Returns a ranked data array with each result's index, document content, and relevance score. Required: model, query, and documents.

create_a_pinecone_integrated_index

Create a Pinecone integrated index pre-configured for a specific embedding model. Returns the created index object. Required parameters must be supplied in the request body.

list_all_pinecone_vector_records

List vector records from a Pinecone index by fetching them via metadata filtering. Returns a collection of vectors stored at the resolved index host. Required: index_host.

get_single_pinecone_index_stat_by_id

Get statistics for a Pinecone index via the describe_index_stats endpoint. Returns index-level metrics such as total vector count and per-namespace breakdowns.

Why Truto

Why use Truto’s MCP server for Pinecone

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 500+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Pinecone in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Pinecone account

Use Truto’s frontend SDK to connect your customer’s Pinecone account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Pinecone

Truto’s Proxy API is a 1-to-1 mapping of the Pinecone API. You call us, we call Pinecone, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Pinecone’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Pinecone on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users authenticate their Pinecone account?

Pinecone uses API key authentication. Through Truto, your users provide their Pinecone API key during the connect flow, and Truto securely stores and injects it into every request — you never have to handle the credential yourself.

Can we provision isolated storage per end-customer?

Yes. You can either create a dedicated index per tenant with create_a_pinecone_index, or use a shared index and isolate tenants via create_a_pinecone_namespace. Truto exposes both lifecycle operations including delete and list endpoints.

Does Truto support Pinecone's serverless inference for embeddings and reranking?

Yes. create_a_pinecone_embedding generates vectors from raw text using Pinecone's hosted models, and create_a_pinecone_rerank reorders search results by relevance — both are accessible through the same unified connection.

How do we keep vectors in sync when source data changes or is deleted?

Use pinecone_vectors_bulk_create or pinecone_documents_bulk_create for upserts, and delete_a_pinecone_vector_by_id, delete_a_pinecone_record_by_id, or delete_a_pinecone_chunk_by_id to remove stale data — typically triggered from your app's own create/update/delete webhooks.

Can we run hybrid search combining keyword and vector queries?

Yes. pinecone_documents_search supports Pinecone's document schema which combines BM25 keyword scoring with vector similarity, and pinecone_vectors_search supports dense, sparse, and metadata-filtered queries.

How do we handle very large initial data loads for a new customer?

Use create_a_pinecone_import to ingest large datasets directly from object storage (S3/GCS) asynchronously, then poll get_single_pinecone_import_by_id or list_all_pinecone_imports to track completion before switching to incremental bulk upserts.

Pinecone

Get Pinecone integrated into your app

Our team understands what it takes to make a Pinecone integration successful. A short, crisp 30 minute call with folks who understand the problem.

Talk to us