RNL
86bab78a52
fix(mcp): address final-review findings (sentinel exclusion, per-unit AMS data, generated_at, gating test, docs, cleanup)
2026-08-19 22:43:11 +10:00
RNL
10034a2de4
feat(mcp): assemble the 8-tool toolkit with capability gating, proven via real dispatch
...
Also fixes async-test DB isolation: test_mcp_toolkit.py drives real MCP
dispatch, which runs tool functions' ORM calls on a sync_to_async worker
thread outside pytest-django's per-test atomic transaction, so writes
committed there weren't rolled back and leaked into later tests. Sets
DJANGO_ALLOW_ASYNC_UNSAFE for the async ORM setup calls and flushes the
Printer table after this file's tests via conftest.py.
2026-08-19 22:26:09 +10:00
RNL
6efa55f946
feat(mcp): add get_filament tool
2026-08-19 22:20:11 +10:00
RNL
3656286006
fix(mcp): exclude -1 sentinel from min_remaining_grams filter in list_filaments
2026-08-19 22:18:07 +10:00
RNL
212de0b06e
feat(mcp): add list_filaments tool
2026-08-19 22:14:39 +10:00
RNL
0164a72598
feat(mcp): add get_print_statistics tool
2026-08-19 22:11:51 +10:00
RNL
1a28197eda
feat(mcp): add get_print_job tool
2026-08-19 22:09:16 +10:00
RNL
31d0cb677e
feat(mcp): add list_print_jobs tool
2026-08-19 22:06:51 +10:00
RNL
39e4638f6a
feat(mcp): add get_hardware_health tool
2026-08-19 22:04:14 +10:00
RNL
e8d861f8a9
feat(mcp): add get_metrics_history tool
2026-08-19 22:00:12 +10:00
RNL
679c620fb2
feat(mcp): add get_printer_status tool
2026-08-19 21:55:02 +10:00
RNL
df34ec8e3e
fix(mcp): treat ending_percent=-1 as unread sentinel in normalize_consumed
2026-08-19 21:52:48 +10:00
RNL
8a498e933e
feat(mcp): add shared output-shaping helpers for the MCP toolkit
2026-08-19 21:49:16 +10:00