mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
c9770375e9
Adds human-readable `title` and categorization `tags` to all ~24 @mcp.tool decorators across the MCP tools package. FastMCP 3.3.1 (pinned in pyproject.toml) supports both fields natively. Tags used: notes, search, projects, cloud, schema, navigation, canvas, ui. Extends test_tool_contracts.py with an async test that asserts every registered tool has a non-empty title and at least one tag to prevent future regressions. output_schema is explicitly deferred as a follow-up (phase 2): it requires per-tool design decisions about which tools reliably return structured JSON and how to handle tools that return str|dict depending on output_format. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Drew Cain <groksrc@gmail.com>
18 lines
483 B
Python
18 lines
483 B
Python
"""Release notes MCP tool."""
|
|
|
|
from pathlib import Path
|
|
|
|
from basic_memory.mcp.server import mcp
|
|
|
|
|
|
@mcp.tool(
|
|
"release_notes",
|
|
title="Release Notes",
|
|
tags={"cloud"},
|
|
annotations={"readOnlyHint": True, "openWorldHint": False},
|
|
)
|
|
def release_notes() -> str:
|
|
"""Return the latest product release notes for optional user review."""
|
|
content_path = Path(__file__).parent.parent / "resources" / "release_notes.md"
|
|
return content_path.read_text(encoding="utf-8")
|