Skip to main content

Pinecone Read-Only MCP

PyPI version Python Versions License: BSL-1.0

A Model Context Protocol (MCP) server that provides semantic search over Pinecone vector databases using hybrid search (dense + sparse) with reranking.

Features

  • Hybrid Search: Combines dense and sparse embeddings for superior recall
  • Semantic Reranking: Uses BGE reranker model for improved precision
  • Dynamic Namespace Discovery: Automatically discovers available namespaces in your Pinecone index
  • Metadata Filtering: Supports optional metadata filters for refined searches
  • Fast & Optimized: Lazy initialization, connection pooling, and efficient result merging
  • Production Ready: Input validation, error handling, and configurable logging

Installation

In a uv managed python project, add to dependencies by:

uv add pinecone-read-only-mcp

Alternatively, for projects using pip for dependencies:

pip install pinecone-read-only-mcp

To run the server inside your project:

uv run pinecone-read-only-mcp --api-key YOUR_PINECONE_API_KEY

Or to run it globally in isolated environment:

uvx pinecone-read-only-mcp --api-key YOUR_PINECONE_API_KEY

To install directly from the source:

git clone https://github.com/iTinkerBell/pinecone-read-only-mcp.git
cd pinecone-read-only-mcp
pip install -e .

Configuration

The server requires a Pinecone API key and supports the following configuration options:

Environment Variables

Variable Required Default Description
PINECONE_API_KEY Yes - Your Pinecone API key
PINECONE_INDEX_NAME No rag-hybrid Pinecone index name
PINECONE_RERANK_MODEL No bge-reranker-v2-m3 Reranking model
PINECONE_READ_ONLY_MCP_LOG_LEVEL No INFO Logging level

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "pinecone-search": {
      "command": "uvx",
      "args": ["pinecone-read-only-mcp"],
      "env": {
        "PINECONE_API_KEY": "your-api-key-here"
      }
    }
  }
}

Or with explicit options:

{
  "mcpServers": {
    "pinecone-search": {
      "command": "uvx",
      "args": [
        "pinecone-read-only-mcp",
        "--api-key", "your-api-key-here",
        "--index-name", "your-index-name",
        "--rerank-model", "bge-reranker-v2-m3"
      ]
    }
  }
}

Usage

Command Line

The server can be run in two modes:

Standard I/O mode (default):

pinecone-read-only-mcp --api-key YOUR_API_KEY

SSE transport mode (for web applications):

pinecone-read-only-mcp --api-key YOUR_API_KEY --transport sse --port 8000

Available Options

--api-key TEXT        Pinecone API key (or set PINECONE_API_KEY env var)
--index-name TEXT     Pinecone index name [default: rag-hybrid]
--rerank-model TEXT   Reranking model [default: bge-reranker-v2-m3]
--transport [stdio|sse]  Transport type [default: stdio]
--port INTEGER        Port for SSE transport [default: 8000]
--log-level [DEBUG|INFO|WARNING|ERROR|CRITICAL]  Logging level [default: INFO]

API Documentation

The server exposes the following tools via MCP:

list_namespaces

Discovers and lists all available namespaces in the configured Pinecone index.

Parameters: None

Returns: JSON object with available namespaces and count

Example response:

{
  "status": "success",
  "namespaces": ["namespace1", "namespace2", "namespace3"],
  "count": 3
}

query

Performs hybrid semantic search over the specified namespace in the Pinecone index.

Parameters:

Parameter Type Required Default Description
query_text string Yes - Search query text
namespace string Yes - Namespace to search (use list_namespaces to discover)
top_k integer No 10 Number of results (1-100)
use_reranking boolean No true Enable semantic reranking

Returns: JSON object with search results including content, relevance scores, and metadata

Example response:

{
  "status": "success",
  "query": "your search query",
  "namespace": "namespace1",
  "result_count": 10,
  "results": [
    {
      "paper_number": "DOC-001",
      "title": "Document Title",
      "author": "Author Name",
      "url": "https://example.com/doc",
      "content": "Document content preview...",
      "score": 0.9234,
      "reranked": true
    }
  ]
}

How It Works

  1. Namespace Discovery: The list_namespaces tool queries your Pinecone index stats to discover available namespaces
  2. Hybrid Search: When querying, the tool searches both dense and sparse indexes in parallel
  3. Result Merging: Results from both indexes are merged and deduplicated
  4. Reranking (optional): The merged results are reranked using a semantic reranker for improved relevance

Dependencies

  • anyio (>=4.5.0)
  • click (>=8.1.8)
  • mcp (>=1.6.0)
  • pinecone (>=5.0.0)
  • python-dotenv (>=1.0.0)
  • pydantic (>=2.0.0)

Development

Setup Development Environment

git clone https://github.com/iTinkerBell/pinecone-read-only-mcp.git
cd pinecone-read-only-mcp
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"

Code Quality

# Run linting
uv run ruff check .

# Run formatting check
uv run ruff format --check .

# Run security checks
uv run bandit -r src/

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin feature-name
  5. Submit a pull request

License

This project is licensed under the Boost Software License 1.0 - see the LICENSE file for details.

Authors

Acknowledgements

This project uses Pinecone for vector storage and retrieval. The hybrid search approach combines dense embeddings with sparse BM25-style retrieval for optimal results.

Metadata

Release files for pinecone-read-only-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pinecone-read-only-mcp 0.1.0
File Size Uploaded Provenance
pinecone_read_only_mcp-0.1.0.tar.gz 100.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pinecone-read-only-mcp 0.1.0
File Interpreter ABI Platform
pinecone_read_only_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 112.1 kB

Release files / pinecone_read_only_mcp-0.1.0.tar.gz

Download URL pinecone_read_only_mcp-0.1.0.tar.gz
Size 100.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6297fe1ee0e342c365e9635dd6a004a2a1307bdc4fbe5099d2f966d14ba98615
BLAKE2b-256 checksum
How to use checksums
17a5827bf9b18305e09889843cd0e81f42a2cecbd299b206b3fb4278b5de027f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 26, 2026.

Transparency log

Release files / pinecone_read_only_mcp-0.1.0-py3-none-any.whl

Download URL pinecone_read_only_mcp-0.1.0-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
72aa4bde89e25e68361c5bde0a55449b58b9b1a0ebe7f8ee5109b143ca810d57
BLAKE2b-256 checksum
How to use checksums
d3109bbf353aecccbca4c6dbb7c06fc1c5545351c4d18e129c8139ee3e765504
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 26, 2026.

Transparency log

Security for pinecone-read-only-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pinecone_read_only_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 26, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page