mcp-data-platform-v0.12.1
Overview
This release focuses on fixing audit logging functionality, introducing database migrations with golang-migrate, and updating dependencies.
Bug Fixes
Fix Audit Logging - Populate Missing PlatformContext Fields (#49)
Audit logging was not capturing complete context because MCPToolCallMiddleware only set ToolName in the PlatformContext. The following fields were missing:
ToolkitKind(e.g., "trino", "datahub", "s3")ToolkitName(e.g., "production", "cloudsent")PersonaName(e.g., "analyst", "admin")Connection(e.g., "prod-trino", "main-datahub")
Changes:
- Added
ToolkitLookupinterface for toolkit metadata retrieval - Added
Connection()method toToolkitinterface - Implemented
GetToolkitForTool()on Registry - Updated
Authorizerinterface to return persona name MCPToolCallMiddlewarenow populates all context fields
Audit logs now include complete context:
{
"timestamp": "2024-01-15T10:30:00Z",
"request_id": "req-abc123",
"user_id": "user@example.com",
"persona": "analyst",
"tool_name": "trino_query",
"toolkit_kind": "trino",
"toolkit_name": "production",
"connection": "prod-trino",
"success": true,
"duration_ms": 150
}New Features
Database Migrations with golang-migrate (#48)
Introduced proper database migration support using golang-migrate:
- Migrations are embedded in the binary using Go embed
- Automatic migration on startup when database is configured
- Support for up/down migrations
- Migration files located in
pkg/database/migrate/migrations/
Current migrations:
000001_oauth_clients- OAuth client storage000002_audit_logs- Audit log storage
Breaking Changes
Authorizer Interface
The Authorizer interface signature changed from 2 return values to 3:
// Before
IsAuthorized(...) (authorized bool, reason string)
// After
IsAuthorized(...) (authorized bool, personaName string, reason string)Toolkit Interface
The Toolkit interface now requires a Connection() method:
type Toolkit interface {
Kind() string
Name() string
Connection() string // NEW
// ... other methods
}Dependency Updates
| Dependency | From | To |
|---|---|---|
github.com/golang-jwt/jwt/v5 |
5.3.0 | 5.3.1 |
github.com/lib/pq |
1.10.9 | 1.11.1 |
| Alpine base image | 3.21 | 3.23 |
| Go base image | 1.24-alpine | 1.25-alpine |
CI/CD Updates
- Bump
docker/login-actionfrom 3.6.0 to 3.7.0 - Bump
github/codeql-actionfrom 4.31.11 to 4.32.0
Upgrade Notes
- Custom Authorizer Implementations: Update to return 3 values instead of 2
- Custom Toolkit Implementations: Add
Connection() stringmethod - Database: Migrations run automatically on startup - no manual action needed
Full Changelog
- Fix Audit Logging - Populate Missing PlatformContext Fields (#49)
- Database Migrations with golang-migrate (#48)
- deps: bump github.com/golang-jwt/jwt/v5 from 5.3.0 to 5.3.1 (#44)
- deps: bump github.com/lib/pq from 1.10.9 to 1.11.1 (#43)
- docker: bump alpine from 3.21 to 3.23 (#45)
- docker: bump golang from 1.24-alpine to 1.25-alpine (#42)
- ci: bump docker/login-action from 3.6.0 to 3.7.0 (#41)
- ci: bump github/codeql-action from 4.31.11 to 4.32.0 (#46)
Changelog
Others
- d05209d: Database Migrations with golang-migrate (#48) (@cjimti)
- 00b3484: Fix Audit Logging - Populate Missing PlatformContext Fields (#49) (@cjimti)
- 3b1ff5a: ci: bump docker/login-action from 3.6.0 to 3.7.0 (#41) (@dependabot[bot])
- 5abdd96: ci: bump github/codeql-action from 4.31.11 to 4.32.0 (#46) (@dependabot[bot])
- 30e1c48: deps: bump github.com/golang-jwt/jwt/v5 from 5.3.0 to 5.3.1 (#44) (@dependabot[bot])
- 29f5500: deps: bump github.com/lib/pq from 1.10.9 to 1.11.1 (#43) (@dependabot[bot])
- 41ec1b7: docker: bump alpine from 3.21 to 3.23 (#45) (@dependabot[bot])
- 5f5007b: docker: bump golang from 1.24-alpine to 1.25-alpine (#42) (@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:v0.12.1Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_0.12.1_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_0.12.1_linux_amd64.tar.gz