Skip to content

docs: assess whether this project should expose an MCP server - #44

Merged
webdevsamran merged 1 commit into
mainfrom
docs/mcp-exposure
Sep 9, 2026
Merged

docs: assess whether this project should expose an MCP server#44
webdevsamran merged 1 commit into
mainfrom
docs/mcp-exposure

Conversation

@webdevsamran

Copy link
Copy Markdown
Owner

Phase 16 of the plan asks for this evaluation and assumes the answer: "all four are strong candidates". Working through them one at a time, that is not what the code says.

Project Verdict Why
api-verity-lab yes, read-only subset Bounded questions about files on disk; already emits result-v1 artifacts
devrepro-doctor yes — strongest of the four Read-only by design, and output already passes a privacy gate before serialization
tooltrace-bench mostly no Exposing the scorer is a contamination problem, not an engineering one
aihwbench split — read yes, run no Not danger; a benchmark invoked concurrently produces two wrong numbers

Where the plan's assumption breaks

tooltrace-bench. An agent that can call run can run itself, retry until the score improves, and report the best result — with the same provenance as an honest one. Nothing in the protocol distinguishes that from a legitimate call. It's also already an MCP client (tooltrace/agents/mcp.py speaks JSON-RPC over stdio with conformance fixtures), which is the useful direction: MCP servers are something this benchmark measures, not something it needs to become.

aihwbench. benchmark takes minutes and assumes it owns the machine. Two concurrent calls produce two invalid numbers, published with a full hardware manifest that makes them look trustworthy. The read side — especially compare, which can answer "you may not compare these, and here is why" — is a genuinely good fit.

devrepro-doctor is the strongest case precisely because its output already passes through devrepro/privacy/ before serialization. Most machine-inspection tools are unsafe behind an agent because their output is full of paths, usernames and environment variables; this one treats that as a correctness property. Its one hard exclusion is fix, whose --yes gate exists so a human confirms remediation — an MCP call would move that confirmation to a model.

What these documents are

Assessments, not features. Nothing is built. Each states what would be exposed, what deliberately would not be, and what has to be true first — recorded while the reasoning is fresh, and explicit that this is not a capability the project currently has.

The constraint common to all four: path confinement. Every candidate tool takes a file path, and a server handing an agent unrestricted filesystem reach through a path argument is a hazard whatever the tool does with it.

Phase 16 of the plan asks for this evaluation and assumes the answer: "all four
are strong candidates". Working through them one at a time, that is not what
the code says.

This project's verdict: mostly no - it would compromise the benchmark.

The plan's assumption holds for api-verity-lab and devrepro-doctor, which
answer bounded questions from files on disk and already emit structured
artifacts. It does not hold for tooltrace-bench, where letting an agent invoke
the scorer is a contamination problem rather than an engineering one -- an
agent that can call `run` can run itself, retry until the score improves, and
report the best result with the same provenance as an honest one. And it half
holds for aihwbench, where the constraint is not danger but meaning: a
benchmark invoked concurrently by two agents produces two wrong numbers and
says nothing about it.

Each document states what would be exposed, what would deliberately not be,
and what has to be true first. Nothing is built. The point is to record the
reasoning while it is fresh rather than to ship a surface nobody has thought
about, and to be clear that this is an assessment rather than a capability the
project has.

The recurring "what has to be true first" across all four is path confinement:
every candidate tool takes a file path, and an MCP server that hands an agent
unrestricted filesystem reach through a path argument is a real hazard whatever
the tool does with it.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@webdevsamran
webdevsamran merged commit 1ae3861 into main Sep 9, 2026
12 checks passed
@webdevsamran
webdevsamran deleted the docs/mcp-exposure branch September 9, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant