Skip to content

Add a verifiable MCP audit interceptor proof#535

Merged
creatornader merged 1 commit into
mainfrom
feat/mcp-verifiable-audit-interceptor
Jul 19, 2026
Merged

Add a verifiable MCP audit interceptor proof#535
creatornader merged 1 commit into
mainfrom
feat/mcp-verifiable-audit-interceptor

Conversation

@creatornader

Copy link
Copy Markdown
Owner

Summary

  • implement the Interceptors WG draft methods over a real MCP TypeScript client and server
  • emit one signed hash-only receipt after exact request and response pairing
  • keep tool payloads in a private sidecar and leave missing or conflicting identities unpaired
  • document the proof and register its record treatment

Why

The current interceptor draft exposes optional traceId and spanId fields but does not require a stable operation identity across request and response phases. This proof shows both sides of that boundary and uses ValidationResult.info["dev.atrib/attribution"] as a candidate receipt carrier.

Testing

  • pnpm --filter @atrib/integration... build
  • pnpm --filter @atrib/integration test -- mcp-interceptor-audit.test.ts
  • pnpm --filter @atrib/integration mcp-interceptor-audit
  • pnpm doc-sync

Local ESLint currently crashes before reading files because typescript-eslint@8.64.0 declares TypeScript support below 6.1 while this repo uses TypeScript 7.0.2. This PR does not change that dependency mismatch.

@creatornader
creatornader force-pushed the feat/mcp-verifiable-audit-interceptor branch from f5a0803 to d485f4d Compare July 19, 2026 10:17
@creatornader
creatornader merged commit af2adff into main Jul 19, 2026
14 checks passed
@creatornader
creatornader deleted the feat/mcp-verifiable-audit-interceptor branch July 19, 2026 10:23
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