# finn-tannlege.com — LLM-oversikt ## Hva er dette? Finn-tannlege.com er en uavhengig søketjeneste for tannlegeklinikker i Norge. Databasen inneholder omtrent 5 447 klinikker hentet fra Brønnøysundregistrene, HPR og klinikkenes egne nettsider. ## A2A AI-discovery Agent Card (A2A-protokoll): https://finn-tannlege.com/.well-known/agent-card.json Alias: https://finn-tannlege.com/agent-card.json A2A JSON-RPC 2.0 endepunkt: https://finn-tannlege.com/a2a OpenAPI 3.1 spec: https://finn-tannlege.com/openapi.json Støttede A2A JSON-RPC-metoder: - message/send — søk klinikker med naturlig språk eller strukturerte filtre Eksempel (cURL): curl -X POST https://finn-tannlege.com/a2a \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"message/send","params":{"message":{"text":"finn tannlege med helfo-avtale i Oslo"}},"id":"1"}' ## ChatGPT Custom GPT ChatGPT Custom GPT — Finn tannlege i Norge: https://chatgpt.com/g/g-6a21e79241cc8191a04642bda508e42b-finn-tannlege-i-norge ## MCP (Model Context Protocol) HTTP Streamable MCP: https://finn-tannlege.com/mcp MCP Server Card: https://finn-tannlege.com/.well-known/mcp/server-card.json npm-pakke (stdio): npx finn-tannlege-mcp Tilgjengelige MCP-tools: - tannlege_search — søk klinikker (fritekst, fylke, spesialitet, Helfo, akutt) - tannlege_info — full klinikkprofil via org_nr eller id - tannlege_stats — aggregerte markedsstatistikker - tannlege_akutt — finn akuttvakt-klinikker - tannlege_kjeder — list alle tannlegekjeder med antall lokasjoner Claude Desktop-konfig: { "mcpServers": { "finn-tannlege": { "command": "npx", "args": ["finn-tannlege-mcp"] } } } ## REST API-endepunkt GET https://finn-tannlege.com/api/tannlege/agents Filterparametre (query string): - q fritekst — matcher navn eller poststed - fylke fylkesnavn (f.eks. "Oslo", "Vestland") - specialty spesialitet (f.eks. "endodonti", "kjeveortopedi") - helfo "true" — kun klinikker med Helfo-direkteoppgjørsavtale - acute_vakt 1 — kun klinikker med akuttvakt-tilbud - enrichment_state "raw" | "enriched" - limit maks antall resultater (standard 50, maks 500) - offset sidebladering Respons: JSON-array med DentalAgent-objekter. ## Profil-URL-mønster https://finn-tannlege.com/klinikk/{navn-slugified}-{9-sifret-orgnr} Eksempel: https://finn-tannlege.com/klinikk/oslo-tannlegeklinikk-as-123456789 ## Spesialitet-sider https://finn-tannlege.com/spesialitet/kjeveortopedi https://finn-tannlege.com/spesialitet/oral-kirurgi-og-oral-medisin https://finn-tannlege.com/spesialitet/periodonti https://finn-tannlege.com/spesialitet/endodonti https://finn-tannlege.com/spesialitet/pedodonti https://finn-tannlege.com/spesialitet/oral-protetikk https://finn-tannlege.com/spesialitet/kjeve-og-ansiktsradiologi ## Slik fungerer det https://finn-tannlege.com/hvordan-det-fungerer ## Lisens Data fra Brønnøysundregistrene er CC0 (fri bruk). HPR-data er offentlig. Klinikkdata fra nettsider gjengis som faktaoppsummering. ## Frivillig API-nøkkel (forbruker-identitet) Helt valgfritt — alle søk-/lese-endepunktene over er allerede åpne uten nøkkel, og dette er IKKE en pålogging eller et krav for å bruke tjenesten. - Hent en gratis nøkkel: `POST https://finn-tannlege.com/api/keys` med valgfri JSON-body `{ "label": "min-agent", "contact_email": "..." }` (begge felt valgfrie). Svaret inneholder `key` — vis den KUN denne ene gangen, den kan ikke hentes igjen. - Bruk den: send nøkkelen som `X-API-Key`-header på ethvert MCP-/A2A-/REST-kall. - Fordel: kallene dine telles i en aggregert forbrukslogg (kun endepunkt/verktøynavn og dato — aldri innhold eller argumenter). Merk: rate-grensen på finn-tannlege.com er i dag en flat IP-kvote (1000/15 min) som IKKE er høyere med nøkkel — den høyere rate-grensen som nøkkelen gir på enkelte andre vertikaler på plattformen er ikke koblet på her ennå. - Tilbakekall/slett: `POST https://finn-tannlege.com/api/keys/revoke` (stanser nøkkelen, historikk beholdes) eller `POST https://finn-tannlege.com/api/keys/erase` (GDPR-sletting av label/e-post). Begge tar `{ "key": "..." }` i body, eller nøkkelen som `X-API-Key`-header. Eksempel (cURL): curl -X POST https://finn-tannlege.com/api/keys \ -H "Content-Type: application/json" \ -d '{"label":"my-agent"}' Voluntary — every search/read endpoint above already works with no key, and this is NOT a login or a requirement to use the service. Get a free key via `POST /api/keys` (optional `label`/`contact_email`), send it back as the `X-API-Key` header on any call, and revoke/erase it any time via `POST /api/keys/revoke` or `POST /api/keys/erase`. Note: unlike some other verticals on this platform, finn-tannlege.com's rate limit is currently a flat per-IP quota not yet raised by a key — the key still gets your calls counted in the usage ledger. ## Datakvalitet og verifisering https://finn-tannlege.com/proveniens Hvert felt i en klinikkprofil (adresse, organisasjonsnummer, spesialisttitler, m.m.) lagres med hvilken kilde som ga oss verdien og når den sist ble bekreftet. En klinikk får «Verifisert»- merket når en administrator har gått gjennom profilen og vurdert at navn, organisasjonsnummer og eventuelle spesialisttitler stemmer med tilgjengelig offentlig informasjon, blant annet fra Brønnøysundregistrene — det er en redaksjonelt satt status, ikke en fullautomatisk registersjekk. Klinikker der denne gjennomgangen ennå ikke er gjort forblir synlige i katalogen — de skjules ikke — men uten merket. Se https://finn-tannlege.com/proveniens for hele forklaringen. Every field in a clinic profile (address, organisation number, specialist titles, etc.) is stored with which source supplied that value and when it was last confirmed. A clinic earns the "Verified" badge once an administrator has reviewed the profile and judged that its name, organisation number and any specialist titles match publicly available information, including from Brønnøysundregistrene — this is an editorially-set status, not a fully automated registry check. Clinics for which this review hasn't happened yet remain fully listed — they are not hidden — just without the badge. See https://finn-tannlege.com/proveniens for the full explanation.