MCP server with typed tools for Norwegian public data sources
33 tools with mixed quality. Strengths: all tools have descriptions (10-200 chars, mostly good); input schemas present for 31/33 tools with proper types and descriptions; Norwegian naming convention consistent (source_tool pattern). Critical weaknesses: 2 tools (ogc_wfs, ngu_berggrunn, smhi_stasjoner, skolverket_skoler) lack visible input schemas in source; descriptions are functional but terse (avg ~80 chars, below 194-char baseline); no output schemas documented; no error recovery guidance; no parameter constraints (enums, ranges); no idempotency or retry semantics declared. Tool composition is sound (each does one thing), but descriptions lack 'when to use' context and dependency hints that LLMs need for selection.
Search for species in Artsdatabanken
Get information about a company from Brønnøysund Register
Get accounting information from Brønnøysund Register
Search for companies in Brønnøysund Register
Kaller ett billig, ekte endepunkt per kilde og rapporterer hvilke som svarer, hvor raskt, og hva feilen er for dem som ikke gjør det. Bruk denne når et verktøy oppfører seg rart, eller for å se om en kilde har endret kontrakt. Tar noen sekunder — den går mot ekte API-er.
Get departures from a stop in Entur
Search for stops in Entur
4 tools (ogc_wfs, ngu_berggrunn, smhi_stasjoner, skolverket_skoler) have no visible input schema in source code.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure. Baseline: 100% of A+ tools document return types.
Descriptions lack 'when to use' context and dependency hints. E.g., 'Get values for a variable in an SSB table' does not explain when to call this vs ssb_tabell_info, or that ssb_tabell_info should be called first. Baseline: descriptions should state WHAT, WHEN, and prerequisites.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Get data from a Eurostat dataset
Get information about a Eurostat dataset
Search in the Norwegian data catalogue
Search for map layers in the national catalogue
Get layers from a WMS service
Get feature information from a WMS service at a coordinate
Search for addresses in Kartverket
Get elevation data from Kartverket
Search for places in Kartverket
Lister kildene denne serveren dekker, med lisens, hjemmeside og hvilke verktøy hver kilde tilbyr.
Get weather warnings from MET
Get weather forecast from MET
Get bedrock information from NGU
Get electricity grid tariffs from NVE
Query OGC WFS services
Search for tables in Statistics Sweden (SCB)
Search for schools in the Swedish education register
Get weather stations from SMHI
Get data from an SSB table with specified selections
Get information about an SSB table
Get values for a variable in an SSB table
Get contextual information about a location (municipality, elevation, weather, stops)
Get competence goals from the Norwegian curriculum
Search for schools in the Norwegian education register
Search for road object types in Vegvesen
Get road objects from Vegvesen
No parameter constraints (enums, ranges, patterns) declared. E.g., 'antall' (number of results) has no min/max; 'kundegruppe' (customer group) has no enum. LLMs will pass arbitrary values, causing API errors.
Error handling returns raw text responses with no recovery guidance. E.g., 'Uventet feil: <message>' gives LLM no actionable next step. Baseline: errors should categorize as retryable/user-fixable/fatal and suggest recovery.