- fix GSDFC spec contradictions in __init__ docstring (parenthesized types, fenced-block rule) and sync generated README - rewrite docstrings across loaders, models, nav, servers, renderers, cli; sync .pyi stubs - add pydoclint (google style) gate to dev extras and pyproject config - fix mcp nav resources doc:// -> docs:// - refresh docs/lib and docs/mcp, drop stale docforge/ duplicate group - update wiki pages and add GSDFC + MCP guides under 05_development
1.9 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.