Help us shape the future of Go! Take the 2026 Go Developer Survey

prest-mcp-adapter

module
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2026 License: MIT

README

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

Variable Required Default Description
PREST_MCP_URL yes — URL of the pREST HTTP MCP endpoint, e.g. http://localhost:3000/_mcp
PREST_MCP_TOKEN no — Bearer token when pREST auth is enabled
PREST_MCP_TIMEOUT_MS no 30000 HTTP 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.

Directories

Path Synopsis
cmd
prest-mcp command
Command prest-mcp is the official stdio adapter for pREST's HTTP MCP endpoint.
Command prest-mcp is the official stdio adapter for pREST's HTTP MCP endpoint.
internal
config
Package config loads adapter settings from environment variables.
Package config loads adapter settings from environment variables.
logging
Package logging configures slog to write only to stderr.
Package logging configures slog to write only to stderr.
proxy
Package proxy forwards MCP JSON-RPC messages to pREST's HTTP MCP endpoint.
Package proxy forwards MCP JSON-RPC messages to pREST's HTTP MCP endpoint.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL