Skip to content

mcp-data-platform-v1.39.0

Choose a tag to compare

@github-actions github-actions released this 11 Mar 05:49
· 269 commits to main since this release
2980bc9

Public Viewer Overhaul

This release transforms the public viewer (/portal/view/{token}) with theme support, expiration awareness, configurable notices, and search engine protection.

Light/Dark Mode

The public viewer now respects the system prefers-color-scheme setting and includes a toggle button in the header. The selected theme persists to localStorage across visits. Theme affects page chrome (header, notice bar, background) and text content — HTML iframe content is fully isolated with a white background regardless of theme.

Expiration Countdown

When a share has an expiration, a notice bar displays the relative time remaining (e.g., "This page expires in 6 hours"). The countdown updates automatically. Suppress it per-share with hide_expiration: true at creation time.

Per-Share Notice Text

The notice bar text is now configurable per-share via the notice_text field:

{
  "expires_in": "24h",
  "notice_text": "Internal use only.",
  "hide_expiration": false
}
  • Omit notice_text → defaults to "Proprietary & Confidential. Only share with authorized viewers."
  • Set to "" → hides the notice text entirely
  • Set to custom string → displayed as-is (max 500 characters)

When both notice text is empty and there is no expiration (or expiration is hidden), the notice bar is removed entirely.

Robots.txt

A /robots.txt endpoint now returns Disallow: / for all user agents, preventing search engines from indexing the portal, API, or shared links.

Layout & Styling Fixes

  • Content area fills remaining viewport height via flexbox — no excess whitespace below short content
  • Iframe border adapts to theme via CSS custom properties instead of hardcoded color

Database Migrations

Two new migrations run automatically on startup:

Migration Description
000018 ALTER TABLE portal_shares ADD COLUMN hide_expiration BOOLEAN NOT NULL DEFAULT FALSE
000019 ALTER TABLE portal_shares ADD COLUMN notice_text TEXT NOT NULL DEFAULT 'Proprietary & Confidential. Only share with authorized viewers.'

Both are backward-compatible — existing shares retain default behavior.

API Changes

The POST /api/v1/portal/assets/{id}/shares endpoint accepts two new optional fields:

Field Type Default Description
hide_expiration bool false Suppress expiration countdown in public viewer
notice_text string "Proprietary & Confidential..." Custom notice text; "" hides the notice

Installation

Homebrew (macOS)

brew install txn2/tap/mcp-data-platform

Claude Code CLI

claude mcp add mcp-data-platform -- mcp-data-platform

Docker

docker pull ghcr.io/txn2/mcp-data-platform:v1.39.0

Verification

All release artifacts are signed with Cosign. Verify with:

cosign verify-blob --bundle mcp-data-platform_1.39.0_linux_amd64.tar.gz.sigstore.json \
  mcp-data-platform_1.39.0_linux_amd64.tar.gz