Skip to content

mcp-data-platform-v1.70.0

Choose a tag to compare

@github-actions github-actions released this 30 May 08:20
· 57 commits to main since this release
e8e4c1c

Maintenance and feature release. Adds API-gateway spec discovery, a unified OAuth connection-config schema, deeper observability metrics, and a knowledge changeset rollback fix. Includes two database migrations that run automatically and require no operator action.

Highlights

  • api_list_specs and a multi-spec gate make large, multi-section API catalogs cheap for an agent to navigate.
  • One OAuth connection-config schema across every toolkit kind, with an automatic, invisible migration of existing connections (no re-authentication).
  • Toolkit and connection-pool metrics plus example Kubernetes scrape, recording, and alert manifests.
  • Real changeset rollback in the knowledge layer.

Upgrade notes

This release applies two database migrations on startup. Both are automatic; no operator action is required.

Migration Effect
000049 Adds title / description columns to api_catalog_specs. Additive only, no data rewrite.
000050 Rewrites api-kind OAuth connection config from the legacy oauth2_* keys to the canonical oauth_* schema.

The OAuth rewrite is invisible to operators and requires no re-authentication: OAuth tokens are keyed by connection (kind + name), not by config-key names, so existing access and refresh tokens are preserved. Encrypted client secrets are moved verbatim. Non-OAuth connections (bearer, api_key, basic, mTLS) are untouched. The migration is idempotent and reversible. The toolkits also accept the legacy oauth2_* keys as a deprecated fallback for one release, so file-configured connections continue to work while they are migrated.

Features

API gateway: spec discovery and the multi-spec gate (#418)

New MCP tool api_list_specs returns one summary per component spec in a connection's catalog (name, title, description, operation_count, base_path). It is the "list before drill" step for multi-section APIs, mirroring trino_browsetrino_describe_table and datahub_searchdatahub_get_entity. No tools are generated per spec or per endpoint; a nine-spec catalog still adds exactly one tool.

api_list_endpoints now gates on multi-spec catalogs: when the connection bundles more than one component spec and the caller omits spec, the response returns the spec summaries plus a note instead of the full operation set, so an agent narrows to one section before pulling hundreds of operations. Single-spec catalogs and explicit spec=<name> calls are unchanged.

Operators can set per-spec title and description overrides (migration 000049); empty values derive from the spec's info.title / info.description. Exposed on the catalog spec editor and the admin REST API.

Unified OAuth connection-config schema (#408)

The api-gateway (kind=api) and mcp gateway (kind=mcp) toolkits now share a single OAuth configuration vocabulary. Previously the api toolkit used an oauth2_* key prefix with the grant encoded in auth_mode (oauth2_authorization_code / oauth2_client_credentials) and scopes as an array, while the mcp toolkit used the canonical oauth_* prefix with auth_mode: oauth + oauth_grant and a space-delimited scope string. Both now parse through one shared connoauth.ParseConfig, so an OAuth connection is configured the same way regardless of kind, and a future toolkit kind inherits the schema for free.

Existing api-kind connections are migrated automatically (see Upgrade notes). The legacy keys remain accepted as a deprecated fallback, scheduled for removal in a future release.

Observability: toolkit and connection-pool metrics (#461, #463)

Adds metrics for the Trino, DataHub, and S3 toolkits, OAuth refresh, and database/sql connection-pool saturation, exported through the existing Prometheus surface. Ships example Kubernetes manifests for Prometheus scrape config, recording rules, and alert rules, plus docs/observability.md. Connection-pool saturation and upstream latency are now visible without log correlation.

Bug Fixes

Knowledge: changeset rollback and list_changesets (#492)

apply_knowledge gains a rollback action that reverts an applied changeset and a list_changesets action to enumerate them, backed by a shared revert engine also used by the admin REST endpoint. Rollback inverts the recorded changes against DataHub from the changeset before-image, and refuses when the changeset is already rolled back or conflicts with a newer changeset.

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

Verification

All release artifacts are signed with Cosign. Verify with:

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

Full changelog: v1.69.1...v1.70.0