mcp-data-platform-v1.70.0
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_specsand 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_browse → trino_describe_table and datahub_search → datahub_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-platformClaude Code CLI
claude mcp add mcp-data-platform -- mcp-data-platformDocker
docker pull ghcr.io/txn2/mcp-data-platform:v1.70.0Verification
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.gzFull changelog: v1.69.1...v1.70.0