mcp-knmiSAFE
KNMI Data Platform (Open Data API) MCP.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Dutch national weather service open data — station observations, national radar precipitation, HARMONIE-AROME forecast runs and the gridded daily climate series — from the KNMI Data Platform Open Data API.
Part of Pipeworx — an MCP gateway connecting AI agents to 1683+ live data sources.
Tools
knmi_datasets(search?, verify?, limit?)— the datasets worth calling, what
each contains, how often it updates, and (checked live) its newest file.
knmi_dataset_files(dataset, version, max_keys?, order_by?, sorting?, begin?, page_token?)—
files in a dataset, newest first by default.
knmi_file_url(dataset, version, filename)— a temporary signed download URL
for one file.
Auth
Keyless in practice, keyed by design. Every endpoint needs an Authorization header, but KNMI publishes a shared anonymous key on its docs page and this pack ships it as the default, so callers need nothing. BYO override via _apiKey for a registered key.
The anonymous key is shared worldwide (50 requests/minute, 3000/hour) and KNMI rotates it on an expiry date printed on the docs page:
- A 429 is that shared bucket, not an outage. A registered key gets a
dedicated 200 req/s.
- A 401/403 means the published key has rotated — read the "Anonymous key"
section of and update ANON_KEY. The tools refuse with wording that says so.
Register free at . A Pipeworx-held key would be PLATFORM_KNMI_KEY; declare platformKeyEnv in the pack manifest in the same change that lands the value, never before.
Whole-dataset downloads need a separate bulk key by email to [email protected]. KNMI's fair-use policy treats aggressive polling as abuse; use their Notification Service for new-file push instead of tight loops.
Data sources
GET /open-data/v1/datasets/{dataset}/versions/{version}/files— file listing.- `GET /open-data/v1
4176e48392f2OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add mcp-knmi -- npx -y @pipeworx/[email protected]
{
"mcpServers": {
"mcp-knmi": {
"command": "npx",
"args": [
"-y",
"@pipeworx/[email protected]"
]
}
}
}Exposed tools (1)
1 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
knmi_file_url | read | Mint a temporary download URL for one file in a KNMI Data Platform dataset. Returns the signed URL, the content type, the byte size and when the file was last modified. The URL is short-lived and must be used promptly. Pass a filename from knmi_dataset_files, e.g. dataset |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (1 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (1)
@modelcontextprotocol/sdk, tsx, typescript, @cloudflare/workers-types
Gates applied: no_behavioural_pass.
4176e48392f2full audit observations/trust-audit/mcp-server/pipeworx-io__mcp-knmi.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 4176e48392f2 | SAFE | B | 89 | first audit |
Questions
What is the mcp-knmi MCP server?
KNMI Data Platform (Open Data API) MCP.
What tools does mcp-knmi expose?
1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is mcp-knmi safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does mcp-knmi need?
No credential environment variables were found in its source, so it appears to need none.
How does mcp-knmi run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @pipeworx/mcp-knmi at 0.1.1.
How current is this page?
The grade is for one exact copy of the source (4176e48392f2), read on 2026-10-11. The repository is watched and re-audited when it changes.