Atlas / MCP servers / pipeworx-io / mcp-knmi

mcp-knmiSAFE

mcp/pipeworx-io/mcp-knmi

KNMI Data Platform (Open Data API) MCP.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
1 1r · 0w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
0
01

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
Read from source at commit 4176e48392f2OBSERVED · 2026-10-11
02

Connect

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-code
claude mcp add mcp-knmi -- npx -y @pipeworx/[email protected]
claude-desktop
{
  "mcpServers": {
    "mcp-knmi": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/[email protected]"
      ]
    }
  }
}
03

Exposed tools (1)

1 read · 0 write · 0 destructive.

ToolRiskDescription
knmi_file_urlreadMint 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
04

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.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (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)

LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, tsx, typescript, @cloudflare/workers-types
Why it matters. 4 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 4176e48392f2full audit observations/trust-audit/mcp-server/pipeworx-io__mcp-knmi.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-114176e48392f2SAFEB89first audit
06

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.

Advertisement