Commit 538c1a9
* spec(050): global tools overview page
Related #437
Single table-style page listing every tool across all configured MCP
servers, with substring search, server/state/risk/approval filters,
column sorting, and batch enable/disable. Replaces the orphaned Tools
view. Backend usage aggregation + consolidated tools payload.
Scope, data source, search approach, and v1 columns settled in
brainstorming with the user.
* spec(050): add CLI parity (US4, FR-017..020, SC-007)
Related #437
Global tools page must have a CLI equivalent per the project's CLI/UI
parity pattern. Folded into spec 050 (same consolidated data source +
per-tool state change), not a separate spec.
* plan(050): impl plan + Phase 0/1 design artifacts
Related #437
plan.md, research.md (6 decisions), data-model.md, contracts/global-tools-api.md,
quickstart.md. Constitution check passes (no violations). No new deps, no schema
change — reuses activity bucket + per-server enrichment loop.
* tasks(050): 26 tasks, 4 user stories, TDD
Related #437
US1 (global listing/MVP), US2 (filter/sort/search), US3 (batch),
US4 (CLI parity). Phase 2 foundational = AggregateToolUsage + contracts.
Fan-out: backend / frontend / CLI agents after T007.
* feat(050): global tools overview — endpoint, page, CLI parity
Related #437
Backend: storage.AggregateToolUsage (single bounded cursor pass over the
activity bucket, 30d window, no schema change); GET /api/v1/tools merging
all servers via a shared enrichServerTools helper + usage fold-in;
partial-server-failure tolerant. Frontend: Tools.vue rewritten
Activity.vue-style (cards, filters, sortable table, batch enable/disable,
schema modal); /tools route + sidebar badge. CLI: global tools list +
tools enable|disable <server:tool ...> batch. Docs/OAS/E2E updated.
Tests: storage + httpapi + CLI; lint + frontend build clean.
* fix(050): consistent disabled-server handling + verification
Related #437
Global handler now uses the management-service GetServerTools path (same
as the per-server endpoint) so a disabled/not-connected server yields an
empty tool set instead of a false partial:true/failed_servers flag.
Adjusted the unit-test controller to exercise the controller fallback
path. Adds the Playwright sweep (5/5 green), self-contained HTML report,
and screenshots under verification/.
* docs(050): trim CLAUDE.md under 40k char CI limit
Related #437
Condense the spec 050 CLI note + auto-appended agent-context lines so
CLAUDE.md stays under the check-size 40,000-char gate. Full CLI
reference remains in docs/cli-management-commands.md.
* chore(050): execution log — CI green, awaiting review
Related #437
* fix(050): sidebar count badges + clickable Tools stat cards + server-link affordance
- Add Servers/Secrets count badges to sidebar WORKSPACE section for
visual parity with the existing Tools badge. Server count is reactive
via the status SSE; secret count fetched on mount.
- Secret badge uses total_secrets from /secrets/config (same source as
the Secrets page) instead of /secrets/refs, which over-counts every
config reference including ${env:...} placeholders.
- Tools summary cards (Total/Enabled/Disabled/Pending) are now clickable
filter toggles with ring highlight, mirroring the Servers page.
- Tools table server name uses link-primary (always visible as a link)
instead of link-hover, matching the modal's affordance.
---------
Co-authored-by: Algis Dumbris <gordon.greatests@gmail.com>
1 parent 496349c commit 538c1a9
41 files changed
Lines changed: 2985 additions & 399 deletions
File tree
- cmd/mcpproxy
- docs
- api
- frontend/src
- components
- router
- services
- types
- views
- internal
- cliclient
- contracts
- httpapi
- runtime
- server
- storage
- oas
- scripts
- specs/050-global-tools-page
- checklists
- contracts
- verification
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
| 232 | + | |
| 233 | + | |
232 | 234 | | |
233 | 235 | | |
234 | 236 | | |
| |||
393 | 395 | | |
394 | 396 | | |
395 | 397 | | |
| 398 | + | |
396 | 399 | | |
397 | 400 | | |
398 | 401 | | |
| |||
770 | 773 | | |
771 | 774 | | |
772 | 775 | | |
| 776 | + | |
773 | 777 | | |
774 | 778 | | |
775 | 779 | | |
0 commit comments