Skip to main content
Glama

Server Details

Norwegian dental clinic directory (A2A marketplace). Search ~6,900 clinics by county, specialty, Helfo agreement and emergency availability. 5 tools: tannlege_search, tannlege_info, tannlege_stats, tannlege_akutt, tannlege_kjeder.

Ownership verified
Status
Healthy
Uptime
98.3% over 83 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
Finn-tannlege

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

Most tools target clearly distinct facets: detail lookup, chain listing, statistics, broad search, and emergency search. The main overlap is between tannlege_search and tannlege_akutt, since search also supports emergency care, but akutt's narrower focus and extra out-of-hours advice help distinguish it.

Naming Consistency4/5

All tools use lowercase snake_case with a consistent tannlege_ prefix, making the set predictable to scan. The suffixes mix Norwegian and English terms (akutt, kjeder, info vs. search, stats) and are not a strict verb_noun pattern, but the naming is still readable and stable.

Tool Count5/5

Five tools is well scoped for a read-only dental directory: search, detail, emergency, chains, and stats each cover a meaningful facet. There is no obvious bloat, and each tool earns its place.

Completeness4/5

The surface covers the core read operations: broad search, full clinic detail, emergency lookup, chain listing, and aggregate statistics. Minor gaps remain, such as listing all clinics for a given chain or explicit pagination, but agents can largely work around them.

Available Tools

5 tools
tannlege_akuttFind dental clinics for emergency care in NorwayA
Read-onlyIdempotent
Inspect

Find an emergency dentist (akutt tannlege) in Norway: dental clinics that say they take emergency patients, optionally in one county (fylke). Each clinic's akutt is "vakt" only when its emergency duty has a stored quote from the source (badge «Akuttvakt»), and "accepts" when the clinic says it takes emergency patients («Tar imot akuttpasienter»). count is the number of matching clinics. Each clinic has its address, phone and profile URL, and when known its opening hours and online booking link. The response also has advice on the municipal out-of-hours dental service (kommunal tannlegevakt).

NameRequiredDescriptionDefault
fylkeNoLimit to clinics in this county. Examples: 'Oslo', 'Vestland'

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/idempotentHint annotations, the description explains the meaning of each returned value: `akutt` is "vakt" only when a stored source quote supports the badge, and "accepts" when the clinic self-declares. It also lists per-clinic fields and the presence of out-of-hours (kommunal tannlegevakt) advice, so an agent knows exactly what evidence backs each record.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded in the first sentence, and the remaining sentences are dense with substantive detail about value semantics. It is somewhat long and mixes output-contract information into the summary, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the full burden of explaining returns, and it does: `count`, per-clinic address/phone/profile URL, known opening hours and booking link, plus the advice field. An agent can anticipate the response shape without extra documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already provides examples for `fylke`. The description adds that the filter is optional and limited to a single county, which is a small increment over the structured field. This is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a concrete verb and a tightly scoped resource: find dental clinics that accept emergency patients in Norway, with an optional county filter. It is specific enough to be distinguishable from a general clinic search. It does not name any sibling tool (tannlege_search, tannlege_kjeder, etc.) to make that differentiation explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The emergency-care framing implies when the tool applies, but there is no explicit statement about when to use a sibling instead, for example, general searches use tannlege_search or chain lookups use tannlege_kjeder. When-not conditions and prerequisites are left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tannlege_infoGet full details for a dental clinicA
Read-onlyIdempotent
Inspect

Get the full record of one dental clinic in Norway, a dentist (tannlege) or specialist practice, by organisation number (org_nr) or id. Returns name, address, phone, mobile, e-mail, website, online booking link, Helfo status, the emergency claim («Akuttvakt» only when an emergency duty has a stored quote from the source; «Tar imot akuttpasienter» when the clinic says it takes emergency patients), specialties, chain, specialists, treatments, opening hours, payment options, the clinic's own description and profile URL.

