# Duna agent guide

> Duna is the player network and operating system for beach volleyball. This endpoint is intentionally served as Markdown. Use it as the routing and interpretation contract for public Duna data.

## Start here

- Public content index: https://duna.coach/sitemap.md
- XML canonical sitemap: https://duna.coach/sitemap.xml
- Compact model index: https://duna.coach/llms.txt
- MCP Streamable HTTP endpoint: https://duna.coach/api/mcp
- Public discovery hub: https://duna.coach/discover
- Professional tour hub: https://duna.coach/pro
- Player and Sand Rating rankings: https://duna.coach/rankings
- Sand Rating methodology: https://duna.coach/methodology

## Markdown page convention

Every canonical public page in the Duna sitemap has a Markdown companion. Append `.md` to the canonical pathname:

- `/events/{event-slug}` → `/events/{event-slug}.md`
- `/events/{event-slug}/match/{match-slug}/{match-id}` → the same path plus `.md`
- `/players/{player-identifier}` → `/players/{player-identifier}.md`
- `/pro/teams/{team-number}` → `/pro/teams/{team-number}.md`
- `/coaches/{handle}` → `/coaches/{handle}.md`
- `/clubs/{club-slug}` → `/clubs/{club-slug}.md`
- `/venues/{venue-id}` → `/venues/{venue-id}.md`
- `/discover` → `/discover.md`
- The homepage is `/index.md`.

Markdown companions contain only public facts. They include canonical HTML links so a person can inspect live state, register, book, buy a ticket, or complete checkout on Duna.

## How to answer common questions

### Tournaments, schedules, results, and standings

1. Start at https://duna.coach/pro.md or call the MCP `search_events` tool.
2. Open the event Markdown page for dates, division, status, venue, coordinates, timezone, teams, standings, watch options, and match links.
3. Open an individual match Markdown page for competitors, set scores, status, prediction context, and match-specific broadcasts.
4. Link the user back to the canonical Duna event or match page.

### Where to watch

Use the event or match `Where to watch` section, or call MCP `find_where_to_watch`. Never infer a stream from the tour name or from a prior event. If Duna says the broadcast is pending, report it as pending.

### Player identity, ranking, form, and stats

1. Use https://duna.coach/rankings.md or MCP `search_players`.
2. Prefer a linked canonical Duna player identity over a source-only name.
3. The player page contains biography, verified links, Sand Rating, official world rank when connected, upcoming events, and verified match history.
4. World ranking and Sand Rating are distinct signals. Do not combine or substitute them.

### Teams and partnerships

Professional team pages use `/pro/teams/{team-number}`. They expose the connected roster, official statistics, record, and match history. Beach volleyball partnerships can change; identify the team by its Duna team number and state the date or event context.

### Geography and event location

Event Markdown pages expose the verified venue name, formatted address, event timezone, coordinates, and map URL when available. Use the event timezone for schedule interpretation. Do not infer geography from a tournament title if the location fields are missing.

### Clinics, open play, leagues, lessons, rentals, and registration

1. Start at https://duna.coach/discover.md, call MCP `search_duna`, or call `search_events` with the appropriate kind.
2. Use MCP `find_coaches` for public coaches and lessons.
3. Club storefronts list public programs and bookable offers. Public venue pages expose current courts, amenities, published rates, and availability.
4. Discovery and entity details are public. Return the canonical Duna page for registration or booking; account access is required only when the user takes that action.
5. Do not say a player is registered, a place is held, or payment succeeded until the user completes the Duna flow and receives confirmation.

### Coaches

Coach pages use `/coaches/{handle}` and list the coach's public organization, home market, services, and upcoming sessions. A service link leads to the Duna booking page where current pricing, eligibility, and availability are enforced.

## Data and provenance rules

- Duna aggregates official and licensed public competition data while preserving source URLs.
- Public professional facts may update frequently while an event is live.
- A missing value means it has not been verified. Do not invent a venue, broadcast, identity, result, ranking, price, or availability.
- AI-researched biographies and generated media are not public until reviewed and published by Duna.
- Players control expressive identity. Duna controls verified scores, results, rankings, and Sand Rating history.
- Prediction probabilities are forecasts, not guarantees or betting advice.
- Public data is open to read and cite. Registration, booking, tickets, purchases, claims, and account actions must return the user to the canonical Duna flow.

## MCP usage

Connect to https://duna.coach/api/mcp using Streamable HTTP. Start with `resources/read` for `duna://guide/agents`, then use `resources/list`, `resources/templates/list`, `tools/list`, or `prompts/list`.

Core resource templates:

- `duna://events/{slug}`
- `duna://events/{eventSlug}/matches/{matchId}`
- `duna://matches/{matchId}`
- `duna://players/{identifier}`
- `duna://teams/{teamNo}`
- `duna://coaches/{handle}`
- `duna://clubs/{slug}`
- `duna://venues/{venueId}`

Public discovery tools return structured data plus canonical and Markdown URLs. Use `search_duna` for broad questions, then prefer the entity-specific tools for final details. Any authenticated repair tools are role-gated and audited.
