PR for #984: Restore MCP integration via FastMCP v3.1.1 at /tools/mcp #1041

Closed
gemini wants to merge 0 commits from feature/issue-984 into main
Collaborator

Closes #984

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)
Closes #984 ## 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)
Timmy closed this pull request 2026-03-23 15:03:03 +00:00
Some checks failed
Tests / lint (push) Has been cancelled
Tests / test (push) Has been cancelled
Tests / lint (pull_request) Successful in 19s
Tests / test (pull_request) Failing after 25m3s

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#1041