prompts and resources as tools

This commit is contained in:
John Lancaster
2026-08-30 11:42:26 -05:00
parent b2ac4102f7
commit bbaa84720c
4 changed files with 53 additions and 11 deletions
+7 -3
View File
@@ -52,6 +52,10 @@ flowchart TD
B --> G[FastMCP]
D --> G
F --> G
G --> I[ResourcesAsTools]
G --> J[PromptsAsTools]
I --> N[list_resources / read_resource]
J --> O[list_prompts / get_prompt]
G --> H[MCP Transport]
H --> K[FastAPI Application]
L[Pre-built site] --> M[Static /docs Mount]
@@ -81,12 +85,12 @@ No runtime Markdown-to-HTML conversion occurs.
2. Skill supporting files map to `skill://<skill-id>/<path>`.
3. Declarative prompt documents map to native MCP prompt names.
4. General `src/personal_mcp/docs/<path>.md` maps to `resource://docs/{path*}`.
The server publishes no tool projections of resources or prompts.
5. FastMCP's `ResourcesAsTools` transform projects every registered resource and template onto two compatibility tools, `list_resources` and `read_resource`, for tool-only clients.
6. FastMCP's `PromptsAsTools` transform projects every registered prompt onto `list_prompts` and `get_prompt`; rendering still routes through the native prompt provider.
## Public Surface Policy
Canonical provider and protocol surfaces are the only public interfaces.
Native resources and prompts remain the source of truth. Generated compatibility tools delegate to those surfaces instead of maintaining parallel catalogs or rendering logic.
## Static Mount Expectations