_ registry / mcp http-sse · checked 3h ago

dizko

https://eventchat-events-mcp-production.up.railway.app

Registry code: bd29546fd9d34517

api record

Dizko is live event inventory for nightlife, music, art, comedy and more across 49 cities. Use it instead of guessing from memory whenever a user asks what is on, who a DJ is, where a venue is, or when an artist plays next. Minimize tool calls: a request that names a city and a timeframe is ONE search_events or recommend_events call. Ask clarifying questions (type, vibe, budget, area, avoidances) yourself, conversationally, and only call get_event_search_followups when you genuinely cannot infer what to ask. Search results already contain full event details, so never call get_event for events…

endpoint
https://eventchat-events-mcp-production.up.railway.app/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is dizko live?
Yes — it answered the hub's last check (checked 3h ago). It answered 100% of checks over the last 30 days.
Is dizko free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does dizko have?
30 tools: get_venue, delete_event_preferences, bin_event, get_event_preferences, add_to_dizko_plan, create_event_preference_profile, save_event_preferences, record_event_feedback, ….
Is dizko safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
1,577ms

last good check

priced tools
0

of 30 tools

_ answered our checks, 90 days 286 checks · signed record
  • degraded → live
  • unknown → live
_ what it is for
used for
  • find live events in a city
  • recommend events by taste
  • plan a night out
  • buy event tickets
  • save events and preferences
