wg21-wiki-mcp
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 exact wiki text with a clickable URL and revision id. 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
Install from PyPI (recommended):
pipx install wg21-wiki-mcp
# or: pip install wg21-wiki-mcp==0.3.1
Or run without a manual install via uv:
uvx --from wg21-wiki-mcp==0.3.1 wg21-wiki-mcp
Install 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-mcp
Or 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.
Configure
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).
Tools
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.
Quickstart (programmatic)
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) # exact wikitext
Error contract
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.
Versioning and stability
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.
Documentation
- 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
License
Boost Software License 1.0 — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wg21_wiki_mcp-0.3.1.tar.gz.
File metadata
- Download URL: wg21_wiki_mcp-0.3.1.tar.gz
- Upload date:
- Size: 328.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10251f625f74a7dfa3a8b92c2b07cd5aed146735de987e855c242e7feaa254e9
|
|
| MD5 |
c7715767c6cb0e98010d4bf27378b09e
|
|
| BLAKE2b-256 |
857caf55b12c42df29af490f9d928c747ab395431da50d24007f04b2dc4df998
|
Provenance
The following attestation bundles were made for wg21_wiki_mcp-0.3.1.tar.gz:
Publisher:
publish.yml on cppalliance/wg21-wiki-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wg21_wiki_mcp-0.3.1.tar.gz -
Subject digest:
10251f625f74a7dfa3a8b92c2b07cd5aed146735de987e855c242e7feaa254e9 - Sigstore transparency entry: 2304859230
- Sigstore integration time:
-
Permalink:
cppalliance/wg21-wiki-mcp@ebd4737515a177d978fc0675d940997b5198babe -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/cppalliance
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ebd4737515a177d978fc0675d940997b5198babe -
Trigger Event:
release
-
Statement type:
File details
Details for the file wg21_wiki_mcp-0.3.1-py3-none-any.whl.
File metadata
- Download URL: wg21_wiki_mcp-0.3.1-py3-none-any.whl
- Upload date:
- Size: 50.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
838d46c58efdc510f34c79f9d740d7035f9405eb462f3b90eac11d32400f8c14
|
|
| MD5 |
673a3115390e5335731b6116cf1ef1dd
|
|
| BLAKE2b-256 |
387a8c222886e9eea53160dbce598616780e80f4b23daa9984bb0aced4054138
|
Provenance
The following attestation bundles were made for wg21_wiki_mcp-0.3.1-py3-none-any.whl:
Publisher:
publish.yml on cppalliance/wg21-wiki-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wg21_wiki_mcp-0.3.1-py3-none-any.whl -
Subject digest:
838d46c58efdc510f34c79f9d740d7035f9405eb462f3b90eac11d32400f8c14 - Sigstore transparency entry: 2304859307
- Sigstore integration time:
-
Permalink:
cppalliance/wg21-wiki-mcp@ebd4737515a177d978fc0675d940997b5198babe -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/cppalliance
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ebd4737515a177d978fc0675d940997b5198babe -
Trigger Event:
release
-
Statement type: