Skip to content

mcp-data-platform-v1.92.0

Choose a tag to compare

@github-actions github-actions released this 28 Jun 00:19
ee1c219

Highlights

This release adds a universal fetch tool to the search toolkit. search returns navigational pointers with truncated snippets, and every search Hit already carries a reference. fetch(reference) is the missing consumer of that reference: it dereferences any pointer back to its complete content.

Two of the newest knowledge tiers had no MCP path to their full content before this release: knowledge pages (body served only by the portal HTTP handler) and context documents (snippet-only in search). An agent could write canonical knowledge but could not read it back. fetch closes that loop, and collapses the previously fragmented scoped readers (datahub_get_entity, manage_artifact get, manage_prompt get) into one verb.

What's New

fetch tool

A single fetch tool, registered alongside search, that resolves any reference search emits to full content. It dispatches by reference form across all six reference-emitting sources:

Reference form Source Returns
mcp:knowledge_page:<id> knowledge pages full markdown body
urn:li:document:<id> context documents full document body (the only MCP path to it)
urn:li:dataset:<id> catalog the dataset's catalog context
mcp:asset:<id> assets the asset's metadata record (blob bytes stay in S3)
mcp:prompt:<id> prompts the full prompt
mcp:connection:(kind,name) connections the connection descriptor

Memory, insights, feedback, and endpoints emit no reference and are not fetch targets. The tool description explains the two reference namespaces (urn:li:... external DataHub, mcp:... internal) and notes that a well-formed reference held from another tool is fetchable, not only one search produced.

Semantic layer: full document retrieval

GetDocument(urn) returns the full document body (not the search snippet) through DocumentSearcher, the DataHub adapter, the instrumented client, and the cache decorator, backed by the upstream dhclient.GetDocument.

Guidance

The platform instruction baseline now names fetch when the persona can reach it.

Scope and access model

  • Per-user content is permission-scoped and fails closed. Assets are scoped by owner UserID; prompts are gated on approved && enabled then global/persona/owner visibility. A miss and an out-of-scope reference both return not-found, so existence does not leak. fetch is gated by the same deny-by-default per-persona tool authorization and is audited by tool name like every tool.
  • Global catalog content (datasets, context documents, knowledge pages, connection metadata) is returned to anyone who can call the tool, exactly what search already exposes. fetch adds no new exposure.
  • Stale citations (deleted dataset or asset, draft document, retired prompt) read as a structured found: false rather than a hard failure, so existing references degrade gracefully.

Documentation

README, docs/server/tools.md, docs/llms.txt, and docs/llms-full.txt updated.

Changelog

  • ee1c219: feat(knowledge): add universal fetch tool to read any search result by reference (#694) (#698) (@cjimti)

Full Changelog: v1.91.0...v1.92.0

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.92.0

Verification

All release artifacts are signed with Cosign. Verify with:

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