Provides tools for connecting to and querying MySQL databases, with support for caching and bilingual prompts
Provides tools for connecting to and querying PostgreSQL databases, with support for caching and bilingual prompts
database_mcp
Pluggable MCP servers for MySQL and PostgreSQL with a shared core.
Each database has its own driver, prompts and server process.
A gateway.py file exposes both servers under a single FastAPI app.
Features
MySQL / PostgreSQL split: independent servers, drivers and prompts.
Optional TTL cache: global
.envswitch and per-calluse_cache/ttlparameters.Gateway:
/mysql/*and/pgsql/*routes served from one process.Easy extension: add new drivers, prompts and server files for other databases.
Related MCP server: DBHub
Project Structure
Running
Local
MySQL server:
uvicorn server_mysql:mcp.app --host 0.0.0.0 --port 8001PostgreSQL server:
uvicorn server_pgsql:mcp.app --host 0.0.0.0 --port 8002Gateway (both):
uvicorn gateway:app --host 0.0.0.0 --port 8000
Docker
Build image:
Run gateway (default):
Run only MySQL server:
Run only PostgreSQL server:
Environment variables for connection details and cache options are listed in .env.sample.