Agent Hub - AI-operated public sandbox: demo data, simulated payments, no real bookings
Server Details
Agent-to-business commerce sandbox: intents, offers, bookings. Demo data, ed25519-signed calls.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 36.3% over 41 days
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 6 tools
Each tool maps to a distinct step in the buy flow: register_agent, send_intent, list_offers, hold_slot, confirm_booking, and approve_pending as the seller-side approval branch. The only close pair, confirm_booking and approve_pending, is sharply separated by reachability, payload, and side effects. No two tools can plausibly be confused.
All six tools follow a consistent verb_noun snake_case pattern: register_agent, send_intent, list_offers, hold_slot, confirm_booking, approve_pending. The verb consistently precedes the object, and no mixed conventions or vague names appear. An agent can predict the tool name from the action it wants to perform.
Six tools is well-scoped for a sandbox buy-flow hub: registration, intent creation, offer listing, slot holding, booking confirmation, and the approval edge case. Each tool has a distinct role and none feels redundant or like filler. This sits comfortably in the ideal range.
The core buyer-facing lifecycle is complete: register → send intent → list offers → hold slot → confirm booking, with approve_pending covering the documented approval branch. However, there is no way to read back a hold or booking, no cancellation or refund path, and the seller-side approval tool is unreachable for self-registered agents. These are notable but non-blocking gaps for a demo sandbox.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- Changed
approve_pending1 field changed- changed
Input schema / properties / signature / descriptionPrevious value: -"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example: https://hub.videtion.com/spec"New value: +"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example, and where it actually is: https://hub.videtion.com/quickstart.mjs — 6941 bytes, zero dependencies, Node 20+, which mints an ed25519 key, canonicalises exactly these four fields and signs them, so you can diff your bytes against a call this hub accepts. https://hub.videtion.com/spec states the same rule in prose and field tables and publishes no signature to copy: it is the reference, not the example."
- Changed
confirm_booking1 field changed- changed
Input schema / properties / signature / descriptionPrevious value: -"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example: https://hub.videtion.com/spec"New value: +"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example, and where it actually is: https://hub.videtion.com/quickstart.mjs — 6941 bytes, zero dependencies, Node 20+, which mints an ed25519 key, canonicalises exactly these four fields and signs them, so you can diff your bytes against a call this hub accepts. https://hub.videtion.com/spec states the same rule in prose and field tables and publishes no signature to copy: it is the reference, not the example."
- Changed
hold_slot1 field changed- changed
Input schema / properties / signature / descriptionPrevious value: -"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example: https://hub.videtion.com/spec"New value: +"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example, and where it actually is: https://hub.videtion.com/quickstart.mjs — 6941 bytes, zero dependencies, Node 20+, which mints an ed25519 key, canonicalises exactly these four fields and signs them, so you can diff your bytes against a call this hub accepts. https://hub.videtion.com/spec states the same rule in prose and field tables and publishes no signature to copy: it is the reference, not the example."
- Changed
list_offers1 field changed- changed
Input schema / properties / signature / descriptionPrevious value: -"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example: https://hub.videtion.com/spec"New value: +"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example, and where it actually is: https://hub.videtion.com/quickstart.mjs — 6941 bytes, zero dependencies, Node 20+, which mints an ed25519 key, canonicalises exactly these four fields and signs them, so you can diff your bytes against a call this hub accepts. https://hub.videtion.com/spec states the same rule in prose and field tables and publishes no signature to copy: it is the reference, not the example."
- Changed
register_agent1 field changed- changed
Input schema / properties / signature / descriptionPrevious value: -"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example: https://hub.videtion.com/spec"New value: +"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example, and where it actually is: https://hub.videtion.com/quickstart.mjs — 6941 bytes, zero dependencies, Node 20+, which mints an ed25519 key, canonicalises exactly these four fields and signs them, so you can diff your bytes against a call this hub accepts. https://hub.videtion.com/spec states the same rule in prose and field tables and publishes no signature to copy: it is the reference, not the example."
- Changed
send_intent1 field changed- changed
Input schema / properties / signature / descriptionPrevious value: -"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example: https://hub.videtion.com/spec"New value: +"Hex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example, and where it actually is: https://hub.videtion.com/quickstart.mjs — 6941 bytes, zero dependencies, Node 20+, which mints an ed25519 key, canonicalises exactly these four fields and signs them, so you can diff your bytes against a call this hub accepts. https://hub.videtion.com/spec states the same rule in prose and field tables and publishes no signature to copy: it is the reference, not the example."
1 tool update
- Changed
send_intent1 field changed- changed
Input schema / properties / payload / properties / product / descriptionPrevious value: -"Free-form product spec, e.g. { width: 225, profile: 45, diameter: 18, season: \"winter\", quantity: 4 }."New value: +"Free-form product spec. Sellers match on product.size, ONE string — a split width/profile/diameter is not read and returns zero offers, and the count key is qty, not quantity. Shape the demo inventory answers: {\"size\":\"225/45 R18\",\"season\":\"winter\",\"qty\":4}"
6 tool updates
- Changed
approve_pending13 fields changed- added
Input schema / properties / agent_id / maxLengthAdded value: +128 - added
Input schema / properties / agent_id / minLengthAdded value: +1 - added
Input schema / properties / nonce / maxLengthAdded value: +256 - added
Input schema / properties / nonce / minLengthAdded value: +1 - added
Input schema / properties / payload / additionalPropertiesAdded value: +true - changed
Input schema / properties / payload / descriptionPrevious value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Covered by the signature." - added
Input schema / properties / payload / propertiesAdded value: +{ + "approval_id": { + "description": "The approval_id returned by confirm_booking.", + "format": "uuid", + "type": "string" + } +} - added
Input schema / properties / payload / requiredAdded value: +[ + "approval_id" +] - added
Input schema / properties / payload / typeAdded value: +"object" - added
Input schema / properties / signature / maxLengthAdded value: +512 - added
Input schema / properties / signature / minLengthAdded value: +1 - changed
Input schema / properties / timestamp / typePrevious value: -"number"New value: +"integer" - changed
Input schema / requiredPrevious value: -[ - "agent_id", - "nonce", - "timestamp", - "signature" -]New value: +[ + "payload", + "agent_id", + "nonce", + "timestamp", + "signature" +]
- Changed
confirm_booking13 fields changed- added
Input schema / properties / agent_id / maxLengthAdded value: +128 - added
Input schema / properties / agent_id / minLengthAdded value: +1 - added
Input schema / properties / nonce / maxLengthAdded value: +256 - added
Input schema / properties / nonce / minLengthAdded value: +1 - added
Input schema / properties / payload / additionalPropertiesAdded value: +true - changed
Input schema / properties / payload / descriptionPrevious value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Covered by the signature." - added
Input schema / properties / payload / propertiesAdded value: +{ + "hold_id": { + "description": "The hold_id returned by hold_slot.", + "format": "uuid", + "type": "string" + } +} - added
Input schema / properties / payload / requiredAdded value: +[ + "hold_id" +] - added
Input schema / properties / payload / typeAdded value: +"object" - added
Input schema / properties / signature / maxLengthAdded value: +512 - added
Input schema / properties / signature / minLengthAdded value: +1 - changed
Input schema / properties / timestamp / typePrevious value: -"number"New value: +"integer" - changed
Input schema / requiredPrevious value: -[ - "agent_id", - "nonce", - "timestamp", - "signature" -]New value: +[ + "payload", + "agent_id", + "nonce", + "timestamp", + "signature" +]
- Changed
hold_slot13 fields changed- added
Input schema / properties / agent_id / maxLengthAdded value: +128 - added
Input schema / properties / agent_id / minLengthAdded value: +1 - added
Input schema / properties / nonce / maxLengthAdded value: +256 - added
Input schema / properties / nonce / minLengthAdded value: +1 - added
Input schema / properties / payload / additionalPropertiesAdded value: +true - changed
Input schema / properties / payload / descriptionPrevious value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Covered by the signature." - added
Input schema / properties / payload / propertiesAdded value: +{ + "offer_id": { + "description": "The offer_id returned by list_offers.", + "format": "uuid", + "type": "string" + } +} - added
Input schema / properties / payload / requiredAdded value: +[ + "offer_id" +] - added
Input schema / properties / payload / typeAdded value: +"object" - added
Input schema / properties / signature / maxLengthAdded value: +512 - added
Input schema / properties / signature / minLengthAdded value: +1 - changed
Input schema / properties / timestamp / typePrevious value: -"number"New value: +"integer" - changed
Input schema / requiredPrevious value: -[ - "agent_id", - "nonce", - "timestamp", - "signature" -]New value: +[ + "payload", + "agent_id", + "nonce", + "timestamp", + "signature" +]
- Changed
list_offers13 fields changed- added
Input schema / properties / agent_id / maxLengthAdded value: +128 - added
Input schema / properties / agent_id / minLengthAdded value: +1 - added
Input schema / properties / nonce / maxLengthAdded value: +256 - added
Input schema / properties / nonce / minLengthAdded value: +1 - added
Input schema / properties / payload / additionalPropertiesAdded value: +true - changed
Input schema / properties / payload / descriptionPrevious value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Covered by the signature." - added
Input schema / properties / payload / propertiesAdded value: +{ + "intent_id": { + "description": "The intent_id returned by send_intent.", + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / payload / requiredAdded value: +[ + "intent_id" +] - added
Input schema / properties / payload / typeAdded value: +"object" - added
Input schema / properties / signature / maxLengthAdded value: +512 - added
Input schema / properties / signature / minLengthAdded value: +1 - changed
Input schema / properties / timestamp / typePrevious value: -"number"New value: +"integer" - changed
Input schema / requiredPrevious value: -[ - "agent_id", - "nonce", - "timestamp", - "signature" -]New value: +[ + "payload", + "agent_id", + "nonce", + "timestamp", + "signature" +]
- Changed
register_agent13 fields changed- added
Input schema / properties / agent_id / maxLengthAdded value: +128 - added
Input schema / properties / agent_id / minLengthAdded value: +1 - added
Input schema / properties / nonce / maxLengthAdded value: +256 - added
Input schema / properties / nonce / minLengthAdded value: +1 - added
Input schema / properties / payload / additionalPropertiesAdded value: +true - changed
Input schema / properties / payload / descriptionPrevious value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Registration payload. Covered by the signature." - added
Input schema / properties / payload / propertiesAdded value: +{ + "principal": { + "additionalProperties": true, + "description": "Who the agent acts for. Optional.", + "properties": { + "name": { + "description": "Free-text label for your agent, shown in the sandbox.", + "maxLength": 200, + "type": "string" + }, + "type": { + "description": "Use \"user\". \"business\" is accepted by the schema and then refused with 403 — seller passports are operator-issued.", + "enum": [ + "business", + "user" + ], + "type": "string" + } + }, + "type": "object" + }, + "public_key": { + "description": "Your ed25519 PUBLIC key, 64 hex chars. The envelope signature is verified against THIS key — that is the registration: no password, no invite, no API key, and no way to register a key you cannot sign with.", + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / payload / requiredAdded value: +[ + "public_key" +] - added
Input schema / properties / payload / typeAdded value: +"object" - added
Input schema / properties / signature / maxLengthAdded value: +512 - added
Input schema / properties / signature / minLengthAdded value: +1 - changed
Input schema / properties / timestamp / typePrevious value: -"number"New value: +"integer" - changed
Input schema / requiredPrevious value: -[ - "agent_id", - "nonce", - "timestamp", - "signature" -]New value: +[ + "payload", + "agent_id", + "nonce", + "timestamp", + "signature" +]
- Changed
send_intent13 fields changed- added
Input schema / properties / agent_id / maxLengthAdded value: +128 - added
Input schema / properties / agent_id / minLengthAdded value: +1 - added
Input schema / properties / nonce / maxLengthAdded value: +256 - added
Input schema / properties / nonce / minLengthAdded value: +1 - added
Input schema / properties / payload / additionalPropertiesAdded value: +true - changed
Input schema / properties / payload / descriptionPrevious value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"A structured Intent. Covered by the signature." - added
Input schema / properties / payload / propertiesAdded value: +{ + "availability": { + "additionalProperties": true, + "properties": { + "after_time": { + "maxLength": 64, + "type": "string" + }, + "before": { + "maxLength": 64, + "type": "string" + } + }, + "type": "object" + }, + "budget": { + "additionalProperties": true, + "properties": { + "currency": { + "description": "3-letter code, e.g. \"PLN\".", + "maxLength": 3, + "minLength": 3, + "type": "string" + }, + "max": { + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "currency", + "max" + ], + "type": "object" + }, + "location": { + "description": "Where. The demo inventory answers \"Wroclaw\".", + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "product": { + "additionalProperties": {}, + "description": "Free-form product spec, e.g. { width: 225, profile: 45, diameter: 18, season: \"winter\", quantity: 4 }.", + "type": "object" + }, + "service": { + "description": "e.g. \"installation\".", + "maxLength": 200, + "type": "string" + }, + "type": { + "description": "What you want. The demo inventory answers \"car_tires\".", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / payload / requiredAdded value: +[ + "type", + "location" +] - added
Input schema / properties / payload / typeAdded value: +"object" - added
Input schema / properties / signature / maxLengthAdded value: +512 - added
Input schema / properties / signature / minLengthAdded value: +1 - changed
Input schema / properties / timestamp / typePrevious value: -"number"New value: +"integer" - changed
Input schema / requiredPrevious value: -[ - "agent_id", - "nonce", - "timestamp", - "signature" -]New value: +[ + "payload", + "agent_id", + "nonce", + "timestamp", + "signature" +]
Related MCP Connectors
Agent-native insurance quoting protocol — sandbox, MCP + REST, eligibility pre-flight
Free agent-service discovery, OpenAPI document checks, and receipt verification. No API key needed.
Agent-only conditional resource exchange, private multi-party proposals and sandbox reservations.
Discover, read and book verified real-world businesses through one endpoint.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables AI agents to search and retrieve structured merchant data, check availability, manage bookings, and submit feedback against an open commerce registry with real restaurant data for LA, Hong Kong, and Tokyo.Apache 2.0- FlicenseNot gradedqualityAmaintenanceEnables agent commerce with prepaid credits, authenticated bounded paid execution, and machine-readable fulfillment.-
- -licenseNot gradedqualityBmaintenanceEnables AI agents to discover and invoke expert booking tools via a Streamable HTTP MCP server, supporting slot search, holds, payments, and human-in-the-loop confirmations with strict validation and time-based contracts.-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to perform e-commerce operations through a standardized interface implementing the x402 and Agentic Commerce Protocol (ACP). Supports merchant sessions, product search, and payment orchestration with production-ready security features.-
Glama MCP Gateway
Add one secure layer between your agents and this server.