mcp-data-platform-v1.47.0
Collections
This release adds the collections system to the Admin Portal — curated, ordered groups of assets organized into sections with rich markdown descriptions. Collections are the primary way to assemble assets into shareable packages like executive review decks, regional analysis bundles, or onboarding kits.
What's new
Collections CRUD
- Create, edit, view, and delete collections from the portal sidebar
- Each collection contains ordered sections, each with a title, markdown description, and an ordered list of asset references
- Drag-and-drop reordering for both sections and items within sections
- Full markdown support in descriptions (GFM tables, code blocks, mermaid diagrams, blockquotes)
Asset browser
- Full-screen modal for browsing and adding assets to collection sections
- Live search by name, description, and tags with sortable results
- Thumbnail previews inline in the browser
Asset preview modal
- Quick-view any asset's rendered content without navigating away
- Available in both the asset browser and the My Assets list
Collection thumbnails
- Auto-generated mosaic thumbnails composited from up to 4 asset thumbnails
- Generated in a background queue on the collections list page
- Configurable thumbnail display size per collection (large, medium, small, none)
Sharing
- Share collections via public links (token-based, time-limited) or user shares (email, viewer/editor permission)
- Public collection viewer renders markdown with the same fidelity as asset shares (mermaid, GFM, code blocks)
- Assets open in a full-screen modal overlay within the public viewer
- Share management: view active shares, copy public links, revoke access
Context-aware navigation
- URL paths encode navigation context (
/collections/:id/assets/:assetId,/shared/assets/:id) - Back arrow always returns to the correct parent level, not browser history
Collection associations on assets
- My Assets grid and table views show which collections contain each asset as clickable badges
- Aggregated asset tags displayed on collection list cards
Grid/table view toggle
- Persistent toggle between thumbnail grid and dense table view for My Assets and Shared With Me pages
- Preference stored in localStorage, shared across pages
API
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/portal/collections |
Create collection |
GET |
/api/v1/portal/collections |
List user's collections |
GET |
/api/v1/portal/collections/{id} |
Get collection with sections and items |
PUT |
/api/v1/portal/collections/{id} |
Update name and description |
DELETE |
/api/v1/portal/collections/{id} |
Soft delete |
PUT |
/api/v1/portal/collections/{id}/config |
Update collection settings |
PUT |
/api/v1/portal/collections/{id}/sections |
Replace all sections (full structure) |
PUT |
/api/v1/portal/collections/{id}/thumbnail |
Upload thumbnail |
GET |
/api/v1/portal/collections/{id}/thumbnail |
Get thumbnail |
POST |
/api/v1/portal/collections/{id}/shares |
Create share |
GET |
/api/v1/portal/collections/{id}/shares |
List shares |
GET |
/api/v1/portal/shared-collections |
List collections shared with current user |
GET |
/portal/view/{token} |
Public collection viewer (extends existing route) |
GET |
/portal/view/{token}/items/{assetId}/content |
Public item content |
GET |
/portal/view/{token}/items/{assetId}/thumbnail |
Public item thumbnail |
GET |
/portal/view/{token}/items/{assetId}/view |
Public item full viewer |
Database migrations
Three new migrations are applied automatically on startup:
- 000023 —
portal_collections,portal_collection_sections,portal_collection_itemstables with indexes - 000024 — Extends
portal_shareswithcollection_idcolumn and a CHECK constraint enforcing exactly one ofasset_id/collection_id - 000025 — Adds
configJSONB column toportal_collectionsfor extensible per-collection settings
Dev harness improvements
- Seed data includes 3 collections with sections, items, and a public share
- 50 fresh audit events with unique IDs added each restart for realistic activity
- S3 content upload skipped if content already exists (preserves thumbnails across restarts)
.air.tomlwatches.htmland.sqlfiles for template/migration hot-reload
CI dependency updates
actions/deploy-pages4.0.5 → 5.0.0actions/setup-go6.3.0 → 6.4.0codecov/codecov-action5.5.3 → 6.0.0sigstore/cosign-installer4.1.0 → 4.1.1
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.47.0Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.47.0_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.47.0_linux_amd64.tar.gz