Files
doc-forge/docs/wiki/05_development/04_mcp_guide.md
Vishesh 'ironeagle' Bangotra 582b6809a0 docs: bring docforge docstrings and wiki to GSDFC standard
- 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
2026-09-12 13:12:51 +05:30

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 count
  • nav.json — module list with docs://modules/{module} resource URIs
  • modules/{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 path
  • docstring — the raw GSDFC module docstring
  • objects — a recursive mapping of public symbols with name, kind, path, signature, and docstring, plus nested members

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.