Skip to main content
Glama
CSOAI-ORG

Agent Handoff Certified MCP

MCP Scorecard: 90/100

Agent Handoff Certified MCP

MEOK AI Labs EU AI Act License PyPI

Verifiable agent-to-agent task handoff with signed provenance chain

Verifiable agent-to-agent task handoff with signed provenance chain. Initiating agent signs the offer, accepting agent signs acceptance, chain is verifiable offline. Non-repudiable A2A delegation.


๐Ÿš€ Quick Start

# Install via pip
pip install agent_handoff_certified_mcp

# Or install via Smithery
npx -y @smithery/cli@latest install agent-handoff-certified-mcp --client claude

Related MCP server: agentpassport

โœจ Features

  • MCP protocol compliant

  • Easy installation

  • Well-documented API

  • Production-ready

  • Active maintenance

๐Ÿ“– Documentation

๐Ÿ›ก๏ธ Compliance

This MCP server is built with EU AI Act compliance built-in:

  • Free โ€” generous daily limit (100-1,000 depending on operation)

  • Pro ยฃ199/mo โ€” unlimited + signed HMAC attestations with public verify URLs โ€” subscribe

  • Enterprise ยฃ1,499/mo โ€” multi-tenant + custom predicate DSL + SIEM webhook push โ€” subscribe

  • โœ… 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)

Need help getting compliant? Book a free 15-min diagnostic โ†’

๐Ÿข Enterprise

Need custom development, SLA guarantees, or white-label deployment?

  • Pro: $99/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 โ€” 300+ MCP servers for sovereign AI governance.

Domain

Purpose

councilof.ai

EU AI Act compliance marketplace

safetyof.ai

AI safety & monitoring

meok.ai

Sovereign AI platform

cobolbridge.ai

Legacy modernization

๐Ÿ“œ License

MIT ยฉ CSOAI-ORG


  • Prompt Injection Firewall โ†’ uvx agent-prompt-injection-firewall-mcp ยท PyPI ยท GitHub

  • Data Residency โ†’ uvx agent-data-residency-mcp ยท PyPI ยท GitHub

  • Policy Enforcement โ†’ uvx agent-policy-enforcement-mcp ยท PyPI ยท GitHub

  • Audit Logger โ†’ uvx agent-audit-logger-mcp ยท PyPI ยท GitHub

  • Rate Limiter โ†’ uvx agent-rate-limiter-mcp ยท PyPI ยท GitHub

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

Universal PAYG

ยฃ29/mo + ยฃ0.0002/call

Spiky usage across many MCPs

Substrate bundle (this category)

ยฃ99-ยฃ499/mo

A whole pack

MEOK Universe

ยฃ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

https://buy.stripe.com/aFa7sNcgAdQS0ZT1Uc8k91t

Quick Kit

ยฃ9

EU AI Act Article 50 implementation guide (C2PA + EU-Icon)

https://buy.stripe.com/aFa7sNcgAdQS0ZT1Uc8k91t

Founder Call

ยฃ29

30-min 1-on-1 with the founder

https://buy.stripe.com/aFa7sNcgAdQS0ZT1Uc8k91t

Refundable. UK Stripe โ€” VAT-clean. Builds on the 81-MCP MEOK fleet. Verify any signed report at https://meok.ai/verify.

Configuration

Add to your claude_desktop_config.json (Claude Desktop) or your MCP client config:

{
  "mcpServers": {
    "agent-handoff-certified-mcp": {
      "command": "uvx",
      "args": ["agent-handoff-certified-mcp"]
    }
  }
}

Or: pip install agent-handoff-certified-mcp then run the agent-handoff-certified-mcp command (stdio transport).

Examples

Once configured, ask your assistant, for example:

  • "Use initiate_handoff to โ€ฆ"

  • "Use accept_handoff to โ€ฆ"

  • "Use verify_chain to โ€ฆ"

Available Tools

5 tools
accept_handoffCInspect

Receiving agent accepts + signs. Completes the chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
handoff_idYes
accepting_agent_idYes
accepting_agent_refNo
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only says 'accepts + signs' without explaining mutability, permissions, or side effects. Lacks details on what 'completing the chain' entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely short at 6 words, but cryptic wording ('accepts + signs') and lack of structure reduce clarity. Conciseness is not an asset here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no annotations, and an output schema, the description is incomplete. Does not explain return values or usage context. Should provide more detail for a handoff acceptance tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fails to explain any parameters. For 4 parameters (2 required), no information is provided about handoff_id, accepting_agent_id, etc.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Receiving agent accepts + signs. Completes the chain.' which clearly identifies the action (accept and sign) and the resource (handoff chain). It distinguishes from sibling tools like 'initiate_handoff' by implying finality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'sign_handoff_chain_attestation'. No context about prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

initiate_handoffAInspect

Initiating agent offers a task. Returns handoff_id + signed offer.

