REFERENCE · CONNECT
Point your agent at Preston.
Preston is one MCP server, reached over HTTPS at a single endpoint. Any MCP-capable agent can use it — the setup is the same three facts everywhere: the endpoint, a bearer key, and the one line of config your client wants them in. Below is that line for each client. Reads are reflexive and never ask; only request_review confirms first.
- endpoint
- POST https://api.preston.bot/mcp
- auth
- Authorization: Bearer <PRESTON_API_KEY>
The host shown is the production default. <PRESTON_API_KEY> is a placeholder — an account admin mints the real one in the app under Settings → API keys. The key is shown once at mint; paste it wherever the placeholder appears below.
A native client takes the endpoint and a header as-is. A bridged client can only spawn a local command, so it reaches Preston through mcp-remote — a small proxy (run via npx) that turns the HTTP endpoint into the local server the client expects, and forwards the key. You never install it; npx fetches it on first run.
Adds Preston as an HTTP MCP server, key and all, in a single command — no file to edit.
claude mcp add --transport http preston \ https://api.preston.bot/mcp \ --header "Authorization: Bearer <PRESTON_API_KEY>"
Run it in the repo you want the agent to work in. claude mcp list confirms it registered.
Cursor speaks remote MCP directly — point it at the endpoint and carry the key in a header.
{
"mcpServers": {
"preston": {
"url": "https://api.preston.bot/mcp",
"headers": { "Authorization": "Bearer <PRESTON_API_KEY>" }
}
}
}Global at ~/.cursor/mcp.json, or per-project at .cursor/mcp.json in the repo root.
Bridged through mcp-remote — the most reliable path for a static-key server on current builds.
{
"mcpServers": {
"preston": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.preston.bot/mcp",
"--header", "Authorization: Bearer <PRESTON_API_KEY>"
]
}
}
}macOS: ~/Library/Application Support/Claude/claude_desktop_config.json — restart the app after saving. Newer builds can instead add Preston under Settings → Connectors as a custom connector.
Codex's config is TOML and it spawns local processes only, so mcp-remote bridges to the HTTP endpoint.
[mcp_servers.preston] command = "npx" args = ["-y", "mcp-remote", "https://api.preston.bot/mcp", "--header", "Authorization: Bearer <PRESTON_API_KEY>"]
The mcp-remote bridge is what lets a stdio-only client reach a remote server at all.
The exact server shape the Preston CLI hands any Claude-compatible client — verified against the wiring.
{
"mcpServers": {
"preston": {
"type": "http",
"url": "https://api.preston.bot/mcp",
"headers": { "Authorization": "Bearer <PRESTON_API_KEY>" }
}
}
}The rule generalizes. If your client speaks remote MCP, give it the endpoint and the Authorization header. If it only spawns local commands, wrap the endpoint in the bridge:
npx -y mcp-remote https://api.preston.bot/mcp --header "Authorization: Bearer <PRESTON_API_KEY>"
Your client’s own MCP docs are the final word on where its config lives and what keys it expects — these are the current forms, not a contract each vendor owes you.
Once connected, make one read to ground the agent. New here? Call start_here — it returns a short guided first session built from what this team has climbed. Already know the repo? Call orient with a repo for the session briefing. Both are read-only and require no confirmation.
the endpoint and the auth header are read straight off Preston’s own wiring. the per-client config is each client’s documented MCP surface — verified where this repo can, deferred to the vendor where it can’t. nothing here is invented.
NEXT
The tools →RELATED
Back to the docs home →