Odel
pREST

pREST

Local
@prestGoMITUpdated 1mo ago

Stdio MCP adapter bridging AI clients to pREST’s HTTP /_mcp endpoint for PostgreSQL APIs.

pREST MCP Adapter

Official stdio adapter for pREST’s HTTP MCP endpoint.

This adapter lets MCP clients that require stdio connect to a running pREST instance exposing an HTTP MCP endpoint at /_mcp.

MCP client / AI IDE
        ↓ stdio (NDJSON JSON-RPC)
prest-mcp
        ↓ HTTP POST
http://localhost:3000/_mcp
        ↓
pREST

The adapter is a tiny transport bridge. It does not introspect schemas, generate SQL, or implement MCP tools. Those live in pREST.

Requirements

  • A running pREST instance with the /_mcp route available
  • Go 1.26+ (to build from source)

Environment variables

VariableRequiredDefaultDescription
PREST_MCP_URLyesURL of the pREST HTTP MCP endpoint, e.g. http://localhost:3000/_mcp
PREST_MCP_TOKENnoBearer token when pREST auth is enabled
PREST_MCP_TIMEOUT_MSno30000HTTP timeout in milliseconds

Install

From source

go install github.com/prest/prest-mcp-adapter/cmd/prest-mcp@latest

Docker / OCI

docker pull ghcr.io/prest/prest-mcp-adapter:0.1.3

Local usage

PREST_MCP_URL=http://localhost:3000/_mcp prest-mcp

With token

PREST_MCP_URL=https://api.example.com/_mcp \
PREST_MCP_TOKEN=secret \
prest-mcp

Docker usage

docker run --rm -i \
  -e PREST_MCP_URL=http://host.docker.internal:3000/_mcp \
  ghcr.io/prest/prest-mcp-adapter:0.1.3

MCP client configuration

Cursor

Add to your MCP settings (e.g. .cursor/mcp.json):

{
  "mcpServers": {
    "prest": {
      "command": "prest-mcp",
      "env": {
        "PREST_MCP_URL": "http://localhost:3000/_mcp"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "prest": {
      "command": "prest-mcp",
      "env": {
        "PREST_MCP_URL": "http://localhost:3000/_mcp"
      }
    }
  }
}

Generic MCP client

Any client that can launch a stdio MCP server:

PREST_MCP_URL=http://localhost:3000/_mcp prest-mcp

Protocol messages are newline-delimited JSON-RPC on stdin/stdout. Logs go only to stderr.

Security recommendation

Use a read-only PostgreSQL user for AI/MCP workflows unless write access is explicitly required.

Do not expose unauthenticated MCP endpoints publicly.

Prefer local or private-network pREST MCP endpoints.

When pREST auth is enabled, set PREST_MCP_TOKEN to a valid JWT.

Development

make test       # go test -race ./... and overall coverage >= 80%
make coverage   # coverage gate only
make vet
make build      # writes bin/prest-mcp

License

MIT — see LICENSE.