sql-mcp
by edintwi
README.md
# sql-mcp
Local MCP server exposed over HTTP that runs inside Docker and provides a single `query` tool against a PostgreSQL database supplied via `DATABASE_URL`.
## Configure
```bash
cp .env.example .env
# edit .env and set DATABASE_URL
```
## Run with Docker
```bash
docker compose up --build
```
The MCP endpoint is then available at `http://localhost:3000/mcp`.
## Run locally (without Docker)
```bash
npm install
npm run build
npm start
# or, for hot reload:
npm run dev
```
## Register with an MCP client
Point your MCP-compatible client at the streamable HTTP endpoint:
```
http://localhost:3000/mcp
```
The transport is `streamable-http`. Initialize the session with a standard MCP `initialize` request; subsequent requests must include the `mcp-session-id` header returned by the server.
## Tool
- `query({ sql: string, params?: unknown[] })` — runs a parameterized SQL statement and returns `{ command, rowCount, rows }` as JSON. Use `$1`, `$2`, ... in `sql` and pass values in `params`.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues