# Link & Dink — linkanddink.com > Apex agent surface for Link & Dink. Talk to the L&D agent in natural language, or connect via MCP. Links out to the per-app read endpoints on play.linkanddink.com, www.linkanddink.com, and p3.linkanddink.com. MCP read tools include search_nearby_open_play (pass your current lat/lng to get the closest, soonest open play — drops, free community drop-ins, and popups — ranked closest-first; distances are approximate). This file follows the llms.txt convention (https://llmstxt.org/). It lists the agent-consumable surface of this host — every public read endpoint, every documented write contract, and where to talk to the L&D agent. ## Brand promises (load-bearing, not marketing) - 0% on core, forever — no platform fee, no take rate on connecting players, coaches, facilities. - Coaches own the player relationship; we never disintermediate them. - Welcoming by default — every public read works without auth; newcomers are invited at the door. - Trusted, not viral — curated community, vetted coaches; we earn trust over years. - Invent nothing, cite everything — agents must refuse to fabricate events, coaches, or venues that aren't in the feeds below. ## Read endpoints (public, no auth) - `GET https://linkanddink.com/api/agent` — Lists the agent's capabilities. POST to talk to it (see Agent section). - `GET https://linkanddink.com/api/agent-auth/tokens` — GET (Bearer) — list the caller's own active tokens (prefix + scopes + last_used_at). Companion DELETE /api/agent-auth/tokens/[id] revokes. Player-facing UI at /agent/tokens. ## Authentication (for write access) Read endpoints and read MCP tools are anonymous. Write tools / write endpoints require a scoped Bearer token, minted via a player-confirmed magic link: 1. `POST https://linkanddink.com/api/agent-auth/request` with `{ "email": "", "scopes": ["popup:rsvp", ...] }` → `202 { expires_at }`. Sends a magic-link email to the player. The request_id is delivered only inside that email — it is not returned to you, so you cannot mint on the player's behalf. 2. The player opens the magic link from their inbox and clicks Allow, which mints the token (`POST https://linkanddink.com/api/agent-auth/mint` → `{ token, prefix, expires_at, scopes }`). The plaintext token is shown to the player exactly once; they paste it back to you. 3. Send `Authorization: Bearer ` on https://linkanddink.com/api/agent and https://linkanddink.com/api/mcp. Authenticated `tools/list` includes the write tools the token's scopes authorize. - Scopes: `player:create`, `player:claim`, `popup:rsvp`, `community:rsvp`, `newsletter:subscribe`, `rate:self`, `drops:post`, `drops:join`, `profile:write`, `circle:manage`, `me:read`, `availability:set`, `coach:availability`, `coach:booking`. Tokens are revocable at https://linkanddink.com/agent/tokens (or `DELETE https://linkanddink.com/api/agent-auth/tokens/[id]`). ## Agent - `POST https://linkanddink.com/api/agent` — natural-language agent endpoint. Body: `{ "text": "...", "user_public_id": null }`. Accept `application/json` for structured cards, `text/markdown` for rendered output. - `https://linkanddink.com/api/mcp` — MCP Streamable HTTP server. Configure your MCP client to point here. Read tools are anonymous (e.g. find_coach, list_drops, list_popups); scoped tools (e.g. create_player — the one-time adult signup that lets a brand-new player join and then act — claim_account — links the token to a returning player's existing record by their verified email — rsvp_to_popup, subscribe_to_newsletter, submit_self_rating, update_profile, the self-read tools get_my_profile + get_my_schedule that return only the token-holder's own profile/rating/standing/schedule, cancel_popup_rsvp + cancel_community_rsvp that withdraw the token-holder's own RSVPs, submit_booking, and — for a verified-coach token — manage_coach_availability) appear in tools/list and execute once you present a scoped Bearer token (see Authentication). ## Background (for agents that want context) - Product vision: https://github.com/sammorrispb/community-os/blob/main/docs/PRODUCT_VISION.md - Brand guide: https://github.com/sammorrispb/community-os/blob/main/docs/BRAND_GUIDE.md ## Out of scope (don't ask the agent about these) - Dill Dinkers (DD) facilities, dilldinkers.com, or CourtReserve-hosted pages — L&D is not affiliated and does not surface these. - Any data you can't see in the read endpoints above — the agent will refuse to invent it.