Back to the catalog

pREST

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

Open source Open in the app JSON README (API)

About

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

Details

Kind
MCP servers
Topic
Databases
Publisher
prest
Origin
official
Category
ferramentas
Transport
local
Version
0.1.3
Forks
1
Open pull requests
1
Last push
2026-07-10T02:01:33Z
Repository state
ativo
Language
Go
License
MIT
Added
2026-08-29 04:01:13
Updated
2026-08-29 04:01:13
Origin id
io.github.prest/prest

README

# pREST MCP Adapter

Official stdio adapter for [pREST](https://github.com/prest/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`.

```text
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

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

### Docker / OCI

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

## Local usage

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

### With token

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

### Docker usage

```bash
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`):

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

### Claude Desktop

Add to `claude_desktop_config.json`:

```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:

```bash
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

```bash
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](LICENSE).

More