Metadata-Version: 2.4
Name: polyglot-mcp
Version: 0.1.0
Summary: In-process MCP gateway that routes an LLM to database operations across many engines
Project-URL: Homepage, https://github.com/polyglot-db/polyglot
Project-URL: Repository, https://github.com/polyglot-db/polyglot
Author: Polyglot Authors
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: database,gateway,llm,mcp,model-context-protocol,tools
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Database
Requires-Python: >=3.10
Requires-Dist: mcp>=1.2
Requires-Dist: polyglot-core<0.2,>=0.1.0
Provides-Extra: all
Requires-Dist: boto3>=1.34; extra == 'all'
Requires-Dist: pg8000>=1.30; extra == 'all'
Requires-Dist: pymongo>=4.6; extra == 'all'
Requires-Dist: pymysql>=1.1; extra == 'all'
Requires-Dist: redis>=5.0; extra == 'all'
Description-Content-Type: text/markdown

# polyglot-mcp (Python)

In-process MCP gateway that routes an LLM to database operations across many
engines (PostgreSQL, MySQL, SQLite, MongoDB, Redis, S3/MinIO). It wraps the
[`polyglot-core`](../polyglot-core) library and exposes each operation as an MCP
tool. Connections are pre-registered in a JSON config referenced by
`POLYGLOT_CONFIG`; the LLM only ever passes a connection *name*.

```bash
POLYGLOT_CONFIG=connections.json python -m polyglot_mcp.server
```

## Tools

`list_connections`, `describe_connection`, `health_check`, `list_namespaces`,
`list_tables`, `describe_table`, `run_query`, `explain_query`, `execute`,
`sample_data`, `count_rows`, `copy_data`.

## Transports

Defaults to **stdio** (Claude Desktop / Claude Code). For a remote/browser
client, serve over HTTP: `polyglot-mcp --http` (or `POLYGLOT_TRANSPORT=http`),
with `POLYGLOT_HOST` / `POLYGLOT_PORT` (default `127.0.0.1:8000`).

See `../TESTING.md` for a natural-language test script you can run from a Claude
client, and `../examples/` for a ready-to-use config and docker-compose stack.
