Ugrás a tartalomra

MI és API

MI és API – Kulturon MI-asszisztenseknek

Állapot: 08.10.2026

Kulturon is built for AI assistants: agents find events, read availability and hand a ready cart over to a human – payment always happens in the browser. Organizers can also enter their events via AI.

Two access paths

  1. llms.txt + Agent API – public, no login, JSON or Markdown. For answer engines, chatbots and your own agents.
  2. MCP server (Model Context Protocol) – for Claude, Cursor and others. Without login: search and checkout links. Signed in (claude.ai connector via OAuth or an application password): management tools (create events, ticket categories, sales).

llms.txt

https://kulturon.cloudcompany.at/hu/llms.txt is a Markdown description of the platform: what Kulturon is, the next 20 events with a short description, price and availability, the latest magazine articles, all sections and legal pages. /llms-full.txt contains the full texts. Translations: /en/llms.txt, /hu/llms.txt, /sk/llms.txt. Every page links to it with <link rel="describedby" type="text/markdown">; the file is regenerated whenever content changes.

Agent API (public)

Base: https://kulturon.cloudcompany.at/wp-json/kulturon/v1/agent · machine-readable: OpenAPI 3.1. Responses as JSON {data, meta, errors} or, with ?format=md (or Accept: text/markdown), as compact Markdown. Language via ?lang=de|en|hu|sk. Limits: 120 requests per minute and IP, checkout 10 per 10 minutes.

EndpointPurpose
GET /agent/eventsSearch: q, from, to, genre, city, venue, organizer, price_max, available_only, page, per_page (max. 50)
GET /agent/events/{id|slug}Details incl. ticket categories with remaining counts, seat map yes/no, address, organizer, performers, service fee, refund link
GET /agent/availability/{id|slug}Live availability (not cached)
GET /agent/genres · /agent/venues · /agent/artists?q=Genres (slugs for the filter), venues, artists with dates
POST /agent/checkoutCheckout handoff (see below)
curl 'https://kulturon.cloudcompany.at/wp-json/kulturon/v1/agent/events?q=cabaret&lang=en&format=md'

Buying tickets: checkout handoff

Agents never pay and never enter payment or card data. Instead:

  1. POST /agent/checkout with {"event_id": 123, "items": [{"sku": "STD", "qty": 2}]} – seat-map events use "seats": ["seat id", …]. The tickets are validated like the cart and reserved for 30 minutes.
  2. The response contains checkout_url. The agent gives this link to the human.
  3. Opening it puts the tickets into that browser's cart and opens the checkout, where name, address and payment are entered – from then on the normal 20-minute reservation applies. An expired or already used link releases the tickets.

MCP server

Endpoint: https://kulturon.cloudcompany.at/wp-json/kulturon/v1/mcp (Streamable HTTP, JSON-RPC 2.0, protocol 2025-06-18 and newer, JSON responses without SSE).

  • Without login: search_events, get_event, list_genres, list_venues, search_artists, check_availability, create_checkout_link; resources llms.txt and OpenAPI.
  • Organizers (own events): my_events, create_event (always as draft), update_event, set_ticket_types, upload_event_image (image by URL), list_orders, sales_summary, get_attendee_count, translate_event.
  • Management additionally: publish_event, list_requests.

The tool list depends on the key: only tools the user may actually run are listed.

Connect: claude.ai (web, desktop app, mobile)

For organizer and management accounts – no password sharing, sign-in happens at Kulturon (OAuth 2.1):

  1. In Claude open Settings › Connectors › Add custom connector.
  2. Enter a name such as "Kulturon" and the URL https://kulturon.cloudcompany.at/wp-json/kulturon/v1/mcp/secure, then add it.
  3. Click "Connect": Kulturon opens, sign in with your own account.
  4. On the consent page check the app, the return address and the permissions, then choose "Allow".

The connection then appears in the account settings under Connected AI apps and can be disconnected there at any time. Permissions: mcp:read (public tools) and mcp:write (management tools within the account's rights). Customer accounts cannot connect; for the public tools https://kulturon.cloudcompany.at/wp-json/kulturon/v1/mcp works without signing in.

Claude Code (terminal):

claude mcp add --transport http kulturon https://kulturon.cloudcompany.at/wp-json/kulturon/v1/mcp \
  --header "Authorization: Basic BASE64(username:application-password)"

Claude Desktop (claude_desktop_config.json, via mcp-remote):

{"mcpServers": {"kulturon": {"command": "npx",
  "args": ["-y", "mcp-remote", "https://kulturon.cloudcompany.at/wp-json/kulturon/v1/mcp", "--header", "Authorization:${KULTURON_AUTH}"],
  "env": {"KULTURON_AUTH": "Basic BASE64(username:application-password)"}}}}

Cursor (.cursor/mcp.json):

{"mcpServers": {"kulturon": {"url": "https://kulturon.cloudcompany.at/wp-json/kulturon/v1/mcp",
  "headers": {"Authorization": "Basic BASE64(username:application-password)"}}}}

Without the header the public tools work. When a key is created, the management sees these configurations with the password filled in – once. Clients with OAuth support (e.g. claude mcp add --transport http kulturon https://kulturon.cloudcompany.at/wp-json/kulturon/v1/mcp/secure) need no password: they start the sign-in in the browser.

Keys (application passwords)

  • Keys exist only for the management and for organizers – never for customer accounts.
  • The Kulturon management creates them under Account › Management › Users › (user) › AI/API keys. The password is shown only once; "Reset" replaces it, "Revoke" blocks it immediately.
  • Organizers see their keys (name, last used, number of calls) in their account settings and can revoke them there.
  • Every call made with a key or an OAuth connection is logged (user, key, route or tool, status, duration, IP only as hash) and deleted after the retention period.
  • Same rights as in the account: organizers edit only events of their own organizers; publishing follows the usual rules (required fields, confirmation) or is done by the management.

For organizers: enter events via AI

Example request to Claude: "Create my concert on 5 December at 19:30 in the Stadttheater, genre concerts, standing ticket € 29, 300 pieces, poster: https://…/poster.jpg". The assistant calls create_event, saves a draft and reports which details are still missing for publication, with a link to the event editor in the account.

Privacy

The public interfaces contain no personal data (no contact persons, no e-mail addresses or phone numbers of organizers, no customer data). An e-mail address optionally passed to the checkout handoff is stored for at most 30 minutes. Questions: office@kulturon.at.