updated docs strings and added README.md
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
"""
|
||||
# Summary
|
||||
|
||||
Server layer for doc-forge.
|
||||
|
||||
This module exposes server implementations used to provide live access
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
"""
|
||||
# Summary
|
||||
|
||||
MCP server implementation.
|
||||
|
||||
This module defines the `MCPServer` class, which serves pre-generated
|
||||
documentation bundles through the Model Context Protocol (MCP).
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
@@ -20,10 +29,12 @@ class MCPServer:
|
||||
Initialize the MCP server.
|
||||
|
||||
Args:
|
||||
mcp_root: Directory containing the generated MCP documentation
|
||||
bundle (for example ``index.json``, ``nav.json``, and
|
||||
``modules/``).
|
||||
name: Identifier used for the MCP server instance.
|
||||
mcp_root (Path):
|
||||
Directory containing the generated MCP documentation bundle
|
||||
(for example `index.json`, `nav.json`, and `modules/`).
|
||||
|
||||
name (str):
|
||||
Identifier used for the MCP server instance.
|
||||
"""
|
||||
self.mcp_root = mcp_root
|
||||
self.app = FastMCP(name)
|
||||
@@ -43,11 +54,13 @@ class MCPServer:
|
||||
instead of raising an exception.
|
||||
|
||||
Args:
|
||||
path: Path to the JSON file to read.
|
||||
path (Path):
|
||||
Path to the JSON file to read.
|
||||
|
||||
Returns:
|
||||
Parsed JSON data if the file exists, otherwise an error dictionary
|
||||
describing the missing resource.
|
||||
Any:
|
||||
Parsed JSON data if the file exists, otherwise an error dictionary
|
||||
describing the missing resource.
|
||||
"""
|
||||
if not path.exists():
|
||||
return {
|
||||
@@ -68,9 +81,9 @@ class MCPServer:
|
||||
The server exposes documentation resources through the following
|
||||
endpoints:
|
||||
|
||||
- ``docs://index`` – Project metadata
|
||||
- ``docs://nav`` – Navigation structure
|
||||
- ``docs://modules/{module}`` – Individual module documentation
|
||||
- `docs://index` – Project metadata
|
||||
- `docs://nav` – Navigation structure
|
||||
- `docs://modules/{module}` – Individual module documentation
|
||||
"""
|
||||
|
||||
@self.app.resource("docs://index")
|
||||
@@ -116,7 +129,8 @@ class MCPServer:
|
||||
Start the MCP server.
|
||||
|
||||
Args:
|
||||
transport: Transport mechanism used by the MCP server. Supported
|
||||
options include ``stdio``, ``sse``, and ``streamable-http``.
|
||||
transport (Literal["stdio", "sse", "streamable-http"]):
|
||||
Transport mechanism used by the MCP server. Supported options
|
||||
include `stdio`, `sse`, and `streamable-http`.
|
||||
"""
|
||||
self.app.run(transport=transport)
|
||||
|
||||
Reference in New Issue
Block a user