mcp-gateway now groups tools by category in both the admin catalog and the user-facing /me page, with per-group enable/disable and read/write/destructive switches. It reads the category from _meta.group on each tool (the convention mcp-connectwise-psa v0.5.0 adopted for its toolsets), falling back to a bracketed description prefix ([Identity > …], CIPP style).
mcp-planner exposes 14 tools with no grouping metadata, so it renders as one flat list. Suggested groups:
plans — planner_list_plans, planner_get_plan, planner_create_bucket, planner_search_groups
tasks — planner_list_tasks, planner_get_task, planner_create_task, planner_update_task, planner_update_task_details, planner_delete_task, planner_list_user_tasks
people — planner_find_user
advanced — graph_get, graph_find_endpoint (the escape-hatch toolset)
Implementation is a _meta: { group: "…" } on each tool definition in the registrar — no protocol changes, ignored by clients that don't care. Same request open for mcp-itglue.
mcp-gateway now groups tools by category in both the admin catalog and the user-facing
/mepage, with per-group enable/disable and read/write/destructive switches. It reads the category from_meta.groupon each tool (the convention mcp-connectwise-psa v0.5.0 adopted for its toolsets), falling back to a bracketed description prefix ([Identity > …], CIPP style).mcp-planner exposes 14 tools with no grouping metadata, so it renders as one flat list. Suggested groups:
plans— planner_list_plans, planner_get_plan, planner_create_bucket, planner_search_groupstasks— planner_list_tasks, planner_get_task, planner_create_task, planner_update_task, planner_update_task_details, planner_delete_task, planner_list_user_taskspeople— planner_find_useradvanced— graph_get, graph_find_endpoint (the escape-hatch toolset)Implementation is a
_meta: { group: "…" }on each tool definition in the registrar — no protocol changes, ignored by clients that don't care. Same request open for mcp-itglue.