mcp-data-platform-v1.61.7
Highlights
- Admin dashboard no longer goes blank when an MCP gateway-kind connection is registered. The wire shape of
/api/v1/admin/connectionsdiverged from the documented type for one row, and the dashboard read.lengthon the resultingnullwithout a guard.
Backend: normalize Tools to an empty slice
/api/v1/admin/connections returns each connection with a tools field. Most toolkits register their static tool list at startup and return a populated slice. The mcp gateway kind discovers tools per session and therefore returned a nil Tools() slice from the toolkit. Go's JSON encoder serializes a nil slice as null, not [], so the wire shape diverged from the documented ConnectionInfo type (tools: string[]).
mergeConnections in pkg/admin/connection_handler.go now normalizes Tools to []string{} before returning. Every row, regardless of producing toolkit, now matches the documented type. Two new TestMergeConnections subtests cover the live-with-nil and DB-only paths.
Frontend: defensive guard on the dashboard card
ui/src/pages/dashboard/DashboardPage.tsx rendered {c.tools.length} directly. When the backend returned tools: null, React threw Cannot read properties of null (reading 'length') during render, leaving the entire admin landing page blank with no visible error. ConnectionsPanel.tsx:303 already guarded the same field with c.tools && c.tools.length > 0, which is why the settings page rendered correctly while the dashboard did not.
The dashboard card now reads {c.tools?.length ?? 0}. Belt-and-suspenders alongside the backend fix, so a future regression on either side cannot blank the page.
Changelog
- fix(admin): tolerate nil tools slice from gateway-kind connections (#410)
Installation
Homebrew (macOS)
brew install txn2/tap/mcp-data-platformClaude Code CLI
claude mcp add mcp-data-platform -- mcp-data-platformDocker
docker pull ghcr.io/txn2/mcp-data-platform:v1.61.7Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.61.7_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.61.7_linux_amd64.tar.gz