Releases: txn2/mcp-data-platform
mcp-data-platform-v1.46.2
Context Documents Now Visible by Default
Context documents created via apply_knowledge (add_context_document) and datahub_create (what=document) now default to visible (global_context=true) and published (status=PUBLISHED). Previously, documents were created invisible in the DataHub UI, requiring callers to manually set both flags.
Callers can still override with global_context=false or status=UNPUBLISHED when needed.
Dependency Updates
txn2/mcp-datahubv1.7.0 → v1.7.1 (#276)
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.46.2Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.46.2_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.46.2_linux_amd64.tar.gzmcp-data-platform-v1.46.1
Highlights
Unified Local Dev Harness (#274)
Single make dev command replaces the multi-terminal manual setup. Starts Docker (PostgreSQL + SeaweedFS), Go server with air hot-reload, and Vite UI dev server — all with pre-flight checks and clear status reporting.
What changed:
- Pre-flight checks: verifies Docker is running, air is installed, and ports 5432/8080/5173/9000 are free before starting anything
- Sequential startup with health checks: each service is confirmed healthy before the next starts — no more guessing what's running
- Auto-seeding: first run populates ~5,000 audit events, 8 knowledge insights, and 6 portal assets with real renderable content (HTML dashboards, CSV, JSX components, Markdown with mermaid diagrams, SVG)
- Go hot-reload: edit a
.gofile and the server rebuilds and restarts in ~2s via air - Clean shutdown: Ctrl-C stops all processes and Docker containers
Portal Bug Fixes (#274)
- Thumbnails now work in API key auth mode:
<img>tags can't send custom headers, so thumbnails were returning 401 when authenticated via API key. NewAuthImgcomponent fetches with theX-API-Keyheader and uses blob URLs. - Mermaid diagrams render in markdown: added
mermaiddependency with theme-aware rendering — diagrams automatically switch between light and dark themes via MutationObserver on the document'sdarkclass. Error states show a styled card instead of breaking the page. - Thumbnail generator renders mermaid before capture: previously captured the raw mermaid code block text instead of the rendered diagram. Now renders all mermaid blocks in the DOM before html2canvas capture.
Dependency Upgrade (#275)
- txn2/mcp-datahub v1.6.0 → v1.7.0: upstream
AssertionResult.ResultType(pass/fail) replaced byAssertionResult.AssertionURN(pointer to the assertion entity). This aligns with DataHub's model where pass/fail status lives on the assertion run, not the contract reference.
Security
- Fixed 4 gosec G124 findings on cookie
SetCookiecalls where theSecureattribute is config-driven (defaultstrue, opt-out for local dev without TLS). Added#nosec G124annotations with justification.
Changelog
Features
- ff0ae07: feat: unified local dev harness with hot-reload, seed data, and portal fixes (#274) (@cjimti)
Dependencies
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.46.1Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.46.1_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.46.1_linux_amd64.tar.gzmcp-data-platform-v1.46.0
Changelog
Features
Others
- 9ec0711: build(deps): bump picomatch (#272) (@dependabot[bot])
- de47e0b: ci: bump anchore/sbom-action from 0.23.1 to 0.24.0 (#269) (@dependabot[bot])
- 6660c02: ci: bump codecov/codecov-action from 5.5.2 to 5.5.3 (#270) (@dependabot[bot])
- ec4496c: ci: bump github/codeql-action from 4.32.6 to 4.34.1 (#268) (@dependabot[bot])
- 5ef7e48: deps: bump github.com/lib/pq from 1.11.2 to 1.12.0 (#267) (@dependabot[bot])
- fcfa562: deps: bump github.com/testcontainers/testcontainers-go (@dependabot[bot])
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.46.0Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.46.0_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.46.0_linux_amd64.tar.gzmcp-data-platform-v1.45.0
CRUD Write Tools for DataHub
Replaces the 7 individual DataHub write tools with 3 unified CRUD tools using a what discriminator pattern. Bumps txn2/mcp-datahub from v1.4.3 to v1.5.0.
Before (7 tools)
datahub_update_description, datahub_add_tag, datahub_remove_tag, datahub_add_glossary_term, datahub_remove_glossary_term, datahub_add_link, datahub_remove_link
After (3 tools)
| Tool | Purpose |
|---|---|
datahub_create |
Create tags, glossary terms, links, structured properties, incidents |
datahub_update |
Update descriptions, structured property values, resolve incidents |
datahub_delete |
Remove tags, glossary terms, links, structured properties |
Each tool accepts a what parameter that selects the operation type (e.g., datahub_create with what: "tag" replaces datahub_add_tag).
Read-Only Mode
A new read_only configuration option for the DataHub toolkit controls whether write tools are registered:
toolkits:
datahub:
instances:
primary:
read_only: true # Only register read toolsWhen read_only: true, the three CRUD tools (datahub_create, datahub_update, datahub_delete) are not registered. Defaults to false.
Breaking Changes
Persona configurations referencing the old write tool names must be updated:
| Old Pattern | New Pattern |
|---|---|
datahub_add_* |
datahub_create |
datahub_update_description |
datahub_update |
datahub_remove_* |
datahub_delete |
Bug Fixes (upstream, via mcp-datahub v1.4.1–v1.4.3)
These fixes shipped in prior mcp-datahub patch releases that are included in this release:
raise_incident— Fixed GraphQL mutation sendingresourceUrnsas an array of objects instead of the expected singularresourceUrn: String!fieldset_structured_property— Fixed wrong GraphQL field name (propertyUrnvsstructuredPropertyUrn), missing selection set on non-scalar return type, and value serialization (raw values now wrapped in typed maps like{"stringValue": "..."})resolve_incident— Fixed GraphQL input type mismatch (UpdateIncidentStatusInput!→IncidentStatusInput!)update_description/add_tag/remove_tagon domains, glossary terms, and glossary nodes — REST API does not register these aspects as writable; operations now route through GraphQL mutations instead
Dependency Updates
| Dependency | Previous | New |
|---|---|---|
txn2/mcp-datahub |
v1.4.3 | v1.5.0 |
modelcontextprotocol/go-sdk |
v1.4.0 | v1.4.1 |
testcontainers-go |
v0.40.0 | v0.41.0 |
golang.org/x/crypto |
v0.48.0 | v0.49.0 |
google.golang.org/grpc |
v1.79.1 | v1.79.3 |
anchore/sbom-action |
v0.23.0 | v0.23.1 |
sigstore/cosign-installer |
v4.0.0 | v4.1.0 |
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.45.0Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.45.0_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.45.0_linux_amd64.tar.gzmcp-data-platform-v1.44.3
Structured Property Value Serialization Fix
Bumps txn2/mcp-datahub from v1.4.2 to v1.4.3, fixing the last known set_structured_property write failure. Pure dependency bump — no platform code changes.
Dependency Update
| Dependency | Previous | New |
|---|---|---|
txn2/mcp-datahub |
v1.4.2 | v1.4.3 |
Bug Fix
set_structured_property — "Expected type 'Map' but was 'String'"
The upstream UpsertStructuredProperties mutation passed raw values (e.g., "2 years", 30) directly in the GraphQL values array. DataHub's API expects typed value objects:
// Before (broken)
{"values": ["2 years"]}
// After (correct)
{"values": [{"stringValue": "2 years"}]}v1.4.3 adds a toTypedPropertyValue helper that wraps each raw Go value in the appropriate typed map (stringValue, numberValue, etc.) before sending to DataHub.
Before (v1.44.2): set_structured_property failed on all value types with a GraphQL type mismatch error.
After: String, numeric, and array values are correctly serialized and written.
DataHub 1.4.x Write Support — Complete
This release marks the completion of all DataHub 1.4.x write fixes. The full progression:
| Version | What was fixed |
|---|---|
| v1.44.0 | Initial DataHub 1.4.x integration — enrichment + apply_knowledge |
| v1.44.1 | raise_incident, structured property GraphQL selection set, domain/glossaryTerm entity type support |
| v1.44.2 | resolve_incident, set_structured_property field name, domain/glossaryTerm REST→GraphQL routing |
| v1.44.3 | set_structured_property value serialization (typed objects) |
All apply_knowledge change types now work end-to-end against DataHub 1.4.x instances.
Upgrade Notes
- No breaking changes. Drop-in replacement for v1.44.2.
- No configuration changes required.
- Recommended for all DataHub 1.4.x users using
set_structured_property.
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.44.3Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.44.3_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.44.3_linux_amd64.tar.gzmcp-data-platform-v1.44.2
apply_knowledge Write Fixes (Part 2)
Bumps txn2/mcp-datahub from v1.4.1 to v1.4.2, fixing the four remaining apply_knowledge write failures discovered during live verification. Pure dependency bump — no platform code changes.
This completes the DataHub 1.4.x write support. All apply_knowledge change types now work against all advertised entity types.
Dependency Update
| Dependency | Previous | New |
|---|---|---|
txn2/mcp-datahub |
v1.4.1 | v1.4.2 |
Bug Fixes
1. set_structured_property — Wrong GraphQL field name
The upstream mutation input used propertyUrn (the REST API field name) instead of structuredPropertyUrn (the GraphQL field name). Every set_structured_property call failed with field name 'propertyUrn' is not defined for input object type 'StructuredPropertyInputParams'.
Before (v1.44.1): set_structured_property failed on all entities.
After: Structured properties are set successfully.
2. resolve_incident — Wrong GraphQL input type
The upstream mutation declared $input: UpdateIncidentStatusInput! but DataHub 1.4.x renamed the type to IncidentStatusInput!. Every resolve_incident call failed with a type mismatch validation error.
Before (v1.44.1): resolve_incident failed on all entities.
After: Incidents are resolved successfully.
3. update_description on domain/glossaryTerm/glossaryNode — REST API limitation
The REST ingestProposal endpoint does not register domainProperties, glossaryTermInfo, or glossaryNodeInfo as writable aspects, returning 422 validation errors. The upstream client now routes these entity types through the GraphQL updateDescription mutation instead.
Before (v1.44.1): update_description failed on domain, glossaryTerm, and glossaryNode entities.
After: Descriptions update successfully via GraphQL.
4. add_tag / remove_tag / add_glossary_term on domain/glossaryTerm/glossaryNode — Same REST limitation
The REST API does not register globalTags or glossaryTerms as writable aspects for these entity types. The upstream client now routes them through GraphQL addTag/removeTag/addTerm/removeTerm mutations. All other entity types (dataset, dashboard, chart, etc.) continue using REST unchanged.
Before (v1.44.1): Tag and glossary term operations failed on domain, glossaryTerm, and glossaryNode entities.
After: All operations work via GraphQL.
Complete Write Support Matrix (as of v1.44.2)
All apply_knowledge change types now work on all advertised entity types:
| Operation | dataset | dashboard | chart | dataFlow | dataJob | container | dataProduct | domain | glossaryTerm | glossaryNode |
|---|---|---|---|---|---|---|---|---|---|---|
update_description |
v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.2 | v1.44.2 | v1.44.2 |
add_tag / remove_tag |
v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.2 | v1.44.2 | v1.44.2 |
add_glossary_term |
v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.2 | v1.44.2 | v1.44.2 |
set_structured_property |
v1.44.2 | |||||||||
remove_structured_property |
v1.44.2 | |||||||||
raise_incident |
v1.44.1 | |||||||||
resolve_incident |
v1.44.2 | |||||||||
add_curated_query |
v1.44.0 |
Upgrade Notes
- No breaking changes. Drop-in replacement for v1.44.1.
- No configuration changes required.
- Recommended for all DataHub 1.4.x users. This release completes write support for all advertised change types and entity types.
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.44.2Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.44.2_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.44.2_linux_amd64.tar.gzmcp-data-platform-v1.44.1
apply_knowledge Write Fixes
Bumps txn2/mcp-datahub from v1.4.0 to v1.4.1, fixing three apply_knowledge bugs discovered during live testing against a DataHub 1.4.x instance. All three were upstream client bugs — no changes to platform business logic.
Dependency Update
| Dependency | Previous | New |
|---|---|---|
txn2/mcp-datahub |
v1.4.0 | v1.4.1 |
Bug Fixes
1. raise_incident Failed with "At least 1 resource urn must be defined"
The upstream client sent resourceUrns as an array of objects ([{"urn":"..."}]), but DataHub 1.4.x expects resourceUrn as a singular String! field. The platform correctly passed entity_urn through to the client — the serialization bug was in the upstream GraphQL mutation.
Before: Every raise_incident call failed immediately with a GraphQL validation error.
After: Incidents are created successfully and the incident URN is returned.
2. set_structured_property Failed with GraphQL SubselectionRequired
The upstream UpsertStructuredProperties and RemoveStructuredProperties mutations were missing a required GraphQL selection set. DataHub returns StructuredProperties! (a non-scalar object type) which requires the client to specify which fields to select. Without it, every call was rejected at the GraphQL validation layer.
Before: Every set_structured_property and remove_structured_property call failed.
After: Structured properties are set and removed successfully.
3. update_description / add_tag Failed on Non-Dataset Entities
The upstream client's entity type maps excluded domain, glossaryTerm, and glossaryNode from description updates, tag operations, and glossary term operations. The platform's own validation layer (entity_type.go) already listed these as supported — the rejection came from the upstream client.
Before: Any write operation on domains, glossary terms, or glossary nodes failed with "unsupported entity type".
After: The following operations now work on all advertised entity types:
| Operation | dataset | dashboard | chart | dataFlow | dataJob | container | dataProduct | domain | glossaryTerm | glossaryNode |
|---|---|---|---|---|---|---|---|---|---|---|
update_description |
v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.1 | v1.44.1 | v1.44.0 |
add_tag / remove_tag |
v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.1 | v1.44.1 | v1.44.1 |
add_glossary_term |
v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.0 | v1.44.1 | v1.44.1 | v1.44.1 |
Internal
- Split
logInjectionAttemptsintologInjectionAttempts+logInjectionAttemptsV14to fix cognitive complexity lint violation (18 > 15 threshold) - Updated test mock responses for
UpsertStructuredPropertiesandRemoveStructuredPropertiesto match v1.4.1's struct response format
Upgrade Notes
- No breaking changes. Drop-in replacement for v1.44.0.
- No configuration changes required.
- Users who encountered errors with
raise_incident,set_structured_property, or writes on domain/glossaryTerm entities should upgrade immediately.
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.44.1Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.44.1_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.44.1_linux_amd64.tar.gzmcp-data-platform-v1.44.0
DataHub 1.4.x Integration
Integrates DataHub 1.4.x features into the platform's semantic enrichment layer and knowledge management tool. Bumps txn2/mcp-datahub from v1.2.0 to v1.4.0.
Dependency Update
| Dependency | Previous | New |
|---|---|---|
txn2/mcp-datahub |
v1.2.0 | v1.4.0 |
Semantic Enrichment
Three new categories of DataHub metadata now surface automatically in Trino cross-injection responses. No configuration changes are needed — the new fields appear when the connected DataHub instance is running 1.4.x and the entity has the relevant metadata. On DataHub 1.3.x, responses are unchanged (graceful degradation via `omitempty` JSON tags on zero-value fields).
Structured Properties
Typed custom metadata — retention policies, data classifications, SLAs, and other organization-defined properties — now appears in the `semantic_context` of Trino tool responses.
{
"semantic_context": {
"structured_properties": [
{
"qualified_name": "io.acryl.privacy.retentionTime",
"display_name": "Retention Time",
"values": [90]
}
]
}
}- Display names and string values are sanitized through the injection prevention pipeline
- Numeric and boolean values pass through as-is
Incident Warnings
Active incidents surface as warnings across all enrichment contexts, similar to existing deprecation warnings:
- Full context: `active_incidents` count + full `incidents` array (URN, type, title, description, state, created)
- Compact context: `active_incidents` count only (safety signal for deduped responses)
- Multi-table context: `active_incidents` count only
Incident titles and descriptions are sanitized.
Data Contract Status
Freshness, schema, and data quality assertion results appear as a bundled pass/fail quality signal:
{
"semantic_context": {
"data_contract": {
"status": "FAILING",
"assertion_results": [
{"type": "FRESHNESS", "result_type": "FAILURE"}
]
}
}
}- Full context: Always included when present
- Compact context: Only included when status is `FAILING` (surfaces problems, suppresses noise)
- Multi-table context: Always included when present
- Contract status is system-generated metadata and passes through without sanitization
Knowledge Management (`apply_knowledge`)
Four new change types extend the `apply_knowledge` tool for managing structured properties and incidents through the knowledge workflow. All require DataHub 1.4.x.
Structured Property Management
| Change Type | Target | Detail |
|---|---|---|
| `set_structured_property` | Property qualified name or URN (e.g., `io.acryl.privacy.retentionTime`) | Value or JSON array of values (e.g., `90`, `"PII"`, `[90, "PII"]`) |
| `remove_structured_property` | Property qualified name or URN | Removal reason |
- Qualified names are automatically normalized to `urn:li:structuredProperty:` URN format
- Values are parsed with type preservation: integers stay `int64`, floats stay `float64`, strings stay strings — both for scalar and JSON array inputs
Incident Management
| Change Type | Target | Detail |
|---|---|---|
| `raise_incident` | Incident title | Optional description |
| `resolve_incident` | Incident URN (e.g., `urn:li:incident:abc123`) | Resolution message |
- `raise_incident` creates `OPERATIONAL` type incidents by default
- `resolve_incident` operates on the incident URN directly (the `entity_urn` field identifies which entity the changeset applies to, but the resolution targets the incident itself)
Interface Changes
DataHubWriter Interface
4 new methods added to `pkg/toolkits/knowledge/datahub_writer.go`:
UpsertStructuredProperties(ctx context.Context, urn, propertyURN string, values []any) error
RemoveStructuredProperty(ctx context.Context, urn, propertyURN string) error
RaiseIncident(ctx context.Context, entityURN, title, description string) (string, error)
ResolveIncident(ctx context.Context, incidentURN, message string) errorNoop implementations provided for deployments without DataHub write-back configured.
Internal Improvements
- Complexity management: `dispatchChange()` refactored into `dispatchChange()` + `dispatchCuratedQuery()` + `dispatchV14Change()` to stay within cyclomatic complexity limit (≤10)
- Error handling: Unknown change types now return an error instead of silently succeeding
- Sanitization: Structured property display names/values and incident titles/descriptions go through the injection prevention pipeline with detection logging
- Extracted constant: `errFmtExecuting` constant satisfies `goconst` lint rule
Backward Compatibility
This release is fully backward compatible. No configuration changes are required.
- DataHub 1.3.x: The upstream entity response omits the new fields (nil/zero), and `omitempty` JSON tags ensure they are absent from enrichment output. Existing behavior is unchanged.
- DataHub 1.4.x: New fields appear automatically when the entity has structured properties, active incidents, or data contracts.
- apply_knowledge: The 4 new change types are additive. Existing change types (`update_description`, `add_tag`, etc.) are unaffected.
Quality
- 90.9% total test coverage
- All new functions at 80–100% coverage
- 0 lint issues
- Backward compatibility verified by `TestGetTableContext_V13Compat`
Closes
- #181 — Structured properties in semantic enrichment
- #182 — Incident status in semantic enrichment
- #183 — Data contract status in semantic enrichment
- #184 — Structured properties in apply_knowledge
- #185 — Incidents in apply_knowledge
- #186 — DataHub 1.4.x Upgrade (tracking issue)
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.44.0Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.44.0_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.44.0_linux_amd64.tar.gzmcp-data-platform-v1.43.3
Bug Fixes
Version dropdown not updating after save (#251)
After saving edited content, the version dropdown in the toolbar stayed stale — still showing the old version list until a full page refresh. The content update mutations (useUpdateAssetContent, useAdminUpdateAssetContent) were invalidating the asset and content query caches but not the asset-versions query key. The dropdown now updates immediately after a successful save.
Changelog
Bug Fixes
- fix: invalidate version queries after content save (#251)
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.43.3Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.43.3_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.43.3_linux_amd64.tar.gzmcp-data-platform-v1.43.2
Highlights
UX fixes for the asset save workflow and platform version visibility for all users.
Save Dialog Improvements
- The "What changed?" dialog now shows "Saving will create a new version vN" so users know a new version will be created before confirming
- After a successful save, the view switches back to preview mode and the version dropdown updates to show the new current version
- The confusing "Skip" button is renamed to "Cancel" — it dismisses the dialog without saving, rather than saving without a summary
Platform Version Visible to All Users
The platform version badge in the header was previously only visible to admin users (fetched from the admin-only /system/info endpoint). The version is now included in the unauthenticated /public/branding response, so all authenticated users see it in the header.
Changelog
Bug Fixes
- fix: save dialog UX, version header for all users, cancel button (#250)
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.43.2Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_1.43.2_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_1.43.2_linux_amd64.tar.gz