list_documents
Retrieve available Spec3 racing reference documents including constructor guides, manuals, and rules for race preparation and compliance.
Instructions
List all available Spec3 racing reference documents.
Available documents include: Spec3 Constructor's Guide, Bentley E36 Manual, 2025 NASA CCR rules, and 2025 Spec3 class rules.
Returns: dict: Document IDs, names, and descriptions
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/spec3_mcp_server/server.py:90-113 (handler)The async handler function that implements the 'list_documents' tool logic. It constructs a list of available documents from the AVAILABLE_DOCS dictionary, including each document's ID, name, and description, and returns it along with the count.async def list_documents() -> dict[str, Any]: """ List all available Spec3 racing reference documents. Available documents include: Spec3 Constructor's Guide, Bentley E36 Manual, 2025 NASA CCR rules, and 2025 Spec3 class rules. Returns: dict: Document IDs, names, and descriptions """ logger.info("list_documents called") docs_list = [] for doc_id, doc_info in AVAILABLE_DOCS.items(): docs_list.append({ "id": doc_id, "name": doc_info["name"], "description": doc_info["description"] }) return { "documents": docs_list, "count": len(docs_list) }
- src/spec3_mcp_server/server.py:89-89 (registration)The @mcp.tool() decorator registers the list_documents function as an available tool in the FastMCP server.@mcp.tool()
- src/spec3_mcp_server/server.py:91-99 (schema)Docstring providing the tool description, usage, and return type annotation, which FastMCP likely uses to generate the tool schema for MCP.""" List all available Spec3 racing reference documents. Available documents include: Spec3 Constructor's Guide, Bentley E36 Manual, 2025 NASA CCR rules, and 2025 Spec3 class rules. Returns: dict: Document IDs, names, and descriptions """
- src/spec3_mcp_server/server.py:36-57 (helper)AVAILABLE_DOCS constant dictionary that defines the list of available Spec3 documents, directly used by the list_documents handler.AVAILABLE_DOCS = { "spec3_constructor_guide": { "name": "Spec3 E36 Race Car Constructor's Guide", "s3_key": "Spec3 E36 Race Car Contsructor's Guide.pdf", "description": "Comprehensive guide for building a Spec3 E36 race car" }, "bentley_manual_general": { "name": "Bentley General Manual", "s3_key": "bentley_general.pdf", "description": "Bentley BMW E36 Manual - GENERAL SECTION" }, "nasa_ccr": { "name": "2025 NASA Competition Comp Rules (CCR)", "s3_key": "2025.4_NASACCR.pdf", "description": "2025 NASA Club Championship Racing rules" }, "spec3_rules": { "name": "2025 Spec3 Rules", "s3_key": "2025_Spec3_Rules.pdf", "description": "2025 Spec3 racing class specific rules and regulations" } }