The receiving agent must call accept_handoff within expires_in_seconds to complete the signed chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idYes
from_agentYes
to_agentYes
taskYes
context_jsonNo{}
expires_in_secondsNo
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses key behavioral traits: the tool returns a signed offer tied to an expiry, and the handoff requires a follow-up call. This goes beyond the schema and gives the agent essential timing and protocol information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary action and return values. Every sentence adds essential information without fluff. The structure is efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count (7), 0% schema coverage, and no output schema details beyond a brief mention, the description fails to contextualize most parameters. It explains the high-level handoff flow but omits crucial details like the role of context_json, api_key, and tenant_id, leaving significant gaps for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must clarify parameters. It only mentions the 'expires_in_seconds' concept implicitly in the second sentence, but provides no meaning for common parameters like tenant_id, from_agent, to_agent, task, context_json, or api_key. This leaves the agent lacking understanding of what each parameter represents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Initiating agent offers a task', using a specific verb and identifying the resource (a handoff). It also mentions the return values (handoff_id + signed offer), clearly distinguishing this tool from the sibling 'accept_handoff' which receives the offer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates that this tool is for the initiating agent and that the receiving agent must subsequently call accept_handoff, providing clear context for when to use this tool. However, it does not explicitly contrast with other siblings like list_handoffs or verify_chain, so guidance is good but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_handoffsBInspect

List handoffs for a tenant, optionally filtered by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idYes
status_filterNo
limitNo
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as pagination, ordering, permissions, or whether the operation is read-only. This lacks essential transparency for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It front-loads the core purpose and is efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters and an output schema, the description covers the basic purpose but lacks details on pagination, error handling, or usage patterns. It is minimally adequate but not complete for robust agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 4 parameters with 0% description coverage. The description only adds meaning for 'status_filter' via 'optionally filtered by status'. No explanation for 'tenant_id', 'limit', or 'api_key' is provided, leaving gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'handoffs', with specific context 'for a tenant' and optional filtering by status. It effectively distinguishes from sibling tools like accept_handoff and initiate_handoff, which have different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing handoffs, but does not provide explicit guidance on when to use vs. alternatives, or any exclusions. Since sibling tools are clearly different, the context is adequate but minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sign_handoff_chain_attestationCInspect

Emit a signed attestation of the handoff chain integrity for a window. Pro+.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idYes
window_start_utcYes
window_end_utcYes
api_keyNo
emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It mentions 'signed attestation' implying a write/mutation, but doesn't clarify side effects, required permissions (e.g., api_key/email usage), or whether it's destructive. With no annotations, the description is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While very short (one sentence), it sacrifices informativeness. It lacks structure (no sections, examples, or parameter details) and is under-specified rather than efficiently concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no schema descriptions, and no annotations, the description should compensate but fails. Output schema exists but is not described. The tool's purpose and usage context remain unclear for an AI agent to correctly invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 5 parameters with 0% schema description coverage. The description adds no information about any parameter meanings, formats, or purposes, forcing the agent to rely solely on parameter names, which are ambiguous (e.g., window_start_utc format not specified).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 handoff chain integrity over a window, distinguishing it from siblings like accept_handoff or verify_chain. However, the verb 'emit' is somewhat abstract and 'Pro+' is ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description lacks context about prerequisites, exclusions, or scenarios where other tools should be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_chainCInspect

Re-verify the handoff signatures. Returns full trace + integrity status.

ParametersJSON Schema
NameRequiredDescriptionDefault
handoff_idYes
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description bears full burden. It states it returns full trace and integrity status but fails to disclose side effects, authentication needs, or rate limits. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise but overly terse. It is front-loaded but omits necessary parameter details, making it insufficient for effective usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and a 0% schema coverage, the description is incomplete. It does not explain the context for verification, required inputs, or behavioral implications, despite having an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

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 the parameters (handoff_id, api_key). The agent receives no guidance on what values to provide or their purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Re-verify the handoff signatures' and the resource 'handoff', differentiating it from sibling tools like accept_handoff or list_handoffs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or conditions mentioned. The description lacks explicit context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: initiate starts a handoff, accept completes it, list retrieves handoffs, sign provides attestation, and verify re-verifies signatures. No overlap.

Naming Consistency5/5

All tools follow snake_case with a verb_noun pattern (e.g., initiate_handoff, list_handoffs). Even the longer name sign_handoff_chain_attestation is consistent in style.

Tool Count5/5

Five tools cover the core functionality of handoff certification without being excessive or insufficient. Each tool earns its place in the workflow.

Completeness4/5

The set covers initiation, acceptance, listing, verification, and attestation. A potential gap is a reject or cancel handoff tool, but the core lifecycle is well-represented.

Maintenance

ActivityStale
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Cryptographically verifiable, scope-narrowing delegation chains for AI agents, enabling human-anchored authorization across multiple hops.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Verifiable action receipts for AI agents โ€” agents sign claims locally, an independent witness countersigns and timestamps, anyone can verify offline.
    14
    MIT

Latest Blog Posts

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-handoff-certified-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server