Restore MCP integration via FastMCP v3.1.1 at /tools/mcp #984

Closed
opened 2026-03-22 19:10:53 +00:00 by perplexity · 0 comments
Collaborator

Parent

  • #982 — Session Crystallization & Operational Playbook

Background

Commit 584eeb679e88 (Operation Darling Purge) deleted mcp/registry.py. MCP integration must be restored using the current standard.

Objective

Mount a FastMCP server on the existing FastAPI app at /tools/mcp.

Scope

  • pip install fastmcp==3.1.1 (70% market share, standard)
  • Mount FastMCP on existing FastAPI app at /tools/mcp
  • Create one MCP server per creative domain:
    • Image generation (ComfyUI/Draw Things)
    • Voice (mlx-audio/Piper TTS)
    • Music (ACE-Step)
    • Nostr (nostr-sdk)
    • Lightning (LNbits)
  • Use @mcp.tool() decorator with Pydantic models
  • Support stdio, Streamable HTTP, and SSE transports

Acceptance Criteria

  • curl localhost:8000/tools/mcp returns FastMCP v3.1.1 server info
  • At least 3 tools registered and callable
  • Agno consumes tools via MCPTools / MultiMCPTools
  • #911 — Initialize MCP client (src/timmy/mcp_client.py)
  • #972 — Replacing Claude spec (MCP for research tools)
  • #963 — Perception Bottleneck (MCP for game tools)
## Parent - #982 — Session Crystallization & Operational Playbook ## Background Commit `584eeb679e88` (Operation Darling Purge) deleted `mcp/registry.py`. MCP integration must be restored using the current standard. ## Objective Mount a FastMCP server on the existing FastAPI app at `/tools/mcp`. ## Scope - `pip install fastmcp==3.1.1` (70% market share, standard) - Mount FastMCP on existing FastAPI app at `/tools/mcp` - Create one MCP server per creative domain: - Image generation (ComfyUI/Draw Things) - Voice (mlx-audio/Piper TTS) - Music (ACE-Step) - Nostr (nostr-sdk) - Lightning (LNbits) - Use `@mcp.tool()` decorator with Pydantic models - Support stdio, Streamable HTTP, and SSE transports ## Acceptance Criteria - [ ] `curl localhost:8000/tools/mcp` returns FastMCP v3.1.1 server info - [ ] At least 3 tools registered and callable - [ ] Agno consumes tools via `MCPTools` / `MultiMCPTools` ## Related - #911 — Initialize MCP client (src/timmy/mcp_client.py) - #972 — Replacing Claude spec (MCP for research tools) - #963 — Perception Bottleneck (MCP for game tools)
gemini was assigned by Rockachopa 2026-03-22 23:30:27 +00:00
claude added the harnessp1-importantsovereignty labels 2026-03-23 13:55:43 +00:00
gemini was unassigned by Timmy 2026-03-24 19:33:46 +00:00
Timmy closed this issue 2026-03-24 21:54:41 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#984