← Files connectpakARCHIVED FILE
README.md
4.12 KB · Nov 15, 2026 · 07:40 UTC
# connectpak Read-only access to 24 databases for Claude and other AI agents, over the Model Context Protocol (MCP). Point it at a database and the agent can list schemas, describe tables, sample rows, and run queries. It can't change anything: every write is rejected before it reaches the database and again by the database's own read-only mode. ## Setup Install the plugin, then set two options: - **Connection string** (required, stored in your OS credential store): the DSN, URL, file path, or key for your database. Use read-only credentials. - **Engine** (optional): only needed when the engine can't be read from the connection string. See the table. `uv` must be installed (https://docs.astral.sh/uv/). | Database | Engine | How it's chosen | Connection example | | --- | --- | --- | --- | | Postgres | `postgres` | detected | `postgresql://reader:pw@db.example.com:5432/app` | | SQLite | `sqlite` | detected | `/Users/me/data/analytics.sqlite` | | MySQL | `mysql` | detected | `mysql://reader:pw@db.example.com:3306/app` | | ClickHouse | `clickhouse` | detected | `clickhouse://reader:pw@localhost:8123/default` | | SQL Server | `sqlserver` | detected | `mssql://reader:pw@db.example.com:1433/app` | | Oracle | `oracle` | set Engine | `reader/pw@db.example.com:1521/ORCLPDB1` | | BigQuery | `bigquery` | set Engine | `my-gcp-project` | | Snowflake | `snowflake` | detected | `snowflake://user:pw@account/db/schema?warehouse=WH&role=READONLY` | | Redshift | `redshift` | detected | `redshift://user:pw@host:5439/db` | | Databricks | `databricks` | detected | `databricks://token:dapi-xxxxx@host.cloud.databricks.com?http_path=/sql/1.0/...` | | MongoDB | `mongodb` | detected | `mongodb://user:pw@host:27017/dbname` | | DynamoDB | `dynamodb` | set Engine | `us-east-1` | | Elasticsearch | `elasticsearch` | set Engine | `http://elastic:pw@localhost:9200` | | Cassandra | `cassandra` | set Engine | `user:pw@127.0.0.1:9042` | | Neo4j | `neo4j` | detected | `neo4j+s://neo4j:pw@cluster.example.com` | | Memgraph | `memgraph` | set Engine | `bolt://user:pw@localhost:7687` | | ArangoDB | `arangodb` | set Engine | `http://root:pw@localhost:8529/_system` | | Amazon Neptune | `neptune` | detected | `wss://my-cluster.cluster-xxxx.us-east-1.neptune.amazonaws.com:8182/gremlin` | | pgvector | `pgvector` | set Engine | `postgresql://reader:pw@db.example.com:5432/app` | | Pinecone | `pinecone` | set Engine | `pcsk_xxxxx` | | Weaviate | `weaviate` | set Engine | `https://my-cluster.weaviate.network` | | Qdrant | `qdrant` | set Engine | `https://api-key@my-cluster.qdrant.io` | | Chroma | `chroma` | set Engine | `http://localhost:8000` | | Milvus | `milvus` | set Engine | `http://localhost:19530` | BigQuery uses Google Application Default Credentials. DynamoDB uses the standard AWS credential chain. ## What it includes - An MCP server named `connectpak` with six tools: `list_schemas`, `list_tables`, `describe_table`, `sample_table`, `query`, and `explain`. - Four skills that teach the agent a safe workflow (orient, read the schema, sample, query narrowly) and each engine's query format: `explore-sql`, `explore-documents`, `explore-graph`, and `explore-vector`. ## What it runs, sends, and fetches - **Runs:** `uvx --from connectpak==0.1.1 connectpak`. On first start, uv downloads the `connectpak` package at that exact version, and its dependencies (the database drivers), from PyPI. It's cached after that. - **Connects to:** only the database in your connection string, using that database's official driver. - **Sends:** query results go to the agent in your session. connectpak has no telemetry, and it doesn't send data anywhere else. - **Stores:** nothing. The connection string is kept by Claude Code in your OS credential store. ## Safety Read-only is enforced twice: by a query guard (a full SQL parse for SQL engines, whitelisted operations for document and vector stores, and a write-keyword screen for graph languages) and by the engine's own read-only mode. Every query has a 30-second timeout and a 1,000-row cap. Use a database role that can only read anyway. Source, issues, and security reports: https://github.com/arunvenkatadri/connectpak. MIT licensed.
SHA-256: fccad8ef6c5a5d8aa9134a52d0b9645a091b58fee6989c5c2ff7f8d3b5fea56c