Skip to main content
Glama

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

A4.6/5.0

Scored across 6 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

  1. 6 tool updates
    • Changedapprove_pending1 field changed
      • changedInput schema / properties / signature / description
        Previous 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."
    • Changedconfirm_booking1 field changed
      • changedInput schema / properties / signature / description
        Previous 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."
    • Changedhold_slot1 field changed
      • changedInput schema / properties / signature / description
        Previous 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."
    • Changedlist_offers1 field changed
      • changedInput schema / properties / signature / description
        Previous 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."
    • Changedregister_agent1 field changed
      • changedInput schema / properties / signature / description
        Previous 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."
    • Changedsend_intent1 field changed
      • changedInput schema / properties / signature / description
        Previous 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."
  2. 1 tool update
    • Changedsend_intent1 field changed
      • changedInput schema / properties / payload / properties / product / description
        Previous 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}"
  3. 6 tool updates
    • Changedapprove_pending13 fields changed
      • addedInput schema / properties / agent_id / maxLength
        Added value: +128
      • addedInput schema / properties / agent_id / minLength
        Added value: +1
      • addedInput schema / properties / nonce / maxLength
        Added value: +256
      • addedInput schema / properties / nonce / minLength
        Added value: +1
      • addedInput schema / properties / payload / additionalProperties
        Added value: +true
      • changedInput schema / properties / payload / description
        Previous value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Covered by the signature."
      • addedInput schema / properties / payload / properties
        Added value: +{
        +  "approval_id": {
        +    "description": "The approval_id returned by confirm_booking.",
        +    "format": "uuid",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / payload / required
        Added value: +[
        +  "approval_id"
        +]
      • addedInput schema / properties / payload / type
        Added value: +"object"
      • addedInput schema / properties / signature / maxLength
        Added value: +512
      • addedInput schema / properties / signature / minLength
        Added value: +1
      • changedInput schema / properties / timestamp / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / required
        Previous value: -[
        -  "agent_id",
        -  "nonce",
        -  "timestamp",
        -  "signature"
        -]New value: +[
        +  "payload",
        +  "agent_id",
        +  "nonce",
        +  "timestamp",
        +  "signature"
        +]
    • Changedconfirm_booking13 fields changed
      • addedInput schema / properties / agent_id / maxLength
        Added value: +128
      • addedInput schema / properties / agent_id / minLength
        Added value: +1
      • addedInput schema / properties / nonce / maxLength
        Added value: +256
      • addedInput schema / properties / nonce / minLength
        Added value: +1
      • addedInput schema / properties / payload / additionalProperties
        Added value: +true
      • changedInput schema / properties / payload / description
        Previous value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Covered by the signature."
      • addedInput schema / properties / payload / properties
        Added value: +{
        +  "hold_id": {
        +    "description": "The hold_id returned by hold_slot.",
        +    "format": "uuid",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / payload / required
        Added value: +[
        +  "hold_id"
        +]
      • addedInput schema / properties / payload / type
        Added value: +"object"
      • addedInput schema / properties / signature / maxLength
        Added value: +512
      • addedInput schema / properties / signature / minLength
        Added value: +1
      • changedInput schema / properties / timestamp / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / required
        Previous value: -[
        -  "agent_id",
        -  "nonce",
        -  "timestamp",
        -  "signature"
        -]New value: +[
        +  "payload",
        +  "agent_id",
        +  "nonce",
        +  "timestamp",
        +  "signature"
        +]
    • Changedhold_slot13 fields changed
      • addedInput schema / properties / agent_id / maxLength
        Added value: +128
      • addedInput schema / properties / agent_id / minLength
        Added value: +1
      • addedInput schema / properties / nonce / maxLength
        Added value: +256
      • addedInput schema / properties / nonce / minLength
        Added value: +1
      • addedInput schema / properties / payload / additionalProperties
        Added value: +true
      • changedInput schema / properties / payload / description
        Previous value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Covered by the signature."
      • addedInput schema / properties / payload / properties
        Added value: +{
        +  "offer_id": {
        +    "description": "The offer_id returned by list_offers.",
        +    "format": "uuid",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / payload / required
        Added value: +[
        +  "offer_id"
        +]
      • addedInput schema / properties / payload / type
        Added value: +"object"
      • addedInput schema / properties / signature / maxLength
        Added value: +512
      • addedInput schema / properties / signature / minLength
        Added value: +1
      • changedInput schema / properties / timestamp / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / required
        Previous value: -[
        -  "agent_id",
        -  "nonce",
        -  "timestamp",
        -  "signature"
        -]New value: +[
        +  "payload",
        +  "agent_id",
        +  "nonce",
        +  "timestamp",
        +  "signature"
        +]
    • Changedlist_offers13 fields changed
      • addedInput schema / properties / agent_id / maxLength
        Added value: +128
      • addedInput schema / properties / agent_id / minLength
        Added value: +1
      • addedInput schema / properties / nonce / maxLength
        Added value: +256
      • addedInput schema / properties / nonce / minLength
        Added value: +1
      • addedInput schema / properties / payload / additionalProperties
        Added value: +true
      • changedInput schema / properties / payload / description
        Previous value: -"Tool-specific arguments — see this tool's description for the exact shape. Covered by the signature."New value: +"Covered by the signature."
      • addedInput schema / properties / payload / properties
        Added value: +{
        +  "intent_id": {
        +    "description": "The intent_id returned by send_intent.",
        +    "minLength": 1,
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / payload / required
        Added value: +[
        +  "intent_id"
        +]
      • addedInput schema / properties / payload / type
        Added value: +"object"
      • addedInput schema / properties / signature / maxLength
        Added value: +512
      • addedInput schema / properties / signature / minLength
        Added value: +1
      • changedInput schema / properties / timestamp / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / required
        Previous value: -[
        -  "agent_id",
        -  "nonce",
        -  "timestamp",
        -  "signature"
        -]New value: +[
        +  "payload",
        +  "agent_id",
        +  "nonce",
        +  "timestamp",
        +  "signature"
        +]
    • Changedregister_agent13 fields changed
      • addedInput schema / properties / agent_id / maxLength
        Added value: +128
      • addedInput schema / properties / agent_id / minLength
        Added value: +1
      • addedInput schema / properties / nonce / maxLength
        Added value: +256
      • addedInput schema / properties / nonce / minLength
        Added value: +1
      • addedInput schema / properties / payload / additionalProperties
        Added value: +true
      • changedInput schema / properties / payload / description
        Previous 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."
      • addedInput schema / properties / payload / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / payload / required
        Added value: +[
        +  "public_key"
        +]
      • addedInput schema / properties / payload / type
        Added value: +"object"
      • addedInput schema / properties / signature / maxLength
        Added value: +512
      • addedInput schema / properties / signature / minLength
        Added value: +1
      • changedInput schema / properties / timestamp / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / required
        Previous value: -[
        -  "agent_id",
        -  "nonce",
        -  "timestamp",
        -  "signature"
        -]New value: +[
        +  "payload",
        +  "agent_id",
        +  "nonce",
        +  "timestamp",
        +  "signature"
        +]
    • Changedsend_intent13 fields changed
      • addedInput schema / properties / agent_id / maxLength
        Added value: +128
      • addedInput schema / properties / agent_id / minLength
        Added value: +1
      • addedInput schema / properties / nonce / maxLength
        Added value: +256
      • addedInput schema / properties / nonce / minLength
        Added value: +1
      • addedInput schema / properties / payload / additionalProperties
        Added value: +true
      • changedInput schema / properties / payload / description
        Previous 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."
      • addedInput schema / properties / payload / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / payload / required
        Added value: +[
        +  "type",
        +  "location"
        +]
      • addedInput schema / properties / payload / type
        Added value: +"object"
      • addedInput schema / properties / signature / maxLength
        Added value: +512
      • addedInput schema / properties / signature / minLength
        Added value: +1
      • changedInput schema / properties / timestamp / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / required
        Previous value: -[
        -  "agent_id",
        -  "nonce",
        -  "timestamp",
        -  "signature"
        -]New value: +[
        +  "payload",
        +  "agent_id",
        +  "nonce",
        +  "timestamp",
        +  "signature"
        +]

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • -
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources