Single-tool MCP bridge that exposes the d2w CLI for small local models.
Listed on its own since 2026-09-24. Until then it was part of dhis2w-mcp, where its earlier checks remain.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"dhis2w-mcp-bridge","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# dhis2w-mcp-bridge A FastMCP server that exposes the entire `d2w` CLI as **one** MCP tool, `dhis2_cli`. Where `dhis2w-mcp` registers ~304 typed tools (≈50-65k tokens of schema loaded into the model's context up front), this server registers a single tool that shells out to the local `d2w` binary. A small, context-limited **local model** discovers the command surface progressively with `--help` and runs commands with `--json` — and nothing leaves the host. ## Why this exists For sensitive data that must stay on-box, you run a local model (LM Studio, Ollama, llama.cpp). Such models can't spare ~53k tokens for tool schemas, and many degrade when choosing among hundreds of tools. One tool + on-demand `--help` fits an 8k-context model and keeps the full DHIS2 surface reachable. Same code as the CLI — the bridge just runs it. Use `dhis2w-mcp` (the full typed server) for hosts that do progressive tool disclosure themselves (e.g. Claude Code handles all 304 tools fine). Use this bridge for small local models. ## The tool ``` dhis2_cli(args: list[str], profile: str | None = None) -> CliResult CliResult = { exit_code: int, stdout: str, stderr: str } ``` The model is expected to discover, then act: ``` dhis2_cli(["--help"]) # list command groups dhis2_cli(["metadata", "--help"]) # drill into a group dhis2_cli(["metadata", "list", "dataElements", "--filter", "name:ilike:malaria"]) # run a command ``` Contract: `--json` is injected automatically, so on success (`exit_code == 0`) `stdout` is JSON. `--help`/`--version` exit 0 with human text. Any non-zero exit is a failure and the message is on `stderr` (never JSON). `profile` is injected as `-p <profile>`. ## Install & run The bridge depends on `dhis2w-cli`, so installing it provides the `d2w` binary. ```bash # From a workspace checkout (development) uv run dhis2w-mcp-bridge # From PyPI uv tool install dhis2w-mcp-bridge dhis2w-mcp-bridge ```…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.