6253faee19
Created @instrument_tool decorator for automatic MCP tool metrics collection. Applied to all 7 tools in notes.py. Changes: - observability/metrics.py: * New instrument_tool() decorator for automatic timing and error tracking * Compatible with @mcp.tool() and @require_scopes() decorators * Records tool_name, duration, and success/error status - server/notes.py: * Applied @instrument_tool to all 7 tool functions * nc_notes_create_note, nc_notes_update_note, nc_notes_append_content * nc_notes_search_notes, nc_notes_get_note, nc_notes_get_attachment * nc_notes_delete_note These metrics will populate the MCP Tool Calls dashboard panels. Part of PR #295 - Complete metrics instrumentation (Phase 5) Remaining: 86 tools across 8 server files