Why
r/mcp feedback (2026-08). Today the sensor sees a catalog only when an agent lists tools, so the trail is bounded by which surfaces were covered and whether anyone opened their editor that day. The coverage attestation already admits this.
A reference observation taken on our own schedule, with a known auth state, would give a baseline that does not depend on someone working.
The interesting part is not the extra coverage. It is the comparison: if the reference observation and the agent observation disagree for the same server at the same time, that is a server presenting one catalog to a scanner and another to the real agent. That is much louder than a digest moving on its own, and no amount of fingerprinting a single vantage point will surface it.
Same shape as #104 but at the listing layer rather than at call time.
The constraint this runs into
mcp_schema.py states the rule plainly:
It does not spawn MCP servers. npx -y on a five-minute beat would fetch and run whatever the registry currently serves, which is the attack, performed by the recorder.
That reasoning holds for stdio, where talking to a server means executing it. It does not hold for remote transports, where we connect rather than spawn. The proxy is stdio-only today; SSE and streamable HTTP are on the roadmap without an issue.
Proposal
Design first, and explicitly scoped:
- Stdio: not doing this. The existing reasoning stands and should be quoted wherever this is discussed, so it does not get relitigated.
- Remote transports: gather a reference observation once that transport exists, on our schedule, with recorded auth state.
- Divergence as its own signal, distinct from a digest move. Needs a severity and a rule id.
- Reference observations must be marked as such in the trail. A reference baseline is a different kind of evidence from what an agent was actually handed, and attestation depends on not blurring the two.
Blocked on
Remote transport support in mcp_audit_proxy. Filing now so the divergence idea is not lost inside that work.
Source
Peer review on https://www.reddit.com/r/mcp/comments/1vvinyo/
Why
r/mcp feedback (2026-08). Today the sensor sees a catalog only when an agent lists tools, so the trail is bounded by which surfaces were covered and whether anyone opened their editor that day. The coverage attestation already admits this.
A reference observation taken on our own schedule, with a known auth state, would give a baseline that does not depend on someone working.
The interesting part is not the extra coverage. It is the comparison: if the reference observation and the agent observation disagree for the same server at the same time, that is a server presenting one catalog to a scanner and another to the real agent. That is much louder than a digest moving on its own, and no amount of fingerprinting a single vantage point will surface it.
Same shape as #104 but at the listing layer rather than at call time.
The constraint this runs into
mcp_schema.pystates the rule plainly:That reasoning holds for stdio, where talking to a server means executing it. It does not hold for remote transports, where we connect rather than spawn. The proxy is stdio-only today; SSE and streamable HTTP are on the roadmap without an issue.
Proposal
Design first, and explicitly scoped:
Blocked on
Remote transport support in
mcp_audit_proxy. Filing now so the divergence idea is not lost inside that work.Source
Peer review on https://www.reddit.com/r/mcp/comments/1vvinyo/