Skip to content

mcp-data-platform-v0.15.2

Choose a tag to compare

@github-actions github-actions released this 09 Feb 07:13
· 376 commits to main since this release
7cb4300

Fixes a crash-on-restart bug introduced in v0.15.1 when OAuth PostgreSQL storage was added. The server would fail to start a second time because pre-registered OAuth clients hit a unique constraint violation on INSERT. Clients are now upserted, so config changes (redirect URIs, secret rotation) also take effect on restart without manual database cleanup.

Bug Fixes

OAuth client registration crash (#78)

CreateClient in pkg/oauth/postgres/store.go used a plain INSERT INTO oauth_clients which fails with a unique constraint violation on client_id when the server starts a second time against the same database. With in-memory storage this never triggered because the map was empty on restart.

Changed to INSERT ... ON CONFLICT (client_id) DO UPDATE SET so:

  • First startup inserts the client
  • Subsequent startups update the client with current config values
  • bcrypt re-hashes the secret each startup (different salt), which is fine since bcrypt.CompareHashAndPassword works regardless of which hash is stored

Zero-value created_at on OAuth clients

The oauth.Client struct in platform.go:initOAuth() was missing CreatedAt, storing 0001-01-01 00:00:00+00 in PostgreSQL. Now set to time.Now().

Upgrading from v0.15.1

No configuration changes needed. Drop-in replacement.

Changelog

Bug Fixes

Others

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:v0.15.2

Verification

All release artifacts are signed with Cosign. Verify with:

cosign verify-blob --bundle mcp-data-platform_0.15.2_linux_amd64.tar.gz.sigstore.json \
  mcp-data-platform_0.15.2_linux_amd64.tar.gz