apps/mcp-server is the governed MCP side road for ProofTrail.
It exposes this repository’s automation, reporting, and register orchestration flows as MCP tools for external AI clients without replacing the canonical public mainline.
This README documents a repo-native MCP surface and a later-lane package contract. It is not proof that ProofTrail already has a published registry package, published Docker image, or official vendor integration.
The repo now also materializes the official MCP Registry submission descriptor
at apps/mcp-server/server.json, but that artifact still does not imply a
live registry listing.
If you are a builder, do not choose between them by fashion. Choose by the shape of your integration:
This is also the truthful integration shape for Codex-, Claude Code-, OpenHands-, OpenCode-, and OpenClaw-style coding agents:
That includes Codex-, Claude Code-, OpenHands-, OpenCode-, OpenClaw-, and other AI-agent-shell workflows. The truthful pitch is not that this repo replaces those shells. The truthful pitch is that it gives them a governed browser-evidence and recovery layer.
For the direct search-intent page, see ProofTrail for Coding Agents and Agent Ecosystems.
uiq workflows, or orchestrate register flows without shelling into the repo directly.This is also the truthful fit for Codex, Claude Code, OpenHands, OpenCode, OpenClaw, and similar tool-using agent shells when they need:
Use MCP after you already understand the main product story:
just run remains the public default roadAs a practical rule of thumb:
pnpm mcp:start
pnpm mcp:check
pnpm mcp:test
pnpm test:mcp-server:real
Use this order if you are integrating ProofTrail into another agent stack:
pnpm test:contract
That repo-native contract pass already includes generated-client freshness.
pnpm contracts:check-openapi-coverage
pnpm mcp:check
pnpm mcp:test
That sequence keeps the contract layer and the governed tool layer honest before you attach a higher-level agent shell.
flowchart LR
A["MCP Client"] --> B["apps/mcp-server"]
B --> C["packages/orchestrator (uiq CLI)"]
B --> D["backend FastAPI"]
C --> E[".runtime-cache/artifacts/runs"]
D --> E
pnpm install.configs/profiles/, configs/targets/, and .runtime-cache/artifacts/runs/ from the workspace.If you are deciding whether you should be here or in the API docs first:
The checked-in generated client is a repo-local helper, not a published SDK.
stdio through pnpm mcp:start, with optional
UIQ_MCP_API_BASE_URL and UIQ_MCP_AUTOMATION_TOKEN when the MCP process
should talk to a live backend.@prooftrail/mcp-server and
ghcr.io/xiaojiou176-open/prooftrail-mcp-server:0.1.1.Registry submission artifact:
apps/mcp-server/server.json is the repo-local descriptor for official MCP
Registry submission.Use docs/reference/mcp-distribution-contract.md for the exact current-vs-future install contract.
This repo now includes a dedicated MCP container contract at
apps/mcp-server/Dockerfile.
That container surface is intentionally narrow:
dist/server.cjsstdio as the protocolUIQ_MCP_WORKSPACE_ROOTRepo verification command:
pnpm mcp:container:smoke
UIQ_MCP_API_BASE_URL: backend base URL for live API requests.UIQ_MCP_WORKSPACE_ROOT: override the workspace root if the MCP server should point at a different checkout.UIQ_MCP_DEV_RUNTIME_ROOT: override the local MCP runtime cache root for test harnesses.UIQ_MCP_TOOL_GROUPS: optional comma-separated advanced tool groups (advanced,register,proof,analysis or all).UIQ_MCP_FAKE_UIQ_BIN: test-only override for pnpm uiq execution in MCP tests.UIQ_ENABLE_REAL_BACKEND_TESTS: enables pnpm test:mcp-server:real against a real backend instead of skipping the suite.pnpm mcp:testpnpm mcp:smokepnpm test:mcp-server:realUIQ_ENABLE_REAL_BACKEND_TESTS=true and a reachable backend runtime.sessions -> flows -> runs path instead of the stubbed contract layer.just run