This page is for builders and operators who need the MCP side road without confusing it with the repo default road.
ProofTrail uses MCP as a governed integration surface for AI clients.
It does not turn MCP into a second backend or a replacement for just run.
This is also the page to read when your integration starts from Codex, Claude Code, or another tool-consuming AI-agent shell and you need to decide whether that shell should attach through MCP or through the API directly.
Repo mainline: just run / pnpm uiq run --profile pr --target web.local
Machine-readable MCP tool contract:
docs/reference/generated/mcp-tool-contract.md
Registry-facing MCP package/install contract:
docs/reference/mcp-distribution-contract.md
Optional advanced tool groups:
UIQ_MCP_TOOL_GROUPS=advanced,register,proof,analysis
The repo mainline is the public default road, while this MCP page is the operator side road.
If you use an internal generic run surface, it should still resolve to that same repo mainline rather than the manual workshop pipeline.
When you document an internal generic run surface,
it should still resolve to that same repo mainline
rather than the manual workshop pipeline.
Use this page when:
Do not treat MCP setup as the first-run public story.
Use this page if all three statements are already true:
just run is still the default public roadIf you are still deciding whether ProofTrail itself fits your category, read ProofTrail vs Generic Browser Agents first.
This page is also a truthful landing point if your search intent looked like:
MCP server for CodexMCP server for Claude CodeMCP browser automation for coding agentsMCP is not here to replace the mainline.
It matters because it lets an external AI client consume ProofTrail as a governed tool surface instead of forcing the client to speak raw REST or shell commands directly.
This MCP path is especially relevant when:
Truth boundary:
In ProofTrail, MCP is useful because it lets an external AI client:
That is the real category fit:
ProofTrail does not claim an official Codex-only or Claude Code-only MCP integration.
The truthful claim is:
That makes this page highly relevant to Codex- and Claude Code-style coding agent workflows without overstating product scope.
Do not start here if your real question is still one of these:
In those cases, go back to:
Use API when you want direct request/response control.
Use MCP when an external AI client should consume tools instead of raw REST semantics.
That makes MCP especially relevant for browser automation because it keeps the agent shell and the browser/evidence/recovery substrate separate and honest.
That is the truthful Codex / Claude Code angle here:
| If your main need is… | Start here | Why |
|---|---|---|
| prove one workflow locally | just run |
deterministic first-proof path |
| integrate exact request/response semantics | API Builder Quickstart | API is the contract layer |
| let an external AI client call governed tools | ProofTrail MCP Server README | MCP is the governed tool layer |
If you already know you need MCP, keep the first pass short:
pnpm mcp:checkThat order prevents a common mistake: treating MCP like a shortcut around the repo contract and evidence model.
The current supported install mode is local checkout + stdio.
Example configuration:
{
"mcpServers": {
"prooftrail": {
"command": "pnpm",
"args": ["mcp:start"],
"cwd": "/absolute/path/to/prooftrail"
}
}
}
Optional backend token forwarding example:
{
"mcpServers": {
"prooftrail": {
"command": "pnpm",
"args": ["mcp:start"],
"cwd": "/absolute/path/to/prooftrail",
"env": {
"UIQ_MCP_API_BASE_URL": "http://127.0.0.1:18080",
"UIQ_MCP_AUTOMATION_TOKEN": "optional-backend-token"
}
}
}
}
Protocol and auth boundary:
stdiostdiolocal-with-optional-backend-tokenThe following surfaces are part of the public contract now, but they are not usable today because they are not yet published:
@prooftrail/mcp-serverghcr.io/xiaojiou176-open/prooftrail-mcp-server:0.1.1Future package example (not yet published):
{
"mcpServers": {
"prooftrail": {
"command": "npx",
"args": ["-y", "@prooftrail/mcp-server@0.1.1"]
}
}
}
Future Docker example (not yet published):
{
"mcpServers": {
"prooftrail": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"/absolute/path/to/prooftrail:/workspace",
"-e",
"UIQ_MCP_WORKSPACE_ROOT=/workspace",
"ghcr.io/xiaojiou176-open/prooftrail-mcp-server:0.1.1"
]
}
}
}
That reading path keeps MCP in the right role: