A local Model Context Protocol (stdio) server
that gives an LLM agent read access to the WG21 (ISO C++) committee wiki at
wiki.isocpp.org as a verifiable source of truth.
The server authenticates with your credentials, fetches pages over the
MediaWiki API, and returns wiki text with a clickable URL and revision id. Text
is exact apart from one documented exception: links to the discontinued
wiki.edg.com host are rewritten or annotated at the tool boundary (see
URL hygiene). See ARCHITECTURE.md for design detail and
SECURITY.md for credential handling.
Access requires WG21 membership. This tool stores nothing confidential in its source and never logs page content.
Install from PyPI (recommended):
pipx install wg21-wiki-mcp
# or: pip install wg21-wiki-mcp==0.3.1Or run without a manual install via uv:
uvx --from wg21-wiki-mcp==0.3.1 wg21-wiki-mcpInstall from GitHub when you need a specific commit or branch:
pipx install "git+https://github.com/cppalliance/wg21-wiki-mcp.git@v0.3.1"
# development branch:
uvx --refresh --from git+https://github.com/cppalliance/wg21-wiki-mcp.git@develop wg21-wiki-mcpOr from a local clone (for development):
git clone https://github.com/cppalliance/wg21-wiki-mcp
cd wg21-wiki-mcp
pip install -e ".[dev]"Requires Python 3.10+. Works on Windows, macOS, and Linux.
The wiki base URL is fixed (https://wiki.isocpp.org); only credentials are
needed. Pass them in the MCP host's launch env block. Full host setup,
troubleshooting, and env-var reference: docs/RUNBOOK.md.
Minimal Cursor / uvx example:
{
"mcpServers": {
"wg21-wiki": {
"command": "uvx",
"args": ["--from", "wg21-wiki-mcp==0.3.1", "wg21-wiki-mcp"],
"env": {
"WIKI_BOT_USERNAME": "YourAccount@yourbot",
"WIKI_BOT_PASSWORD": "the-bot-password"
}
}
}
}See .env.example for optional tuning (cache directory, TTLs, meeting overrides, legacy URL rewrite timeouts).
Returned page text is verbatim wiki content except that discontinued
wiki.edg.com links are rewritten to wiki.isocpp.org in page bodies, bundled
meeting-session wikitext (when a body is included), optional search snippets,
and recent-change comments. A link with no known successor keeps its original
URL followed by the literal marker (stale URL). Fetch and cache stay
byte-for-byte; the rewrite happens only at the tool boundary. Resolution is
best-effort and network-dependent: it is bounded by the per-response probe budget
and ISOCPP_WIKI_URL_HYGIENE_TIMEOUT_S (default 12 seconds). A (stale URL)
marker can also mean the probe budget was exhausted or a probe failed, not only
that no successor exists; if hygiene hits an internal error it is skipped
entirely and legacy links are returned unrewritten and unmarked. Tune remap
freshness with ISOCPP_WIKI_URL_REMAP_TTL (default 604800 seconds / one
week).
Nine MCP tools expose search, page read, namespace browse, meeting discovery, session bundles, recent changes, and operational status. Signatures and return models: docs/API.md. Agent tool-selection guide: docs/RUNBOOK.md.
from wg21_wiki_mcp.config import Config
from wg21_wiki_mcp.context import ServerContext
from wg21_wiki_mcp import tools
ctx = ServerContext.create(Config.from_env())
hits = tools.search_wiki(ctx, "some topic", limit=5)
page = tools.get_page(ctx, hits.hits[0].title)
print(page.provenance.url, page.provenance.revid)
print(page.content) # sanitized wikitext (legacy EDG links rewritten)Every tool error surfaces as a structured MCPError with a distinct code.
Messages contain no credentials or wiki page content. Full code table and
invariants: ARCHITECTURE.md#error-contract.
The package is 0.x Alpha. Pin a version in your MCP config for reproducible behavior. Stable tool names, parameter shapes, error codes, and provenance fields are documented in STABILITY.md. Release notes: CHANGELOG.md.
- docs/API.md — MCP tool reference (generated from source)
- docs/RUNBOOK.md — host setup, troubleshooting, agent guide
- ARCHITECTURE.md — design, data flow, error contract
- STABILITY.md — API stability tiers and deprecation policy
- SECURITY.md — credential handling and confidentiality
- CONTRIBUTING.md — dev setup, tests, governance
Boost Software License 1.0 — see LICENSE.