mcp-data-platform-v0.13.0
Unified HTTP Transport
- Unified HTTP server serves both SSE (
/sse,/message) and Streamable HTTP (/) transports from a single entry point - Added
StreamableConfig(session_timeout,stateless) toServerConfigwith YAML support and sensible defaults - Added token bridging in MCP middleware to extract auth tokens from Streamable HTTP
RequestExtraheaders - Added shared token context key between
pkg/authandpkg/middlewarefor cross-package interoperability - Updated CORS headers for Streamable HTTP protocol requirements (
Mcp-Session-Id,DELETEmethod) - Renamed transport flag from
ssetohttp(backward compatible)
Test Quality Remediation
- Removed 20 tautological struct-readback tests that tested Go compiler behavior rather than application logic
- Moved phantom
newAuditStoreAdapterWithStorefunction from production code to test file - Added 10 platform unit tests covering nil config handling, default timeouts, noop authenticator fallback, signing key boundaries, and close-with-nil-store
- Added 4 middleware chain integration tests using real
mcp.Server+AddReceivingMiddleware+ in-memory transport:- Semantic enrichment injects DataHub context into Trino responses
- Query context injection adds Trino availability to DataHub search results
- Default-deny persona blocks unauthorized tool calls (fail-closed)
- Full-stack test validates all middleware layers execute in correct order
- Strengthened security-critical OAuth tests: token rotation proof, auth code entropy check,
ExpiresInvalidation,AccessToken != RefreshToken - Strengthened audit event test to verify all 12 fields survive JSON round-trip
Tooling
- Added
make dead-codetarget for unreachable function analysis - Added
make mutatetarget for mutation testing via gremlins - Updated
make verifyto include dead code analysis - Added AI Verification Requirements section to CLAUDE.md
Documentation
- Fixed all stale SSE-as-transport references across README, CLAUDE.md, and docs
- Added
server.streamableconfig section to configuration reference - Replaced manually maintained changelog with link to GitHub Releases
- Updated
llms.txtandllms-full.txtfor transport rename and streamable config
Pull Requests
- #51 Housekeeping/docs cleanup
- #52 Update Documentation for HTTP Transport Naming
- #53 Unify HTTP transport & fix documentation gaps
- #54 Remove tautological tests, add integration tests and mutation targets
Changelog
Others
- e5072da: Housekeeping/docs cleanup (#51) (@cjimti)
- be23047: Remove tautological tests, add integration tests and mutation targets (#54) (@cjimti)
- 65994ac: Unify HTTP transport & fix documentation gaps (#53) (@cjimti)
- cfdf205: Update Documentation for HTTP Transport Naming (#52) (@cjimti)
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.13.0Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_0.13.0_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_0.13.0_linux_amd64.tar.gz