Skip to content

Releases: hyperpolymath/poly-db-mcp

v1.2.0 - 20 Database Adapters

13 Dec 08:26

Choose a tag to compare

What's New

Added 4 new database adapters, bringing the total to 20 databases supported through a single MCP interface.

New Adapters

Database Tools Description
ArangoDB 13 Multi-model (document + graph + KV), AQL queries
Virtuoso 14 RDF triplestore, SPARQL, linked data
CouchDB 13 Document DB with HTTP REST API, Mango queries
Cassandra 12 Distributed wide-column store, CQL queries

Merged Projects

  • arango-mcp → now integrated as adapters/arangodb.js
  • virtuoso-mcp → now integrated as adapters/virtuoso.js

Full Database Support

Relational: PostgreSQL, MariaDB, SQLite
Document: MongoDB, SurrealDB, ArangoDB, CouchDB
Graph: Neo4j, Virtuoso
Wide Column: Cassandra
Cache/KV: Dragonfly/Redis, Memcached, LMDB
Search: Elasticsearch, Meilisearch
Vector: Qdrant
Time Series: InfluxDB
Analytics: DuckDB
Specialized: XTDB, iTop

Installation

claude mcp add polyglot-db -- deno run \
  --allow-net --allow-read --allow-write --allow-env \
  $(pwd)/index.js

Full Changelog: v1.0.0...v1.2.0

v1.1.0 - Connection Pooling & Containers

12 Dec 09:25

Choose a tag to compare

What's New

Connection Pooling

All three primary database adapters now have explicit, configurable connection pooling:

PostgreSQL:

  • POSTGRES_POOL_MAX - Maximum connections (default: 10)
  • POSTGRES_IDLE_TIMEOUT - Seconds before idle connection closed (default: 30)
  • POSTGRES_CONNECT_TIMEOUT - Connection timeout in seconds (default: 10)

MongoDB:

  • MONGODB_POOL_MAX - Maximum connections (default: 10)
  • MONGODB_POOL_MIN - Minimum connections (default: 1)
  • MONGODB_IDLE_TIMEOUT - Idle timeout in ms (default: 30000)
  • MONGODB_CONNECT_TIMEOUT - Connect timeout in ms (default: 10000)
  • MONGODB_SERVER_TIMEOUT - Server selection timeout in ms (default: 30000)

MariaDB:

  • MARIADB_POOL_MAX - Maximum connections (default: 10)
  • MARIADB_ACQUIRE_TIMEOUT - Acquire timeout in ms (default: 10000)
  • MARIADB_IDLE_TIMEOUT - Idle timeout in ms (default: 30000)
  • MARIADB_CONNECT_TIMEOUT - Connect timeout in ms (default: 10000)

Container Support

Run polyglot-db-mcp in containers for production deployments:

# nerdctl (containerd)
nerdctl run -d --name polyglot-db \
  -e POSTGRES_HOST=host.docker.internal \
  ghcr.io/hyperpolymath/polyglot-db-mcp:latest

# podman
podman run -d --name polyglot-db \
  -e POSTGRES_HOST=host.containers.internal \
  ghcr.io/hyperpolymath/polyglot-db-mcp:latest

# docker
docker run -d --name polyglot-db \
  -e POSTGRES_HOST=host.docker.internal \
  ghcr.io/hyperpolymath/polyglot-db-mcp:latest

Better Error Messages

Connection failures now provide clearer error messages indicating which environment variables to check.


Full Changelog: v1.0.0...v1.1.0

v1.0.0 - Unified MCP Server for 16 Databases

12 Dec 09:14

Choose a tag to compare

Polyglot DB MCP v1.0.0

One MCP server. 16 databases. Zero context switching.

Query PostgreSQL, MongoDB, Neo4j, Elasticsearch, Redis, and 11 more databases through a single unified interface. Built with ReScript, runs on Deno.

Supported Databases

Category Databases
Relational PostgreSQL, MariaDB, SQLite
Document MongoDB, SurrealDB
Graph Neo4j
Cache/KV Dragonfly/Redis, Memcached, LMDB
Search Elasticsearch, Meilisearch
Vector Qdrant
Time Series InfluxDB
Analytics DuckDB
Specialized XTDB (bitemporal), iTop (CMDB)

Highlights

  • 16 database adapters — comprehensive coverage across database types
  • ReScript core — 5 adapters in ReScript for type safety
  • Natural language — ask Claude to query any database conversationally
  • Cross-database workflows — query PostgreSQL, cache in Redis, search in Elasticsearch
  • CI/CD — automated language policy enforcement

Quick Start

# Add to Claude Code
claude mcp add polyglot-db -- deno run \
  --allow-net --allow-read --allow-write --allow-env \
  /path/to/polyglot-db-mcp/index.js

License

Dual-licensed: MIT OR AGPL-3.0-or-later — your choice.

We encourage layering the Palimpsest License for ethical AI development.


© 2025 Jonathan D.A. Jewell (@hyperpolymath)