NameRequiredDescriptionDefault
idNoClinic UUID (alternative to org_nr)
org_nrNo9-digit Norwegian organisation number. Example: '912345678'

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive behavior, so the safety profile is clear. The description adds useful behavioral context by detailing the returned fields and clarifying conditional emergency-claim semantics such as «Akuttvakt» versus «Tar imot akuttpasienter».

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then lists return fields in a dense but useful single sentence. There is little waste, though the long field list makes it less scannable than shorter definitions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because there is no output schema, the description carries the burden of explaining what is returned, and it does so thoroughly. It is only slightly incomplete in not stating what happens if neither id nor org_nr is supplied, or which identifier wins if both are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both id and org_nr are already fully documented in the schema. The description restates that lookup can be done by organisation number or id but adds no format, precedence, or conflict-handling details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: get the full record of one dental clinic by org_nr or id. It implicitly distinguishes itself from sibling tools like tannlege_search by emphasizing a single full record, but it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the need to supply an org_nr or id and by the phrase 'one dental clinic,' which suggests this is a detail lookup rather than a search. However, there is no explicit guidance on when to use this instead of tannlege_search, tannlege_akutt, or other siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tannlege_kjederList Norwegian dental chainsA
Read-onlyIdempotent
Inspect

List dentist chains (tannlegekjeder) in Norway that are registered in the directory, each with its number of clinic locations.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful content context (directory-registered chains, each with clinic location counts), but says nothing about result size, ordering, or whether the list is exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. The verb, scope, and return content are all packed into one readable clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-param, read-only list tool with annotations covering safety and no output schema, the description is nearly sufficient, summarizing that results are chains with location counts. It could note whether the full set is always returned, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there are no parameter semantics to convey; the baseline for a parameterless tool is 4. The description correctly avoids implying any inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (dentist chains / tannlegekjeder) plus scope (Norway, registered in the directory). The resource name itself separates it from siblings like tannlege_search and tannlege_stats, but no sibling is named explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: an agent can infer this is the catalog-listing tool for browsing chains, as opposed to tannlege_search or tannlege_info. However, there is no explicit when-to-use statement and no exclusions or alternatives named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tannlege_statsNorwegian dental market statisticsA
Read-onlyIdempotent
Inspect

Counts of dentist practices (tannlegeklinikker) in Norway: the total, per county (fylke), and how many have Helfo direct billing, belong to a chain, show an emergency claim (akutt) or list a specialist. An emergency claim is «Akuttvakt», an emergency duty backed by a stored quote from the source, or «Tar imot akuttpasienter», that the clinic says it takes emergency patients.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and a closed world, so the safety profile is covered. The description adds real domain context beyond that: it defines what an 'emergency claim' actually means (an «Akuttvakt» duty backed by a stored source quote, or a clinic self-declaring «Tar imot akuttpasienter»), which an agent cannot get from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and the count dimensions in the first sentence, with the definitional nuance relegated to a second sentence. Both sentences earn their place and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description carries the burden of telling the agent what comes back, and it does so at the level of content (total, per county, and category counts). It does not specify the response shape or field names, which is a minor remaining gap for a no-schema tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero input parameters, so the baseline is 4; there is nothing for the description to disambiguate. It correctly makes no attempt to describe parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Counts of dentist practices (tannlegeklinikker) in Norway') and enumerates the exact breakdowns it returns: total, per county, Helfo direct billing, chain membership, emergency claim, specialist. That is far more specific than the title. It does not explicitly name how it differs from siblings like tannlege_search, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the aggregate/statistics view versus the search or listing siblings, but the description never says when to pick it over tannlege_search or tannlege_akutt. No prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedtannlege_search1 field changed
      • changedInput schema / properties / akutt / description
        Previous value: -"If true, only return clinics with emergency-duty (akuttvakt)"New value: +"If true, only return clinics with an emergency claim: «Akuttvakt» backed by a stored source quote, or «Tar imot akuttpasienter»."
  2. 12 tool updates
    • Removedlokal_discover
    • Removedlokal_get_producer_affiliations
    • Removedlokal_get_umbrella_members
    • Removedlokal_info
    • Removedlokal_list_umbrellas
    • Removedlokal_search
    • Removedlokal_stats
    • Addedtannlege_akutt
    • Addedtannlege_info
    • Addedtannlege_kjeder
    • Addedtannlege_search
    • Addedtannlege_stats
  3. 12 tool updates
    • Addedlokal_discover
    • Addedlokal_get_producer_affiliations
    • Addedlokal_get_umbrella_members
    • Addedlokal_info
    • Addedlokal_list_umbrellas
    • Addedlokal_search
    • Addedlokal_stats
    • Removedtannlege_akutt
    • Removedtannlege_info
    • Removedtannlege_kjeder
    • Removedtannlege_search
    • Removedtannlege_stats
  4. 5 tool updates
    • First observedtannlege_akutt
    • First observedtannlege_info
    • First observedtannlege_kjeder
    • First observedtannlege_search
    • First observedtannlege_stats

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources