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

udansa

https://udansa.com

Registry code: 3b77280c538c568a

api record

udansa is a platform for dance courses, dance events and a large dance guide in 40 languages (mainly Germany, Austria and Switzerland, plus festivals across Europe). Find offers with search_dance_courses and search_dance_events (free text, city, dance style in any language, level, weekday, provider/organizer, price, category); get_search_filter_options lists the cities and styles that have offers. get_course_details and get_event_details return the full public information of one entry, including whether it can be booked online. For questions about dancing (learning to dance, wedding dance,…

endpoint
https://udansa.com/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 udansa live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is udansa free to use?
Yes — the hub reached it with no key and no payment.
What tools does udansa have?
7 tools: get_course_details, get_event_details, search_guide_articles, read_page_text, get_search_filter_options, search_dance_courses, search_dance_events.
Is udansa 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
359ms

last good check

priced tools
0

of 7 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ 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 7 tools
3 open 4 never probed 3 of 7 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_search_filter_options open 1h ago

    List every city and dance style that currently has courses (kind 'courses') or events (kind 'events') on udansa, with style names in the requested language. Use the values as city / style filters in search_dance_courses and search_dance_events.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "kind": {
          "enum": [
            "courses",
            "events"
          ],
          "type": "string",
          "default": "courses"
        },
        "language": {
          "type": "string",
          "default": "de",
          "maxLength": 5,
          "minLength": 2,
          "description": "Two-letter language code for the style names."
        }
      }
    }
    arguments 21 lines
  • search_dance_courses open 1h ago

    Search public dance courses on udansa - the same results as the course search page. Filter by free text, city, dance style (any language), level, weekday, provider and price. Each result has id, title, style, level, city, venue, weekday, start/end, whether it runs continuously ('ongoing'), price ('free' when it costs nothing), free places and the course page URL. Also returns the most common filter values with counts (filter_options) and a link to the same search on udansa. Use get_course_details for one course; booking happens on the course page.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 80,
          "description": "City as listed on udansa, usually the local name ('München', 'Wien'). English names like 'Munich' are tried as well. Values: filter_options.city or get_search_filter_options."
        },
        "page": {
          "type": "integer",
          "default": 1,
          "maximum": 100,
          "minimum": 1,
          "description": "Result page, starting at 1."
        },
        "sort": {
          "enum": [
            "relevance",
            "price_asc",
            "price_desc",
            "date_asc"
          ],
          "type": "string"
        },
        "level": {
          "type": "string",
          "maxLength": 40,
          "description": "Exact level value from filter_options.level of a search result."
        },
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 24,
          "minimum": 1,
          "description": "Results per page (1-24, default 10)."
        },
        "query": {
          "type": "string",
          "maxLength": 100,
          "description": "Free text, partial words allowed, e.g. 'Salsa beginners'."
        },
        "style": {
          "type": "string",
          "maxLength": 80,
          "description": "Dance style name in any language, e.g. 'Bachata', 'Wedding dance', 'Hochzeitstanz'. Values: filter_options.style or get_search_filter_options."
        },
        "weekday": {
          "enum": [
            "monday",
            "tuesday",
            "wednesday",
            "thursday",
            "friday",
            "saturday",
            "sunday"
          ],
          "type": "string",
          "description": "Only offers on this weekday."
        },
        "language": {
          "type": "string",
          "default": "de",
          "maxLength": 5,
          "minLength": 2,
          "description": "Two-letter language code for texts, style names and page links (de, en, fr, es, it, ...). Default de."
        },
        "provider": {
          "type": "string",
          "maxLength": 120,
          "description": "Exact dance school or organizer name from filter_options.provider of a search result; use query for partial names."
        },
        "price_max": {
          "type": "number",
          "minimum": 0
        },
        "price_min": {
          "type": "number",
          "minimum": 0
        }
      }
    }
    arguments 82 lines
  • search_dance_events open 1h ago

    Search upcoming dance events on udansa (parties, workshops, festivals, congresses, balls) - the same results as the event search page. Filter by free text, city, dance style (any language), category, weekday, organizer and price. Recurring events appear once with their next date. Each result has id, title, style, type, city, venue, start/end, price_from (null when the organizer has not published a price; 'free' only when it really costs nothing), how tickets are sold ('udansa', 'external', 'at_the_door'), a short summary and the event page URL. Use get_event_details for tickets and programme.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 80,
          "description": "City as listed on udansa, usually the local name ('München', 'Wien'). English names like 'Munich' are tried as well. Values: filter_options.city or get_search_filter_options."
        },
        "page": {
          "type": "integer",
          "default": 1,
          "maximum": 100,
          "minimum": 1,
          "description": "Result page, starting at 1."
        },
        "sort": {
          "enum": [
            "relevance",
            "price_asc",
            "price_desc",
            "date_asc"
          ],
          "type": "string"
        },
        "level": {
          "type": "string",
          "maxLength": 40,
          "description": "Exact level value from filter_options.level of a search result."
        },
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 24,
          "minimum": 1,
          "description": "Results per page (1-24, default 10)."
        },
        "query": {
          "type": "string",
          "maxLength": 100,
          "description": "Free text, partial words allowed, e.g. 'Salsa beginners'."
        },
        "style": {
          "type": "string",
          "maxLength": 80,
          "description": "Dance style name in any language, e.g. 'Bachata', 'Wedding dance', 'Hochzeitstanz'. Values: filter_options.style or get_search_filter_options."
        },
        "weekday": {
          "enum": [
            "monday",
            "tuesday",
            "wednesday",
            "thursday",
            "friday",
            "saturday",
            "sunday"
          ],
          "type": "string",
          "description": "Only offers on this weekday."
        },
        "category": {
          "type": "string",
          "maxLength": 60,
          "description": "Exact event category from filter_options.category of a search result, e.g. 'party', 'workshop', 'festival'."
        },
        "language": {
          "type": "string",
          "default": "de",
          "maxLength": 5,
          "minLength": 2,
          "description": "Two-letter language code for texts, style names and page links (de, en, fr, es, it, ...). Default de."
        },
        "provider": {
          "type": "string",
          "maxLength": 120,
          "description": "Exact dance school or organizer name from filter_options.provider of a search result; use query for partial names."
        },
        "price_max": {
          "type": "number",
          "minimum": 0
        },
        "price_min": {
          "type": "number",
          "minimum": 0
        }
      }
    }
    arguments 87 lines
  • get_course_details unknown never probed

    Full public details of one dance course on udansa: description, styles, level, provider, instructor, venue with address, schedule (start, end or 'ongoing', weekday, upcoming sessions, time zone), price and price options, free places, age limits, waitlist, trial lesson and whether it can be booked online on udansa (booking.reason says why not). Link: url.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "description": "Course id, as returned by search_dance_courses."
        },
        "language": {
          "type": "string",
          "default": "de",
          "maxLength": 5,
          "minLength": 2,
          "description": "Two-letter language code for the page link and style names."
        }
      }
    }
    arguments 21 lines
  • get_event_details unknown never probed

    Full public details of one dance event on udansa: title and description in the requested language, category, styles, start and end with time zone, venue, organizer (null for events curated by udansa), artists, programme, ticket categories with price and remaining tickets, add-ons, free places, series (next date), waitlist and whether tickets can be bought on udansa (booking.reason says why not; booking.external_url for external sale). Link: url.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "description": "Event id, as returned by search_dance_events."
        },
        "language": {
          "type": "string",
          "default": "de",
          "maxLength": 5,
          "minLength": 2,
          "description": "Two-letter language code for translated texts and the page link."
        }
      }
    }
    arguments 21 lines
  • search_guide_articles unknown never probed

    Search udansa's editorial content: about 1,400 dance guide articles (learning to dance, finding a dance partner, wedding dance, dance styles, etiquette, health), city guides and dance style pages, in 40 languages. Returns titles, short summaries and page URLs; read one with read_page_text.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "query"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 25,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "maxLength": 120,
          "minLength": 2,
          "description": "What the user wants to know, e.g. 'wedding dance first steps'."
        },
        "section": {
          "enum": [
            "guide",
            "city",
            "dance_style"
          ],
          "type": "string",
          "description": "Limit to guide articles, city pages or dance style pages."
        },
        "language": {
          "type": "string",
          "default": "de",
          "maxLength": 2,
          "minLength": 2,
          "description": "Two-letter language code."
        }
      }
    }
    arguments 37 lines
  • read_page_text unknown never probed

    Read the text of a udansa content page (guide article, city or dance style page, terms, privacy or cancellation policy, about us) as plain sections plus its FAQ. Pass a URL or path from search_guide_articles, e.g. https://udansa.com/en/dance-guide/... For courses and events use get_course_details / get_event_details.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 500,
          "minLength": 1,
          "description": "udansa URL or path, e.g. /de/tanz-ratgeber/..."
        }
      }
    }
    arguments 15 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 3b77280c538c568a.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/3b77280c538c568a/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/3b77280c538c568a/badge.svg)](https://brick.blue/agent/3b77280c538c568a?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.