Skip to main content
Glama

finn-tannlege-mcp

Server Details

Norwegian dental clinic directory MCP: ~6,900 clinics with Helfo-agreement, specialty, duty, chain.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
slookisen/lokal
GitHub Stars
1
Server Listing
lokal

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a unique aspect of the dental directory: emergency clinics, single clinic profile, chains, search, and statistics. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow the consistent pattern 'tannlege_' followed by a clear descriptor (akutt, info, kjeder, search, stats). The naming is uniform and predictable.

Tool Count5/5

With 5 tools, the server is well-scoped for a read-only dental directory. Each tool serves a distinct and essential query type without redundancy or unnecessary proliferation.

Completeness5/5

The tool set covers all major query types for the domain: searching, getting details, listing chains, finding emergency clinics, and viewing statistics. No obvious gaps given the server's read-only purpose.

Available Tools

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

Find Norwegian dental clinics that offer emergency-duty (akuttvakt) — i.e. treatment outside normal working hours. Optionally filter by county (fylke). Also returns advice about the municipal dental emergency service (kommunal tannlegevakt). Example: 'finn akutt tannlege i Oslo'.

ParametersJSON Schema
NameRequiredDescriptionDefault
fylkeNoLimit to clinics in this county. Examples: 'Oslo', 'Vestland'
Behavior4/5

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

Annotations already indicate readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds context about returning advice on municipal dental emergency service, complementing the annotations without contradiction.

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 three sentences, front-loaded with the main purpose. It is concise and includes an example, though the second sentence about advice is slightly less impact.

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 one optional parameter and no output schema, the description adequately explains the tool's function and additional output (advice). It could benefit from mentioning the return format (e.g., list of clinics), but is sufficiently complete for the tool's simplicity.

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?

The input schema has 100% description coverage for the single optional parameter 'fylke', with examples. The description only repeats the filtering option, adding no new semantic information beyond the schema.

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

Purpose5/5

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

The description clearly states the tool finds emergency-duty dental clinics in Norway, with optional county filtering. It uses a specific verb ('find') and resource ('emergency-duty dental clinics'), and distinguishes from sibling tools that focus on info, chains, search, or stats.

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 description explains when to use the tool (for emergency-duty clinics outside normal hours) and gives an example query. However, it does not explicitly state when not to use it or mention alternative sibling tools, leaving the agent to infer usage context.

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

Fetch complete profile for a single Norwegian dental clinic by organisation number (org_nr) or internal UUID. Returns name, address, phone, website, Helfo status, emergency duty, specialities, chain affiliation, specialists list, treatments, opening hours, payment options, and profile URL. Example: org_nr '912345678' or id 'uuid-here'.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoClinic UUID (alternative to org_nr)
org_nrNo9-digit Norwegian organisation number. Example: '912345678'
Behavior4/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds value by listing the returned fields (name, address, phone, etc.), providing transparency beyond 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?

The description is concise (3 sentences), front-loaded with purpose, and includes a list of key return fields and examples. No unnecessary words.

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?

Given no output schema, the description enumerates the key fields returned (name, address, Helfo status, etc.), covering all essential aspects for a single clinic fetch. It is complete for the tool's purpose.

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?

Schema coverage is 100% with good descriptions for both parameters. The description adds examples (org_nr '912345678' or id 'uuid-here'), which aids understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'Fetch', the resource 'complete profile for a single Norwegian dental clinic', and the identifier options (org_nr or UUID). It is distinct from sibling tools like tannlege_search (search) and tannlege_stats (statistics).

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

Usage Guidelines4/5

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

The description specifies the input parameters (org_nr or UUID) and gives examples, making it clear when to use the tool. However, it does not explicitly state when not to use or contrast with sibling tools.

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 all Norwegian dental chains (kjeder) registered on finn-tannlege.com, including the number of clinic locations per chain. Examples of chains: 'Tannhelse Øst', 'Colosseum Tannlege', 'Nordic Dental'. Example question: 'hvilke tannlegekjeder finnes i Norge?'.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations indicate read-only and idempotent behavior. The description adds that it returns a list with clinic location counts, fully disclosing the output. No mention of limitations, but sufficient for this tool.

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?

Two sentences: first states purpose and output, second provides examples. No filler, front-loaded with key information.

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?

Given no parameters or output schema, the description provides sufficient context: what the tool returns, examples, and the domain. Lacks potential details like pagination or sorting, but not necessary for this simple list.

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?

No parameters exist; schema coverage is 100%. Description adds value by explaining what the output includes (chains and clinic counts), though baseline for no params is 4.

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

Purpose5/5

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

The description clearly states it lists Norwegian dental chains with clinic locations, gives examples and an example question, and is distinct from sibling tools like tannlege_akutt or tannlege_search.

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 description implies usage for listing chains but does not explicitly state when to use this tool vs siblings. However, sibling names suggest different purposes, providing implicit guidance.

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

Fetch aggregated statistics for the Norwegian dental market from finn-tannlege.com. Returns total clinic count, per-county breakdown (per fylke), Helfo count, chain-member count, emergency-duty (akuttvakt) count, and specialist-clinic count. Example question: 'how many dental clinics are there in Norway?'.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral details beyond annotations, such as the source website (finn-tannlege.com) and the specific statistics returned (total clinics, per-county breakdown, etc.), which is useful context.

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?

The description is two sentences: the first states the purpose and source, the second lists the returned statistics. Every sentence adds value, no wasted words.

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?

Given no output schema, the description enumerates all return fields (total clinic count, per-county breakdown, Helfo count, chain-member count, emergency-duty count, specialist-clinic count). This is complete for a simple statistics 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?

The tool has zero parameters, so baseline is 4. The description does not need to explain parameters, and it correctly implies no input is needed.

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

Purpose5/5

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

The description clearly states it fetches aggregated statistics for the Norwegian dental market, listing specific counts (total clinics, per-county breakdown, Helfo count, etc.). It differentiates from siblings like tannlege_search (search) and tannlege_akutt (emergency) by being a stats aggregator.

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

Usage Guidelines4/5

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

The description provides an example question ('how many dental clinics are there in Norway?') implying when to use the tool. While it does not explicitly state when not to use or name alternatives, the sibling tools list provides context, and the purpose is clear enough for an AI agent.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP server that wraps UDIR's open registries for Norwegian schools (NSR) and kindergartens (NBR), enabling search by municipality and retrieval of full details including coordinates and enrollment.
    Last updated
    4
    102
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    MCP server for querying the Norwegian Brønnøysundregistrene business register, including companies, roles, subunits, and annual accounts, with built-in guards against common data traps like retired NACE codes and withheld employee counts.
    Last updated
    370
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    MCP server for Nordic company registries. Verify companies, check board members, signing authority, and financial data across Norway, Denmark, Finland, and Sweden using official public APIs. 23 tools covering search, details, roles, and batch lookups.
    Last updated
    19
    8
    Apache 2.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.