feat(mcp): fable_list_tags + fable_get_recent

Two cross-type bootstrap tools:

- fable_list_tags: tag vocabulary with usage counts, top-N by count.
  Aggregation in Python (not SQL UNNEST) — trivial perf cost at
  personal scale, much easier to test.

- fable_get_recent: most-recently-touched items across notes, tasks,
  projects, events. Useful for Claude to ask 'what was I working on
  recently' at the start of a conversation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-26 20:51:59 -04:00
parent 9a76c4718b
commit 6961144c3a
4 changed files with 201 additions and 1 deletions
+3 -1
View File
@@ -5,7 +5,7 @@ to a FastMCP instance. `register_all(mcp)` is the single entry point called
from `mcp.server.build_mcp_server`.
"""
from fabledassistant.mcp.tools import (
events, milestones, notes, projects, search, tasks,
events, milestones, notes, projects, recent, search, tags, tasks,
)
@@ -17,3 +17,5 @@ def register_all(mcp) -> None:
projects.register(mcp)
milestones.register(mcp)
events.register(mcp)
tags.register(mcp)
recent.register(mcp)