trafikkmeldinger-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a clear, distinct purpose: doctor checks API health, trafikkmeldinger performs general queries, and langs_ruta provides route-specific, time-aware queries. The descriptions explicitly cross-reference when to use langs_ruta, eliminating ambiguity.
Naming Consistency2/5Tool names mix languages (English 'doctor' vs Norwegian 'trafikkmeldinger' and 'langs_ruta') and conventions (underscore in 'langs_ruta' vs no underscore elsewhere). No consistent verb_noun pattern is present.
Tool Count4/5Three tools is a reasonable, focused set for a traffic information server, covering general search, route planning, and health monitoring. It is slightly minimal but each tool earns its place.
Completeness4/5The domain is read-only traffic messages, and the two query tools cover both general filtering and route-specific timing. No major gaps are apparent, though a tool for fetching a single message by ID could be a minor addition.
Average 4.6/5 across 3 of 3 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 6 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses important behavioral traits: a forgotten municipality silently removes messages ('en glemt kommune fjerner meldingene der uten å si fra'), time-based evaluation against travel time rather than 'right now', and sorting with the most disruptive first. These go beyond the schema and help set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a clear purpose sentence, followed by practical instructions and caveats. Every sentence earns its place, and bold text highlights the most critical advice. Despite being a bit long, it is dense with useful information and not redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core functionality, key parameter choices, and behavioral caveats. The absence of an output schema is partially mitigated by mentioning sorting, but it does not describe the return format or error handling. Given the tool's complexity (7 params), it is reasonably complete, though a bit more detail on output would elevate it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds significant meaning beyond the field descriptions. It explains the trade-off between 'fylker' and 'kommuner', recommends including 'vei', and clarifies how 'avreise'/'ankomst' affect filtering. This helps the agent choose appropriate values, which is more than the schema alone provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Trafikkmeldinger for en konkret biltur' (traffic messages for a specific car trip). It specifies filtering by route and time, and distinguishes itself from the sibling 'trafikkmeldinger' by being route- and time-specific. The sorting behavior is also mentioned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context: define route with counties or municipalities, prefer roads, specify departure/arrival for time-filtering. Gives practical guidance like 'Er du usikker på hvilke kommuner ruta går gjennom, bruk fylker'. However, it does not explicitly name alternatives or state when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well by disclosing the key behavioral nuance around 'tidspunkt' – that without it you get all registered messages, not just currently active ones. It also explains flexible road number formatting ('E6', 'fv27', 'riksveg 3', '27'). It doesn't mention return format or pagination, but the described behavior is sufficient for safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding critical information: main purpose, parameter tips, and an explicit alternative. No fluff or repetition; every sentence earns its place. It is front-loaded with the core function and structured for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a query tool with 6 optional parameters and no output schema, the description covers the main use case, filter dimensions, a key behavioral nuance, and an alternative tool. It doesn't describe return fields or sorting, but the provided information is enough for correct invocation in most scenarios. Slightly incomplete regarding expected output, but strong overall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds value by explaining road number syntax in plain language ('Veinummer kan skrives slik folk snakker') and clarifying the meaning of the 'tidspunkt' parameter (active vs. all registered). This goes beyond the schema's terse descriptions, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb 'Henter' and the resource 'vegarbeid, stengte veier, ulykker og andre trafikkmeldinger fra Statens vegvesen', making the tool's function unmistakable. It also distinguishes itself from the sibling 'langs_ruta' by explicitly directing trip planners to that alternative, ensuring clear differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: when to use the tool (querying traffic messages for an area/road), and when not to (use 'langs_ruta' for trip planning). It also gives parameter-level advice, such as the effect of omitting 'tidspunkt' (all registered messages including inactive night work) versus providing it (only relevant messages). This is clear, actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that it makes a real endpoint call, reports whether it responds, latency, and message count. It does not mention side effects or permissions, but for a health-check tool this is largely sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the core function and then provide usage guidance. Every word adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter diagnostic tool, the description covers what it does, why to use it, and what it returns (response status, time, message count). No output schema is needed because the description already summarizes the output. It is complete for its low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameters, and the schema is empty, so there is nothing missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (calls the real endpoint) and resource (the actual API), and reports response time and message count. It distinguishes itself from siblings by framing itself as a diagnostic tool for when other tools misbehave.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool: when other tools behave strangely or to check for API contract changes. This gives clear usage context and references the sibling tools as the reason for using the doctor tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/smlhus1/trafikkmeldinger-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server