Squash-merge lib-standardisation: adopt repo standards across packaging, tooling, docs, and CI. - standardize pyproject.toml (canonical packaging, lint config, extras, GSDFC pydoclint) - add py.typed marker, modernize type hints and Google-style docstrings - nest generated docs under docs/lib and docs/mcp; add hand-written wiki - adopt standard Type A PyPI CI pipeline (tag==version guard + quality gate) - promote generated CHANGELOG.md; bump version to 0.0.7
2.0 KiB
MCP Guide
Doc-forge can export a machine-readable MCP bundle from a project's GSDFC docstrings and serve that bundle over the Model Context Protocol (MCP). The bundle is self-contained: readers can derive the full API reference — signatures, docstrings, and structure — for the documented project.
🚀 Building the bundle
doc-forge build --mcp --module docforge
This writes structured JSON into docs/mcp/:
index.json— project metadata and module countnav.json— module list withdocs://modules/{module}resource URIsmodules/{dotted.path}.json— per-module serialized documentation
🚀 Serving the bundle
doc-forge serve --mcp --module docforge
The MCPServer (in docforge/servers/mcp_server.py) exposes:
| Resource | Description |
|---|---|
docs://index |
Project metadata |
docs://nav |
Navigation structure |
docs://modules/{module} |
Individual module documentation |
The server also registers a single diagnostic tool, ping, and is read-only.
Missing resources are returned as structured error dictionaries rather than
exceptions. The default transport is streamable-http; stdio and sse are
supported via MCPServer.run.
📦 Bundle contents
Each module resource contains:
path— dotted module pathdocstring— the raw GSDFC module docstringobjects— a recursive mapping of public symbols withname,kind,path,signature, anddocstring, plus nestedmembers
Because the bundle is generated from docstrings, the quality of the bundle
equals the quality of the project's GSDFC docstrings. For docforge itself,
the GSDFC specification is carried in modules/docforge.json via the
docforge/__init__.py package docstring, making the bundle self-documenting.