Skip to content

Releases: danieliser/codemode-unified

v0.2.0: Checksum-based MCP Type Validation

02 Oct 10:37

Choose a tag to compare

🎉 What's New

Intelligent MCP type validation with automatic regeneration, improving startup performance and ensuring type safety across all connected MCP servers.

✨ Features

Checksum-Based Type Validation

  • FNV-1a hash algorithm for deterministic tool signatures
  • Automatic detection of MCP tool changes (add/remove/modify)
  • Smart regeneration - only when tools actually change
  • Persistent checksum storage in generated/mcp.d.ts.checksum
  • ~2-3s faster startup when types unchanged

Configurable Type Distribution

  • Environment variable: CODEMODE_TYPE_COPY_PATH (comma-separated paths)
  • API: CodeGenOptions.copyToPath parameter (string | string[])
  • Portable design with no hardcoded paths
  • Support for multiple copy destinations

Enhanced Developer Experience

  • Updated agent instructions: MUST read mcp://types/declarations resource
  • Comprehensive debug logging for connections and tool discovery
  • Clear error reporting and warnings
  • Better MCP server connection status visibility

🔧 Changes

  • MCP SDK Upgrade: 0.4.0 → 1.18.2
    • Protocol version compatibility (2025-06-18)
    • Updated Server constructor API
    • Improved connection stability

🐛 Fixes

  • MCP type declarations auto-regenerate when new servers connect
  • Protocol version compatibility with modern MCP servers
  • TypeScript declarations stay synchronized across all connected servers

💥 Breaking Changes

  • Server constructor updated for MCP SDK v1.18.2 (now requires separate options parameter)

📊 Impact

Before (v0.1.0)

  • 3 MCP servers, 9 tools, 281 lines of types
  • Always regenerated on startup

After (v0.2.0)

  • 5 MCP servers, 158 tools, 3,798 lines of types
  • Smart regeneration with checksum validation
  • Configurable type distribution

🚀 Migration

npm install @danieliser/codemode-unified@0.2.0

Optional: Configure type copying in .mcp.json:

{
  "codemode-unified": {
    "env": {
      "CODEMODE_TYPE_COPY_PATH": "/path/to/types.d.ts"
    }
  }
}

📝 Full Changelog

See CHANGELOG.md for complete details.