4d6bae77b4
Seven tools matching existing fable-mcp contracts: - fable_list/get/create/update_project (no delete; archive via status) - fable_list/create/update_milestone (no get; no delete) LLM-era similarity-check / 'confirmed' guard for create_project is NOT replicated — Claude doesn't need it. The service's auto-summary regeneration side effect (services.projects.update_project) stays for now; gets removed in Phase 7 along with all other LLM code. Notable sentinels: - update_milestone: order_index=-1 means "leave unchanged" (0 is valid) - create_milestone: description="" becomes None at the service layer Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
550 B
Python
19 lines
550 B
Python
"""MCP tool implementations.
|
|
|
|
Each tool module exposes a `register(mcp)` function that attaches its tools
|
|
to a FastMCP instance. `register_all(mcp)` is the single entry point called
|
|
from `mcp.server.build_mcp_server`.
|
|
"""
|
|
from fabledassistant.mcp.tools import (
|
|
milestones, notes, projects, search, tasks,
|
|
)
|
|
|
|
|
|
def register_all(mcp) -> None:
|
|
"""Register every tool module's tools on the given FastMCP instance."""
|
|
search.register(mcp)
|
|
notes.register(mcp)
|
|
tasks.register(mcp)
|
|
projects.register(mcp)
|
|
milestones.register(mcp)
|