GLP Audit Trail for MCP - Setup and Verification
Set up the open-source mcp-glp-audit-proxy: deny-by-default policy, hash-chained audit trail, chain verification, OQ-style report and reconciliation SOP.
$39
Works with the AI Agents you already use
GLP Audit Trail for MCP - Setup and Verification
Example session with this skill installed
An approver must sign off before a write goes to the Excel server. Walk me through the human approval flow in mcp-glp-audit-proxy.
- Read your context and instructions
- Compiled the glp audit trail
Human approval applies when require_approval_for_writes is true and the tool matches write_tools.
Approval flow
- The operator calls the write tool as usual (with a reason). The proxy does not forward it. It logs a
pending_approvalentry and replies withapproval_id=<uuid> args_hash=<sha256>. The approval expires afterapproval_ttl_seconds(default 3600). - A different person, running the proxy with
GLP_PRINCIPAL_ROLE=approver, callsglp_approve. Input schema:approval_id(string, required) andmeaning(required, one ofapproved,reviewed,rejected):
{"approval_id": "3f0c9a2e-7b1d-4c55-9e1a-2d6f8b0c4e11", "meaning": "approved"}
- The operator repeats the exact same call (same tool, identical arguments) and adds the id in
_meta:
{
"name": "excel__write_cell",
"arguments": {"cell": "B2", "value": 42, "_glp_reason": "Correct transcription error"},
"_meta": {"io.github.antonio-castellon/approvalId": "3f0c9a2e-7b1d-4c55-9e1a-2d6f8b0c4e11"}
}
The call is forwarded only if all checks pass; otherwise it is refused and logged as approval refused (<problem>):
unknown: no such approval id.self: the requester cannot approve their own write (glp_approvealso refuses this directly).role: the decision was not made by theapproverrole.meaning: onlyapprovedauthorises.reviewedis recorded but does not authorise the write.rejected: the approver rejected it.mismatch: tool name or SHA-256 of the canonical{tool, arguments}differs from the request. Any change to arguments needs a new approval.expired: pastexpires_at.
Next steps
- Anchor the log head outside the machine:
mcp-glp-audit-proxy-verify data/audit.jsonl --print-headprints one stdout line:seq=<n> entry_hash=<hash>.
Connects securely to your tools. The creator never sees your data.
About this skill
mcp-glp-audit-proxy is a free, open-source (MIT) local MCP proxy that sits between your MCP host and your MCP servers (Excel, ELN, LIMS, databases, instruments). It applies an allow/deny policy and writes every mediated call, including denials and failures, to an append-only, RFC 8785 canonical, SHA-256 hash-chained JSONL audit trail. It is designed to support GLP / 21 CFR Part 11 / EU GMP Annex 11 workflows.
This skill is the setup and validation companion. It saves the day of reading you would otherwise spend getting a defensible configuration and evidence pack together.
What your agent learns:
- Install the proxy (Python 3.11+, pip or uv) and wire it into Cursor, Claude Desktop or any stdio MCP host, with per-person identity via GLP_PRINCIPAL_* variables.
- Write a deny-by-default policy: allow/deny globs on tool names, write tools that require a reason, and optional human approval by a second person before a write is forwarded.
- Use the roles correctly (operator, approver, qa, admin) and the local tools for verify, search, export, approve and policy change.
- Verify the chain with mcp-glp-audit-proxy-verify, read every result (chain ok, head lag, chain invalid), filter and export.
- Anchor the log head outside the machine with --print-head (ticket, email or LIMS record) - the control that catches coordinated truncation.
- Generate the OQ-style verification report (tests, traceability matrix, coverage, dependency hashes, report SHA-256) as evidence for your own validation records.
- Understand fail closed, the blocked latch and "refusing to start", and follow a step-by-step reconciliation SOP when an upstream write may have been applied while the audit append failed.
- State the residual risks honestly: tamper-evident is not tamper-proof, the approval record is not an electronic signature, arguments are stored in full.
The skill and the proxy produce evidence that supports your own validation, SOPs and reviews.
Repo: https://github.com/antonio-castellon/mcp-glp-audit-proxy PyPI: https://pypi.org/project/mcp-glp-audit-proxy/ License (server): MIT. Contact: antonio@castellon.ch
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scanned
Verified clean 1 day ago
- Passed all security checks, Safe to install
Requires