Agent Audit Logger MCP
This server provides tamper-evident, HMAC-signed, hash-chained audit logging for agent-to-agent (A2A) interactions, enabling compliance with EU AI Act (Articles 9, 13, 15, 26, 50), DORA (Art 17), and ISO 42001.
log: Append signed, hash-chained audit entries capturing the calling agent (from_agent), receiving agent (to_agent), action performed, payload hash (for PII-safe logging), outcome (success/fail/timeout/blocked), and optional context tags.verify_chain: Re-verify the integrity of the entire log chain for a given tenant, confirming records are unmodified or identifying the exact sequence number where tampering occurred.search: Query audit logs with filters such as agent names, action type, and outcome — returns results newest-first with a configurable limit.daily_stats: Retrieve daily log volume statistics for a tenant, useful for monitoring and reporting.sign_day_attestation(Pro/Enterprise only): Generate a cryptographically signed end-of-day attestation certifying log integrity and volume, including the tip hash — providing auditor-ready evidence that logs were not retroactively modified.
Delivers audit logging for agent interactions using Cisco's OASF/AGNTCY and ANP (Agent Network Protocol), enabling compliance tracking.
Provides audit logging for agent-to-agent calls using Coinbase's x402 protocol (HTTP 402), with partial support through the meok.ai gateway.
Offers audit logging for agent interactions via Google's A2A and AP2 protocols, supporting agent-to-agent call tracking and signed records.
Enables hash-chained HMAC-signed audit logging for agents using Linux Foundation-governed A2A and OASF/AGNTCY protocols.
Supports audit logging for agent commerce via Stripe ACP (Agentic Commerce Protocol), ensuring tamper-evident records of payment-related agent calls.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agent Audit Logger MCPlog agent decision: approve refund request"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agent Audit Logger MCP
Hash-chained HMAC-signed audit log MCP for A2A (agent-to-agent) calls
Hash-chained HMAC-signed audit log MCP for A2A (agent-to-agent) calls. Every tool-call, agent-handoff, decision gets a tamper-evident signed record. EU AI Act Art 12 automatic logs, DORA Art 17 ICT incident logs, ISO 42001 clause 9 monitoring — auditor-ready end-of-day attestations. By MEOK AI Labs.
🚀 Quick Start
# Install via pip
pip install agent_audit_logger_mcp
# Or install via Smithery
npx -y @smithery/cli@latest install agent-audit-logger-mcp --client claudeRelated MCP server: GoLogX (logx-mcp)
✨ Features
HMAC-signed audit logs
Hash-chained integrity
A2A agent tracking
Compliance reporting
Tamper-proof records
📖 Documentation
🛡️ Compliance
This MCP server is built with EU AI Act compliance built-in:
✅ Article 9 — Risk Management System
✅ Article 13 — Transparency & Instructions for Use
✅ Article 15 — Bias Detection & Testing
✅ Article 26 — FRIA Support (where applicable)
✅ Article 50 — AI Content Watermarking (where applicable)
Free — 1,000 log entries/day, ephemeral, chain verification
Pro £199/mo — unlimited + signed end-of-day attestations + chain integrity reports — subscribe
Enterprise £1,499/mo — multi-tenant + SIEM webhook push + retention policy — subscribe
Need help getting compliant? Book a free 15-min diagnostic →
🏢 Enterprise
Need custom development, SLA guarantees, or white-label deployment?
Pro: £79/mo — Full MCP suite + EU AI Act tracking
Enterprise: £499/mo — Custom dev + SLA + Dedicated support
View Pricing → | Contact Sales →
🤝 Part of the MEOK Ecosystem
This server is part of the MEOK AI Labs ecosystem — 26 PyPI packages · ~16,300 monthly installs.
Domain | Purpose |
EU AI Act compliance marketplace | |
AI safety & monitoring | |
Sovereign AI platform | |
Legacy modernization |
📜 License
MIT © CSOAI-ORG
Full catalogue + Anthropic Registry verify links: meok.ai/anthropic-registry
Protocol coverage + Universal PAYG
This MCP is part of MEOK's 47-MCP fleet that bridges every active agent-interop protocol and 30+ regulatory frameworks. See the full coverage matrix at meok.ai/protocols.
Agent interop protocols supported (8 live):
✅ MCP (Anthropic) — native
✅ A2A (Google + Linux Foundation, absorbed IBM ACP Sept 2025)
✅ IBM ACP — covered via A2A merge
◐ Stripe ACP (Agentic Commerce Protocol) — Q3 bridge via agent-commerce-protocol-mcp
◐ AP2 (Google Agent Payments) — partial via agent-commerce-payments-mcp
◐ x402 (Coinbase HTTP 402) — partial via api.meok.ai gateway
→ OASF / AGNTCY (Cisco Outshift + Linux Foundation) — Q3 bridge
👁 ANP (Cisco Agent Network) — watch-list
Pricing options:
Option | Price | Best for |
Self-host (this MCP) | £0 — MIT | Devs |
This MCP Starter | £29/mo | One-MCP teams |
This MCP Pro | £79/mo | Production + 24h SLA |
£29/mo + £0.0002/call | Spiky usage across many MCPs | |
Substrate bundle (this category) | £99-£499/mo | A whole pack |
£1,499/mo | All 47 MCPs, 500K calls |
Each tier above the free self-host adds HMAC-signed attestations verifiable at
verify.meok.ai. Linux Foundation governance on the A2A spine means EU regulated
buyers can deploy without vendor-lock-in objections.
💸 Try MEOK in 30 seconds — instant buy ladder
Tier | Price | What you get | Stripe |
Smoke test | £1 | Signed sample MCP-Hardening report + Article 50 PDF | |
Quick Kit | £9 | EU AI Act Article 50 implementation guide (C2PA + EU-Icon) | |
Founder Call | £29 | 30-min 1-on-1 with the founder |
Refundable. UK Stripe — VAT-clean. Builds on the 81-MCP MEOK fleet. Verify any signed report at https://meok.ai/verify.
See also
MEOK compliance MCP fleet:
agent-incident-relay-mcp, meok-eu-ai-act-art-13-ifu-mcp
Configuration
Add to your claude_desktop_config.json (Claude Desktop) or your MCP client config:
{
"mcpServers": {
"agent-audit-logger-mcp": {
"command": "uvx",
"args": ["agent-audit-logger-mcp"]
}
}
}Or: pip install agent-audit-logger-mcp then run the agent-audit-logger-mcp command (stdio transport).
Examples
Once configured, ask your assistant, for example:
"Use
logto …""Use
verify_chainto …""Use
searchto …"
Available Tools
5 toolsdaily_statsCInspect
Return daily log volume stats for a tenant.
| Name | Required | Description | Default |
|---|---|---|---|
| tenant_id | Yes | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states the function, without revealing whether this is a read-only operation, any required authentication or rate limits, or what happens if the tenant has no logs. This is minimal transparency for a stats endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, which is appropriately sized. However, it is too sparse to be maximally effective. Every sentence should add value, and while this one does state the purpose, it lacks additional useful context. It is not verbose, but underinformativeness detracts from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema (though unknown content) and 0% parameter documentation, the description should provide more context, such as the time range of the stats, granularity (e.g., daily, hourly), or that it returns aggregated volume. The description leaves too many essential details unspecified for a stats tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the description must compensate for missing parameter documentation. The description mentions 'for a tenant' but does not explain what 'tenant_id' represents or how to obtain it. The 'api_key' parameter is not mentioned at all, leaving its purpose unclear. The description adds little value beyond the schema field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly uses a specific verb 'return' and resource 'daily log volume stats' for a tenant. It effectively communicates what the tool does. However, it does not differentiate from sibling tools like 'log' or 'search', which might also return log-related data, so it lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, limitations, or context. For example, it could clarify if this is for aggregated daily stats or real-time data, relative to 'search' which might provide detailed log entries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logAInspect
Append a signed, hash-chained log entry.
tenant_id: customer / organisation identifier
from_agent: calling agent id (e.g. "orchestrator")
to_agent: receiving agent id (e.g. "compliance-scorer")
action: what was requested (e.g. "score_dora_compliance")
payload_hash: SHA256 of the payload body (keeps logs small + hides PII)
outcome: success | fail | timeout | blocked
context_csv: optional comma-separated tags (e.g. "high-risk,financial")
| Name | Required | Description | Default |
|---|---|---|---|
| tenant_id | Yes | ||
| from_agent | Yes | ||
| to_agent | Yes | ||
| action | Yes | ||
| payload_hash | No | ||
| outcome | No | success | |
| context_csv | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description notes that entries are 'signed, hash-chained' and mentions PII hiding for payload_hash, but does not cover authentication, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one introductory sentence and a clear bullet list of parameters with explanations, no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters (4 required) and no visible output schema, but the description covers purpose and most parameter semantics adequately, though it lacks details on prerequisites or return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description explains 7 of 8 parameters with purpose (e.g., 'tenant_id: customer / organisation identifier'), but omits api_key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Append' and the resource 'signed, hash-chained log entry', which distinguishes it from sibling tools like search or verify_chain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when or when not to use this tool compared to siblings such as daily_stats or verify_chain; usage is only implied by the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchBInspect
Query the log. Empty filters match everything. Returns newest-first.
| Name | Required | Description | Default |
|---|---|---|---|
| tenant_id | Yes | ||
| from_agent | No | ||
| to_agent | No | ||
| action | No | ||
| outcome | No | ||
| limit | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds some behavioral info: 'Returns newest-first' and implies idempotence (query). No information on rate limits, auth requirements, or side effects, but the read-only nature is inferred.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that are front-loaded with key information. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks detail on parameter usage, error cases, and behavior beyond ordering and empty filters. For a complex search tool with 7 parameters, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain any of the 7 parameters. The only hint is 'Empty filters' but no parameter-specific semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Query the log' and specifies behavior (empty filters match everything, returns newest-first). It distinguishes from siblings like 'log' by being a search tool, though explicit differentiation is lacking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Empty filters match everything' which guides usage. However, no context on when to use this versus alternative tools like 'log' or 'daily_stats', and no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_day_attestationAInspect
Emit a signed attestation certifying the log integrity + volume for a given day.
Pro/Enterprise only. Use this as end-of-day evidence for your auditor / Trust Center. The attestation includes the tip hash at end-of-day so anyone can later prove the log wasn't retroactively modified.
| Name | Required | Description | Default |
|---|---|---|---|
| tenant_id | Yes | ||
| date_utc | Yes | ||
| api_key | No | ||
| No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the attestation includes a tip hash for non-retroactive modification proof. However, it lacks details on side effects, permission requirements, or rate limits. The output schema exists but the description doesn't leverage it to explain behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences and front-loaded with the primary purpose. It efficiently conveys restriction, use case, and a key detail. Minor length is acceptable given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and no annotation coverage, the description provides a high-level purpose but is incomplete for understanding parameters and full context. It doesn't cover what the output contains beyond the tip hash, or how to interpret the signed attestation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meanings. It only implicitly refers to 'for a given day' (date_utc) and 'Pro/Enterprise only' (likely tenant-based). It does not explain tenant_id, api_key, email, or their roles, leaving a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool emits a signed attestation for log integrity and volume, which is distinct from sibling tools like daily_stats or search. It specifies the resource (attestation for a day) and action (emit signed).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: end-of-day evidence for auditors/Trust Center. It mentions it's Pro/Enterprise only, which helps restrict usage. However, it does not explicitly state when not to use this tool or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_chainBInspect
Re-verify the integrity of the log chain for a tenant. Returns OK or the first sequence number where the chain breaks.
| Name | Required | Description | Default |
|---|---|---|---|
| tenant_id | Yes | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the return value ('OK or first sequence number') but does not mention side effects, potential errors, or whether the operation is read-only. Moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each adding value: first states purpose, second states return value. No wasted words. Front-loaded effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple verification tool with 2 parameters and an output schema, the description covers purpose and return value but lacks parameter explanations and usage context. It is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the parameters (tenant_id, api_key). It does not explain their purpose or format, leaving the agent with only the schema's titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Re-verify', the resource 'log chain', and the scope 'for a tenant'. It also specifies the return value, distinguishing it from sibling tools like 'log' or 'search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking chain integrity but does not explicitly state when to use or when not, nor does it compare to alternatives. It's adequate for a tool with no similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.1.3- First observed
daily_stats - First observed
log - First observed
search - First observed
sign_day_attestation - First observed
verify_chain
TDQS
Each tool has a unique and well-defined purpose: logging, searching, daily stats, attestation, and chain verification. No two tools overlap in functionality.
Naming is a mix: 'daily_stats' uses noun_verb, 'log' and 'search' are single verbs, while 'sign_day_attestation' and 'verify_chain' follow a verb_noun pattern. This inconsistency is noticeable but not chaotic.
With 5 tools, the server covers the essential operations for an audit logging system: append, search, statistics, attestation, and verification. The count is well-scoped without being excessive.
The tool set provides a complete lifecycle for audit logging: log entry creation, querying, daily statistics, integrity attestation, and chain verification. No obvious gaps given the append-only nature of audit logs.
Maintenance
Related MCP Connectors
Tamper-evident proof creation and verification for AI agents via MCP, A2A, and REST.
Tamper-evident audit log service for agent-to-agent transactions
Bitcoin-anchored, tamper-evident audit log for AI agents — record, disclose and verify actions.
AI/LLM agent output audit MCP: policy eval, tamper-evident chain, AI safety, x402 USDC on Base.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceTamper-evident cryptographic audit trail for LLM outputs. Compliance logging for AI agent decisions.-
- AlicenseNot gradedqualityCmaintenanceTamper-evident audit logging for AI agents. Append-only, hash-chained, optionally Ed25519-signed log. The MCP server lets an agent keep and verify a record of what it actually did.7MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that provides cryptographic audit trails for AI agent actions, making every action tamper-evident via HMAC-SHA256 signed hash chains.Apache 2.0
- AlicenseBqualityAmaintenanceA governance proxy for AI tools — every MCP/agent tool call is policy-gated, secret-redacted, and written to a hash-chained, offline-verifiable audit trail.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CSOAI-ORG/agent-audit-logger-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server