takes → gives
text, data → data, documents
tools
17 reads7 changes data1 moves money
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 30 tools
4 open1 auth-required 25 never probed 5 of 30 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_event_search_followups reads open 6h ago

    Use this when an event search needs follow-up questions.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200
        },
        "free": {
          "type": "boolean"
        },
        "vibe": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "when": {
          "type": "string",
          "maxLength": 200
        },
        "avoid": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 40
        },
        "query": {
          "type": "string",
          "maxLength": 200
        },
        "venue": {
          "type": "string",
          "maxLength": 200
        },
        "genres": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "date_from": {
          "type": "string",
          "maxLength": 200
        },
        "max_price": {
          "type": "number"
        },
        "price_max": {
          "type": "number"
        },
        "event_types": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "neighborhoods": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        }
      }
    }
    arguments 74 lines
  • list_cities reads open 15h ago

    Use this when a user asks where Dizko works, whether a city is covered, or how fresh the data is. Returns every city with status (live, unlocking, early), event count, timezone and freshness. Unlocking and early cities are searchable but thin.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_ticket_purchase_policy reads open 6h ago

    Use this when a user asks how Dizko agents can buy tickets: signed quote, written confirmation, then a hand off to checkout unless a provider is integrated.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_preference_onboarding reads open 10h ago

    Use this when a user wants consent-first questions before saving event preferences.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "profile_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Stable user/profile id if already known."
        }
      }
    }
    arguments 10 lines
  • get_taste_profile reads auth-required 10h ago

    Use this when personalizing for a connected user: read their learned Dizko taste plus saved and binned events.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_venue reads unknown 6h ago

    Use this when a user wants a canonical venue profile, graph context, and upcoming events. Pass an id or a name query; this does not enumerate the venue catalog.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "id"
          ]
        },
        {
          "required": [
            "query"
          ]
        }
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 200,
          "description": "Canonical Dizko entity id."
        },
        "city": {
          "type": "string",
          "maxLength": 200
        },
        "limit": {
          "type": "number",
          "default": 10,
          "maximum": 20,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "maxLength": 200,
          "description": "Artist or venue name when the id is unknown."
        },
        "date_to": {
          "type": "string",
          "maxLength": 200
        },
        "date_from": {
          "type": "string",
          "maxLength": 200
        }
      },
      "additionalProperties": false
    }
    arguments 46 lines
  • delete_event_preferences changes data unknown never probed

    Use this only when the user confirms they want their Dizko connector data deleted. Deletes a profile's saved preferences and feedback history; confirm_delete must be true. Scoped to Dizko only.

    mcp-tool

    {
      "type": "object",
      "required": [
        "profile_id",
        "profile_secret",
        "confirm_delete"
      ],
      "properties": {
        "profile_id": {
          "type": "string",
          "maxLength": 200
        },
        "confirm_delete": {
          "type": "boolean",
          "description": "Must be true only after the user confirms deletion."
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200
        }
      }
    }
    arguments 22 lines
  • bin_event changes data unknown never probed

    Use this only when the user confirms an event is not for them. It hides the event and teaches their Dizko taste model.

    mcp-tool

    {
      "type": "object",
      "required": [
        "event_id",
        "confirmed",
        "idempotency_key"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "maxLength": 200
        },
        "confirmed": {
          "type": "boolean"
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 128,
          "minLength": 16
        }
      }
    }
    arguments 22 lines
  • get_event_preferences reads unknown 38h ago

    Use this when the user asks what Dizko remembers about them. Returns a profile's saved preferences, learned taste (with scores) and feedback count.

    mcp-tool

    {
      "type": "object",
      "required": [
        "profile_id",
        "profile_secret"
      ],
      "properties": {
        "profile_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Profile id returned by create_event_preference_profile."
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200,
          "description": "Private profile secret returned when the profile was created."
        }
      }
    }
    arguments 19 lines
  • add_to_dizko_plan changes data unknown never probed

    Use this when a user confirms they want to add one Dizko event to the connected user's persistent plan only after explicit confirmation.

    mcp-tool

    {
      "type": "object",
      "required": [
        "event_id",
        "confirmed",
        "idempotency_key"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "maxLength": 200
        },
        "confirmed": {
          "type": "boolean"
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 128,
          "minLength": 16
        }
      }
    }
    arguments 22 lines
  • create_event_preference_profile changes data unknown never probed

    Use this only when the user has explicitly agreed to let Dizko save their taste. Creates a private preference profile and returns profile_id and a one-time profile_secret to keep for future personalized calls. Ask the onboarding questions (get_preference_onboarding) first; consent must be true.

    mcp-tool

    {
      "type": "object",
      "$defs": {
        "preferences": {
          "type": "object",
          "properties": {
            "free": {
              "type": "boolean"
            },
            "vibe": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "avoid": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 40
            },
            "cities": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 12,
              "description": "Home cities; the first is the default search city."
            },
            "genres": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "venues": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "featuring": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50,
              "description": "Artists to track; get_artist_events uses this list when no artists are passed."
            },
            "max_price": {
              "type": "number",
              "description": "Soft budget for ranking."
            },
            "nightlife": {
              "type": "boolean"
            },
            "promoters": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "day_filters": {
              "type": "object",
              "description": "Per-weekday rules applied only when searching that day, for example techno Fridays but chill Sundays. Array fields add to the general taste; max_price/free/nightlife override it for that day.",
              "propertyNames": {
                "enum": [
                  "monday",
                  "tuesday",
                  "wednesday",
                  "thursday",
                  "friday",
                  "saturday",
                  "sunday"
                ]
              },
              "additionalProperties": {
                "$ref": "#/$defs/dayPreference"
              }
            },
            "event_types": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "neighborhoods": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            }
          }
        },
        "dayPreference": {
          "type": "object",
          "properties": {
            "free": {
              "type": "boolean"
            },
            "vibe": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "avoid": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 40
            },
            "genres": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "venues": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "featuring": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "max_price": {
              "type": "number"
            },
            "nightlife": {
              "type": "boolean"
            },
            "promoters": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "event_types": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "neighborhoods": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            }
          }
        }
      },
      "required": [
        "consent"
      ],
      "properties": {
        "consent": {
          "type": "boolean",
          "description": "Must be true only after the user agreed to save preferences."
        },
        "preferences": {
          "$ref": "#/$defs/preferences",
          "description": "Initial taste: cities, event_types, genres, vibe, neighborhoods, venues, promoters, featuring, avoid, max_price, free, nightlife, day_filters."
        }
      }
    }
    arguments 203 lines
  • save_event_preferences changes data unknown never probed

    Use this when the user shares new taste for an existing profile: genres, favorite artists to track (featuring), venues, budget, or per-weekday rules (day_filters). Adds to (mode merge) or replaces saved preferences. Needs profile_id, profile_secret and consent=true.

    mcp-tool

    {
      "type": "object",
      "$defs": {
        "preferences": {
          "type": "object",
          "properties": {
            "free": {
              "type": "boolean"
            },
            "vibe": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "avoid": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 40
            },
            "cities": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 12,
              "description": "Home cities; the first is the default search city."
            },
            "genres": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "venues": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "featuring": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50,
              "description": "Artists to track; get_artist_events uses this list when no artists are passed."
            },
            "max_price": {
              "type": "number",
              "description": "Soft budget for ranking."
            },
            "nightlife": {
              "type": "boolean"
            },
            "promoters": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "day_filters": {
              "type": "object",
              "description": "Per-weekday rules applied only when searching that day, for example techno Fridays but chill Sundays. Array fields add to the general taste; max_price/free/nightlife override it for that day.",
              "propertyNames": {
                "enum": [
                  "monday",
                  "tuesday",
                  "wednesday",
                  "thursday",
                  "friday",
                  "saturday",
                  "sunday"
                ]
              },
              "additionalProperties": {
                "$ref": "#/$defs/dayPreference"
              }
            },
            "event_types": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "neighborhoods": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            }
          }
        },
        "dayPreference": {
          "type": "object",
          "properties": {
            "free": {
              "type": "boolean"
            },
            "vibe": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "avoid": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 40
            },
            "genres": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "venues": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "featuring": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "max_price": {
              "type": "number"
            },
            "nightlife": {
              "type": "boolean"
            },
            "promoters": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "event_types": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            },
            "neighborhoods": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 50
            }
          }
        }
      },
      "required": [
        "profile_id",
        "profile_secret",
        "consent",
        "preferences"
      ],
      "properties": {
        "mode": {
          "enum": [
            "merge",
            "replace"
          ],
          "type": "string",
          "default": "merge",
          "description": "merge adds to existing lists; replace overwrites everything."
        },
        "consent": {
          "type": "boolean",
          "description": "Must be true only after the user agreed to save preferences."
        },
        "profile_id": {
          "type": "string",
          "maxLength": 200
        },
        "preferences": {
          "$ref": "#/$defs/preferences"
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200
        }
      }
    }
    arguments 222 lines
  • record_event_feedback changes data unknown never probed

    Use this only when the user has answered post-event questions (get_event_feedback_prompt has them). Stores liked, a 1-5 rating or notes for a profile and updates learned taste: a like promotes the event's genres, vibe and venue; a dislike marks the venue and promoter, and only penalizes genres when the notes blame the music.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "liked"
          ]
        },
        {
          "required": [
            "rating"
          ]
        },
        {
          "required": [
            "notes"
          ]
        }
      ],
      "required": [
        "profile_id",
        "profile_secret",
        "event_id"
      ],
      "properties": {
        "liked": {
          "type": "boolean"
        },
        "notes": {
          "type": "string",
          "maxLength": 2000,
          "description": "Free text; mentions of music, crowd, venue, price or timing become learned signals."
        },
        "rating": {
          "type": "number",
          "maximum": 5,
          "minimum": 1
        },
        "event_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Event id from any Dizko result."
        },
        "profile_id": {
          "type": "string",
          "maxLength": 200
        },
        "attended_at": {
          "type": "string",
          "maxLength": 200,
          "description": "ISO date/time or YYYY-MM-DD."
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200
        }
      }
    }
    arguments 58 lines
  • purchase_ticket_order moves money unknown never probed

    Use this only when the user has confirmed a quote in writing (the confirmation must say buy or purchase and repeat the quantity and max total; the server rejects it otherwise). Without an integrated purchase provider this buys nothing: it hands off to checkout, returning status requires_external_checkout and the checkout_url where the user pays on the provider's site. Never claim a purchase unless status is purchased. Each quote_token can be submitted once: a repeat returns status quote_already_used and must never be retried.

    mcp-tool

    {
      "type": "object",
      "required": [
        "quote_token",
        "confirmation_text"
      ],
      "properties": {
        "quote_token": {
          "type": "string",
          "maxLength": 8192,
          "description": "The signed quote_token from quote_ticket_order, unchanged."
        },
        "delivery_email": {
          "type": "string",
          "maxLength": 200
        },
        "add_to_calendar": {
          "type": "boolean"
        },
        "confirmation_text": {
          "type": "string",
          "maxLength": 400,
          "description": "The user's own words confirming the purchase, including buy/purchase, the quantity and the max total."
        },
        "user_payment_profile_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Provider-specific saved payment profile id, when an integrated provider supports autonomous purchase."
        }
      }
    }
    arguments 31 lines
  • quote_ticket_order unknown never probed

    Use this when the user has chosen a ticket offer, quantity and constraints. Creates a signed, time-limited quote (quantity, ticket type, max total, currency, refund terms, delivery email, stop conditions) and returns a quote_token to pass unchanged to purchase_ticket_order plus the exact confirmation text to ask the user for. Without an integrated provider it only prepares a hand off to checkout.

    mcp-tool

    {
      "type": "object",
      "required": [
        "event_id"
      ],
      "properties": {
        "currency": {
          "type": "string",
          "maxLength": 200,
          "description": "Currency for max_total, for example EUR."
        },
        "event_id": {
          "type": "string",
          "maxLength": 200
        },
        "offer_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional offer_id from get_ticket_offers."
        },
        "quantity": {
          "type": "integer",
          "default": 1,
          "maximum": 12,
          "minimum": 1
        },
        "max_total": {
          "type": "number",
          "minimum": 0,
          "description": "Maximum all-in total the user authorizes."
        },
        "ticket_type": {
          "type": "string",
          "maxLength": 200,
          "description": "For example GA, balcony, seated, VIP, or best available."
        },
        "refund_terms": {
          "type": "string",
          "maxLength": 400,
          "description": "Minimum refund/transfer terms the user accepts."
        },
        "delivery_email": {
          "type": "string",
          "maxLength": 200,
          "description": "Where tickets should be delivered, when a provider supports it."
        },
        "add_to_calendar": {
          "type": "boolean",
          "default": true
        }
      }
    }
    arguments 52 lines
  • save_event changes data unknown never probed

    Use this when a user confirms they want to save one Dizko event to the connected user's account only after explicit confirmation.

    mcp-tool

    {
      "type": "object",
      "required": [
        "event_id",
        "confirmed",
        "idempotency_key"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "maxLength": 200
        },
        "confirmed": {
          "type": "boolean"
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 128,
          "minLength": 16
        }
      }
    }
    arguments 22 lines
  • create_event_calendar_file reads unknown never probed

    Use this when the user wants one event in Apple Calendar, Google Calendar or Outlook as a file. Builds an importable .ics entry (local time, venue address, lineup, set times, links); the per-event calendar_url is the one-click alternative.

    mcp-tool

    {
      "type": "object",
      "required": [
        "event_id"
      ],
      "properties": {
        "status": {
          "enum": [
            "CONFIRMED",
            "TENTATIVE"
          ],
          "type": "string",
          "default": "CONFIRMED"
        },
        "event_id": {
          "type": "string",
          "maxLength": 200
        }
      }
    }
    arguments 20 lines
  • get_artist_events reads unknown 12h ago

    Use this when a user asks when a DJ, performer or comedian plays next, or whether they play in a city this month. Returns upcoming shows grouped by artist for up to 8 names, deduplicated across sources and date-ordered, optionally scoped to a city. With a profile and no artists named, tracks the profile's saved featuring list.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional city to scope the search; omit for all cities."
        },
        "fields": {
          "type": "array",
          "items": {
            "enum": [
              "description",
              "images",
              "coordinates",
              "socials",
              "promoters",
              "source"
            ],
            "type": "string"
          },
          "maxItems": 12
        },
        "artists": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 8,
          "description": "Artist names to look up (max 8 per call)."
        },
        "date_to": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional inclusive end date, YYYY-MM-DD."
        },
        "date_from": {
          "type": "string",
          "maxLength": 200,
          "description": "Inclusive start date, YYYY-MM-DD. Defaults to today."
        },
        "profile_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional profile id; with no artists given, the saved featuring list is used."
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200
        },
        "limit_per_artist": {
          "type": "integer",
          "default": 5,
          "maximum": 10,
          "minimum": 1
        }
      },
      "dependentRequired": {
        "profile_id": [
          "profile_secret"
        ],
        "profile_secret": [
          "profile_id"
        ]
      }
    }
    arguments 67 lines
  • get_city_pulse reads unknown 28h ago

    Use this when a user asks what's hot, how busy a city is this week, or about scene trends. Returns an aggregate read over the coming days: busiest nights (city-local dates), top venues (attendance-weighted), genre mix, headline events and free-event count, every stat with evidence counts. Public inventory only.

    mcp-tool

    {
      "type": "object",
      "required": [
        "city"
      ],
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200,
          "description": "City name or slug."
        },
        "days": {
          "type": "integer",
          "default": 7,
          "maximum": 14,
          "minimum": 1,
          "description": "Window length in days from date_from (1-14)."
        },
        "date_from": {
          "type": "string",
          "maxLength": 200,
          "description": "Inclusive start date, YYYY-MM-DD. Defaults to today in the city."
        },
        "event_types": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Optional event-type filter, for example party."
        }
      }
    }
    arguments 34 lines
  • get_daily_roundup reads unknown 28h ago

    Use this when a user asks what's happening today or tomorrow, or for a morning briefing or scheduled check-in. Returns a one-day digest for a city: top picks plus sections for parties, live music, art, comedy and theatre, talks, food, and more. With a profile, saved, learned and per-weekday taste rank the picks. Pass compact=true for a short push-style digest.

    mcp-tool

    {
      "type": "object",
      "required": [
        "city"
      ],
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200,
          "description": "City name or slug."
        },
        "date": {
          "type": "string",
          "maxLength": 200,
          "description": "Target day, YYYY-MM-DD (city-local). Defaults to today."
        },
        "free": {
          "type": "boolean"
        },
        "vibe": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter."
        },
        "when": {
          "type": "string",
          "maxLength": 200,
          "description": "Single-day preset: today, tonight, tomorrow, or a weekday name. Ranges are rejected; use search_events for those."
        },
        "avoid": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 40,
          "description": "Ranking penalties."
        },
        "limit": {
          "type": "integer",
          "default": 100,
          "maximum": 200,
          "minimum": 1,
          "description": "How many of the day's events to fetch and rank."
        },
        "fields": {
          "type": "array",
          "items": {
            "enum": [
              "description",
              "images",
              "coordinates",
              "socials",
              "promoters",
              "source"
            ],
            "type": "string"
          },
          "maxItems": 12
        },
        "genres": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter."
        },
        "compact": {
          "type": "boolean",
          "default": false,
          "description": "Short digest: title, when, venue, price and link only; 3 picks, up to 4 sections of 3."
        },
        "price_max": {
          "type": "number"
        },
        "top_limit": {
          "type": "integer",
          "default": 5,
          "maximum": 10,
          "minimum": 1
        },
        "profile_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional profile id; pass with profile_secret to personalize."
        },
        "event_types": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter."
        },
        "neighborhoods": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "section_limit": {
          "type": "integer",
          "default": 5,
          "maximum": 10,
          "minimum": 1
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200
        }
      },
      "dependentRequired": {
        "profile_id": [
          "profile_secret"
        ],
        "profile_secret": [
          "profile_id"
        ]
      }
    }
    arguments 129 lines
  • get_ticket_offers unknown 28h ago

    Use this when the user wants tickets for one event, before quoting. Returns ticket options: provider, checkout link, estimated price, whether entry is free, whether autonomous purchase is supported, next_step, and the purchase policy. On the hosted connector Dizko does not buy tickets: next_step is hand_off_to_checkout.

    mcp-tool

    {
      "type": "object",
      "required": [
        "event_id"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Event id from any Dizko result."
        }
      }
    }
    arguments 13 lines
  • recommend_events reads unknown 12h ago

    Use this when a user wants live events ranked by taste, vibe, price, and exclusions. Every result carries recommendation_reasons. Request filters (genres, vibe, event_types, price_max, venue, featuring) are hard filters; avoid and max_price only rank.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200,
          "description": "City name or slug, for example berlin, 'new york', NYC, LA, 'São Paulo'. Required unless query, venue, featuring or promoter is given."
        },
        "free": {
          "type": "boolean",
          "description": "Only free-entry events."
        },
        "vibe": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter, for example underground, intimate, high-energy, queer-friendly, outdoors, free-entry."
        },
        "when": {
          "type": "string",
          "maxLength": 200,
          "description": "Timeframe preset resolved in the city's local timezone: today, tonight, tomorrow, weekend, next weekend, week, next week, month, monday, tuesday, wednesday, thursday, friday, saturday, sunday, any, or an exact date as YYYY-MM-DD. Use date_from/date_to instead for a custom range."
        },
        "avoid": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 40,
          "description": "Ranking penalties, for example mainstream, huge crowds, expensive tickets, or any word to avoid in titles and tags."
        },
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1,
          "description": "Same as result_limit; result_limit wins when both are given."
        },
        "pride": {
          "type": "boolean",
          "description": "Only Pride / LGBTQ+ flagged events."
        },
        "query": {
          "type": "string",
          "maxLength": 200,
          "description": "Free-text search, hybrid-ranked by the live API (exact > substring > fuzzy > semantic). Pass soft intent directly, for example 'dark queer warehouse rave' or 'ambient listening bar', or an artist or event name."
        },
        "venue": {
          "type": "string",
          "maxLength": 200,
          "description": "Hard filter on venue name (text match), for example Berghain."
        },
        "fields": {
          "type": "array",
          "items": {
            "enum": [
              "description",
              "images",
              "coordinates",
              "socials",
              "promoters",
              "source"
            ],
            "type": "string"
          },
          "maxItems": 12,
          "description": "Extra per-event fields: description (long form), coordinates, socials, promoters (full objects). Images and source are always included. Omit for the compact default."
        },
        "genres": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter, for example techno, house, jazz, hip hop, ambient."
        },
        "date_to": {
          "type": "string",
          "maxLength": 200,
          "description": "Inclusive end date, YYYY-MM-DD (city-local)."
        },
        "sort_by": {
          "enum": [
            "soonest",
            "popular",
            "distance",
            "cost",
            "event_type"
          ],
          "type": "string",
          "description": "soonest (chronological), popular (default for multi-day ranges), cost, event_type, or distance (needs origin_lat/origin_lng). Single-day requests default to soonest."
        },
        "promoter": {
          "type": "string",
          "maxLength": 200,
          "description": "Hard filter on promoter slug or display name."
        },
        "date_from": {
          "type": "string",
          "maxLength": 200,
          "description": "Inclusive start date, YYYY-MM-DD (city-local). Overrides `when`."
        },
        "featuring": {
          "type": "string",
          "maxLength": 200,
          "description": "Hard filter on an artist or performer on the lineup."
        },
        "max_price": {
          "type": "number",
          "description": "Soft budget used for ranking (over-budget events drop, they are not hidden). Use price_max for a hard cap."
        },
        "price_max": {
          "type": "number",
          "description": "Hard filter: maximum ticket price. Events without a listed price are excluded when set."
        },
        "price_min": {
          "type": "number",
          "description": "Hard filter: minimum ticket price."
        },
        "origin_lat": {
          "type": "number",
          "description": "Latitude for sort_by=distance ('near me'). Only pass coordinates the user gave you."
        },
        "origin_lng": {
          "type": "number",
          "description": "Longitude for sort_by=distance."
        },
        "profile_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional Dizko preference profile id; pass with profile_secret to rank by saved and learned taste as well. rank then defaults to taste."
        },
        "event_types": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter. Vocabulary: party, live music, concert, art, museum, comedy, theatre, talk, meetup, food, festival, wellness, sports."
        },
        "result_limit": {
          "type": "integer",
          "default": 10,
          "maximum": 50,
          "minimum": 1,
          "description": "How many ranked events to return (1-50, default 10)."
        },
        "neighborhoods": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter on neighborhood names, for example kreuzberg, bushwick."
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200,
          "description": "Private profile secret returned when the profile was created."
        }
      },
      "dependentRequired": {
        "profile_id": [
          "profile_secret"
        ],
        "profile_secret": [
          "profile_id"
        ]
      }
    }
    arguments 176 lines
  • search_events unknown 12h ago

    Use this when a user asks what's on and names a city, a venue, an artist, or a timeframe. Returns up to `limit` live events with local times (`when`), venue and address, price, genres, vibe, lineup, set times and links; `count` is the total matching. Pass profile_id and profile_secret to rank by saved taste (saved taste ranks results, it never filters them). Filters you pass (genres, vibe, event_types, price_max, venue, featuring) are hard filters; `avoid` and `max_price` are ranking hints. When nothing matches, the result carries `no_results` with how many events exist without the filters and ordered `suggested_relaxations` you can retry directly.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200,
          "description": "City name or slug, for example berlin, 'new york', NYC, LA, 'São Paulo'. Required unless query, venue, featuring or promoter is given."
        },
        "free": {
          "type": "boolean",
          "description": "Only free-entry events."
        },
        "rank": {
          "enum": [
            "relevance",
            "taste"
          ],
          "type": "string",
          "description": "relevance (default) keeps the API order; taste ranks the page by the genres, vibe, avoid and budget in this request."
        },
        "vibe": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter, for example underground, intimate, high-energy, queer-friendly, outdoors, free-entry."
        },
        "when": {
          "type": "string",
          "maxLength": 200,
          "description": "Timeframe preset resolved in the city's local timezone: today, tonight, tomorrow, weekend, next weekend, week, next week, month, monday, tuesday, wednesday, thursday, friday, saturday, sunday, any, or an exact date as YYYY-MM-DD. Use date_from/date_to instead for a custom range."
        },
        "avoid": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 40,
          "description": "Ranking penalties, for example mainstream, huge crowds, expensive tickets, or any word to avoid in titles and tags."
        },
        "limit": {
          "type": "integer",
          "default": 12,
          "maximum": 200,
          "minimum": 1,
          "description": "Events to return per page (1-200, default 12; rank: taste returns at most 50). count is the total available; page with next_cursor."
        },
        "pride": {
          "type": "boolean",
          "description": "Only Pride / LGBTQ+ flagged events."
        },
        "query": {
          "type": "string",
          "maxLength": 200,
          "description": "Free-text search, hybrid-ranked by the live API (exact > substring > fuzzy > semantic). Pass soft intent directly, for example 'dark queer warehouse rave' or 'ambient listening bar', or an artist or event name."
        },
        "venue": {
          "type": "string",
          "maxLength": 200,
          "description": "Hard filter on venue name (text match), for example Berghain."
        },
        "cursor": {
          "type": "string",
          "maxLength": 200,
          "description": "Opaque next_cursor returned by a prior search_events call. Takes precedence over offset."
        },
        "fields": {
          "type": "array",
          "items": {
            "enum": [
              "description",
              "images",
              "coordinates",
              "socials",
              "promoters",
              "source"
            ],
            "type": "string"
          },
          "maxItems": 12,
          "description": "Extra per-event fields: description (long form), coordinates, socials, promoters (full objects). Images and source are always included. Omit for the compact default."
        },
        "genres": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter, for example techno, house, jazz, hip hop, ambient."
        },
        "offset": {
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "description": "Legacy pagination offset; prefer cursor. Pass back next_offset from the previous page, never a number you computed. Applies to relevance ranking only; taste ranking scores one window and ignores it."
        },
        "date_to": {
          "type": "string",
          "maxLength": 200,
          "description": "Inclusive end date, YYYY-MM-DD (city-local)."
        },
        "sort_by": {
          "enum": [
            "soonest",
            "popular",
            "distance",
            "cost",
            "event_type"
          ],
          "type": "string",
          "description": "soonest (chronological), popular (default for multi-day ranges), cost, event_type, or distance (needs origin_lat/origin_lng). Single-day requests default to soonest."
        },
        "promoter": {
          "type": "string",
          "maxLength": 200,
          "description": "Hard filter on promoter slug or display name."
        },
        "date_from": {
          "type": "string",
          "maxLength": 200,
          "description": "Inclusive start date, YYYY-MM-DD (city-local). Overrides `when`."
        },
        "featuring": {
          "type": "string",
          "maxLength": 200,
          "description": "Hard filter on an artist or performer on the lineup."
        },
        "max_price": {
          "type": "number",
          "description": "Soft budget used for ranking (over-budget events drop, they are not hidden). Use price_max for a hard cap."
        },
        "price_max": {
          "type": "number",
          "description": "Hard filter: maximum ticket price. Events without a listed price are excluded when set."
        },
        "price_min": {
          "type": "number",
          "description": "Hard filter: minimum ticket price."
        },
        "origin_lat": {
          "type": "number",
          "description": "Latitude for sort_by=distance ('near me'). Only pass coordinates the user gave you."
        },
        "origin_lng": {
          "type": "number",
          "description": "Longitude for sort_by=distance."
        },
        "profile_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional Dizko preference profile id; pass with profile_secret to rank by saved and learned taste as well. rank then defaults to taste."
        },
        "event_types": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter. Vocabulary: party, live music, concert, art, museum, comedy, theatre, talk, meetup, food, festival, wellness, sports."
        },
        "neighborhoods": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50,
          "description": "Hard filter on neighborhood names, for example kreuzberg, bushwick."
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200,
          "description": "Private profile secret returned when the profile was created."
        }
      },
      "dependentRequired": {
        "profile_id": [
          "profile_secret"
        ],
        "profile_secret": [
          "profile_id"
        ]
      }
    }
    arguments 189 lines
  • get_artist_page reads unknown 35h ago

    Use this when a user wants an artist's Dizko page or a specific published mix or set. Returns the page embeds with stable block ids for deep links.

    mcp-tool

    {
      "type": "object",
      "required": [
        "handle"
      ],
      "properties": {
        "handle": {
          "type": "string",
          "maxLength": 200
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • get_artist reads unknown 15h ago

    Use this when a user wants a canonical artist profile, graph context, published links, and upcoming events. Pass an id or a name query; this does not enumerate the artist catalog.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "id"
          ]
        },
        {
          "required": [
            "query"
          ]
        }
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 200,
          "description": "Canonical Dizko entity id."
        },
        "city": {
          "type": "string",
          "maxLength": 200
        },
        "limit": {
          "type": "number",
          "default": 10,
          "maximum": 20,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "maxLength": 200,
          "description": "Artist or venue name when the id is unknown."
        },
        "date_to": {
          "type": "string",
          "maxLength": 200
        },
        "date_from": {
          "type": "string",
          "maxLength": 200
        }
      },
      "additionalProperties": false
    }
    arguments 46 lines
  • plan_night reads unknown 15h ago

    Use this when the user wants a night plan with backups rather than a list. Returns, for one city and date, a primary event plus a nearby fallback (best taste fit within 6 km), a later-starting fallback, and alternates. Accepts the same filters as search_events and an optional profile for saved taste. An empty plan carries the same `no_results` guidance as search.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200,
          "description": "City name or slug."
        },
        "free": {
          "type": "boolean"
        },
        "vibe": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "when": {
          "type": "string",
          "maxLength": 200,
          "description": "Timeframe preset resolved in the city's local timezone: today, tonight, tomorrow, weekend, next weekend, week, next week, month, monday, tuesday, wednesday, thursday, friday, saturday, sunday, any, or an exact date as YYYY-MM-DD. Use date_from/date_to instead for a custom range."
        },
        "avoid": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 40,
          "description": "Ranking penalties."
        },
        "pride": {
          "type": "boolean",
          "description": "Only Pride / LGBTQ+ flagged events."
        },
        "query": {
          "type": "string",
          "maxLength": 200,
          "description": "Free-text intent, for example 'concert first then a late party'."
        },
        "venue": {
          "type": "string",
          "maxLength": 200
        },
        "fields": {
          "type": "array",
          "items": {
            "enum": [
              "description",
              "images",
              "coordinates",
              "socials",
              "promoters",
              "source"
            ],
            "type": "string"
          },
          "maxItems": 12
        },
        "genres": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "date_to": {
          "type": "string",
          "maxLength": 200,
          "description": "Inclusive end date, YYYY-MM-DD."
        },
        "promoter": {
          "type": "string",
          "maxLength": 200,
          "description": "Promoter slug or display name."
        },
        "date_from": {
          "type": "string",
          "maxLength": 200,
          "description": "Inclusive start date, YYYY-MM-DD."
        },
        "featuring": {
          "type": "string",
          "maxLength": 200
        },
        "max_price": {
          "type": "number",
          "description": "Soft budget for ranking."
        },
        "price_max": {
          "type": "number",
          "description": "Hard price cap."
        },
        "price_min": {
          "type": "number",
          "description": "Hard filter: minimum ticket price."
        },
        "profile_id": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional profile id; pass with profile_secret."
        },
        "event_types": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "result_limit": {
          "type": "integer",
          "default": 4,
          "maximum": 6,
          "minimum": 1,
          "description": "Plan size including the primary (1-6)."
        },
        "neighborhoods": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200
        }
      },
      "dependentRequired": {
        "profile_id": [
          "profile_secret"
        ],
        "profile_secret": [
          "profile_id"
        ]
      }
    }
    arguments 142 lines
  • find_scene_entities unknown 10h ago

    Use this when a user asks who a DJ is or about a venue, collective, or promoter.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "id"
          ]
        },
        {
          "required": [
            "query"
          ]
        }
      ],
      "required": [
        "kind"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 200
        },
        "city": {
          "type": "string",
          "maxLength": 200
        },
        "kind": {
          "enum": [
            "dj",
            "artist",
            "venue",
            "collective",
            "promoter"
          ],
          "type": "string"
        },
        "genre": {
          "type": "string",
          "maxLength": 200
        },
        "limit": {
          "type": "number",
          "maximum": 20,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "maxLength": 200
        },
        "date_to": {
          "type": "string",
          "maxLength": 200
        },
        "date_from": {
          "type": "string",
          "maxLength": 200
        }
      }
    }
    arguments 59 lines
  • get_event unknown 3h ago

    Use this only when the user gives an event id, or wants extra detail on an event not in the current results; search results already contain what the template needs. Returns full detail for one event: local times, venue and address, price, lineup, set times, artist socials, image, coordinates and links.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 200,
          "description": "Event id (UUID) from any Dizko result."
        }
      }
    }
    arguments 13 lines
  • recommend_events_for_user reads unknown 3h ago

    Use this when a user wants recommendations personalized with a saved Dizko profile. Saved and learned taste rank the results; they never hide them.

    mcp-tool

    {
      "type": "object",
      "required": [
        "profile_id",
        "profile_secret"
      ],
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200
        },
        "free": {
          "type": "boolean"
        },
        "vibe": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "when": {
          "type": "string",
          "maxLength": 200
        },
        "avoid": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 40
        },
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1,
          "description": "Same as result_limit; result_limit wins when both are given."
        },
        "query": {
          "type": "string",
          "maxLength": 200
        },
        "venue": {
          "type": "string",
          "maxLength": 200
        },
        "genres": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "date_to": {
          "type": "string",
          "maxLength": 200
        },
        "date_from": {
          "type": "string",
          "maxLength": 200
        },
        "featuring": {
          "type": "string",
          "maxLength": 200
        },
        "max_price": {
          "type": "number"
        },
        "nightlife": {
          "type": "boolean"
        },
        "price_max": {
          "type": "number"
        },
        "profile_id": {
          "type": "string",
          "maxLength": 200
        },
        "event_types": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "result_limit": {
          "type": "integer",
          "default": 10,
          "maximum": 50,
          "minimum": 1,
          "description": "How many ranked events to return (1-50, default 10)."
        },
        "neighborhoods": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 50
        },
        "profile_secret": {
          "type": "string",
          "maxLength": 200,
          "description": "Private profile secret returned when the profile was created."
        }
      }
    }
    arguments 111 lines
  • get_event_feedback_prompt reads unknown 3h ago

    Use this when a user needs a short post-event feedback prompt.

    mcp-tool

    {
      "type": "object",
      "required": [
        "event_id"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "maxLength": 200
        },
        "attended_at": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional ISO date/time or YYYY-MM-DD the user attended or planned to attend."
        }
      }
    }
    arguments 17 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id bd29546fd9d34517.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/bd29546fd9d34517/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/bd29546fd9d34517/badge.svg)](https://brick.blue/agent/bd29546fd9d34517?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.