Releases: Kymo-MCP/mcpcan
Release v2.1.4
Release Notes
Scope: fix/v2.1.3 ... HEAD
Rules: commits matching
Merge branch...and version-bump-only changes are excluded.
🐛 Bug Fixes
- Fixed MCP failures caused by incorrect stdio proxy transport mapping: MCP config generation for AI sessions now prioritizes
proxyProtocoland falls back to URL suffix detection (/mcpvs/sse). Backend now auto-corrects transport whentypeconflicts with the gateway URL, preventingtype=sse + /mcpfrom returning HTTP 400. (048c259) - Improved MCP gateway URL normalization and tool-call compatibility: Refined gateway URL normalization and added compatibility adjustments for LLM tool calling, reducing MCP initialization failures in containerized and gateway deployments. (
f93c3ac) - Hardened OpenAPI import flow and aligned deployment image configuration: Fixed validation and error-handling paths in OpenAPI import and instance creation, added Kubernetes label/file validation tests, and synchronized image settings across Helm and Docker Compose. (
5b9daf5) - Improved proxy-instance handling and deployment defaults: Enhanced proxy-mode instance parameter handling, initialization behavior, token-related flows, and frontend/backend boundary handling for proxy forms and JSON parsing. (
1ea2690)
🔧 Chore
- None.
Release v2.1.3
Release Notes
Changes: v2.1.2 ... fix/v2.1.3
🐛 Bug Fixes
- OpenAPI Import Flow Hardening: Improved OpenAPI import handling in backend/frontend integration to reduce parsing and dialog workflow inconsistencies in MCP instance import scenarios. (
1e1ccce)
🏗️ Build & Release
-
CCR Publishing Policy Update: Updated build/push policy so CCR publishing follows amd64-only constraints while Docker Hub keeps multi-arch support where required. (
1e1ccce) -
v2.1.3 Release Preparation: Release preparation and branch stabilization updates for v2.1.3. (
5a1de6e)
Release v2.1.2
Release Notes
Changes: v2.1.1 ... v2.1.2
🐛 Bug Fixes
-
Intelligent Agent Sync Callback Domain Fix: Fixed the "domain is required" error that occurred when synchronizing MCP instances to platforms such as Dify, Coze, and N8N. The root cause was the backend's unreliable reliance on the
Market.Hostenvironment variable, which was empty in most Proxy/Hosting deployments. The domain is now injected directly from the frontend viawindow.location.originand carried through the API request payload, enabling the backend to correctly construct callback URLs without any environment variable dependency. (beefa15) -
LLM Streaming Tool Call JSON Parameter Collision Fix: Fixed a bug where multiple concurrent tool calls in a streaming LLM response were incorrectly merged into a single call due to a missing
indexfield to distinguish them. This primarily affected models like MiniMax and caused 400 API errors. Added an*inttypedindexfield to theoaiToolCallstruct to correctly group and accumulate streaming chunks per individual tool call. (60b32ae)
🔧 CI/CD & Chore
-
Switch Release Trigger from Main Branch Push to Tag Push: Updated the GitHub Actions Release workflow trigger from pushing to the
mainbranch to pushing a version tag matchingv*.*.*. This prevents accidental releases triggered by routine code merges, while retaining theworkflow_dispatchoption for manual re-runs. (0e37330) -
Version Bump to v2.1.2: Updated the
VERSIONfile and the image tags in the Helm Chartvalues.yamltov2.1.2. (6d72f06)
Release v2.1.1
Release Notes
Scope: main ... HEAD (v2.1.1)
🚀 Features
- [gateway]: Enhanced
ProxyHandlerrequest logging to support auditing and interception of structured MCP Tool invocations and responses. (93b07d3) - [frontend]: Added a version number and workflow indicator section to the user's sidebar menu, providing better visibility for enterprise and private-deployment customers. (ca1f97c)
- [openapi]: Officially introduced comprehensive support for external enterprise OpenAPI mirrored instances, including dynamic routing fixes and robust UI optimizations. (8aa465b)
- [template]: Unified the Proxy and Host proxy form models, introducing a new module for mounting passthrough request headers. (a6da165)
- [openapi]: Underlying engine now officially supports appending passthrough interception headers to standard OpenAPI instances. (876ef24)
🐛 Bug Fixes
- [frontend]: Added the missing
__COMMIT_HASH__global environment declaration to the TS environment, resolving a major production build failure caused by type-check loop breakage. (0d59a20) - [enterprise]: Refactored to break a dead-lock loop dependency stack when triggering Vite HMR components from the request initiator layer; fixed the
/user-with-roleout-of-bounds 403 route interception and corrected fine-grained enterprise operation directives. (41831a5) - [frontend]: Rectified the flawed route guard mechanism's misjudgment of non-menu whitelists. Forced access validation is now strictly enforced only within actual menu pages. (98563c6)
- [openapi]: The backend no longer forcefully overrides internal network path concatenations. The frontend's OpenAPI invocation links safely degrade to a path-less root trigger model to circumvent 504 Gateway errors. (ed5c61b)
- [k8s]: Resolved sidecar communication issues and pod namespace preemption conflicts that led to missing or dropped OpenAPI DNS deliveries causing unreachable deadlocks. (01f2b6d)
- [k8s]: Repaired the external communication gap for API models based on solid Sidecar namespace deductions and internal port overlaps. (c19ee05)
- [k8s]: Implemented idempotent replacements to eliminate Deployment reconstruction storms under high-frequency concurrent operations, injecting debounce thresholds on the frontend UI to resist invalid rapid clicks. (5fba403)
- [k8s]: Adjusted the recreation model to Background deletion policy to sidestep the object-lifecycle race condition errors resulting from upstream Delete requests. (493f799)
- [k8s]: Added strategies including reconstruction spin-locks and exponential backoffs when discovering existing homonymous entities blocked by lingering deletion connections during the Foreground clearing interval. (e8284e3)
- [template]: Removed legacy Notes guard clauses. Now, any access to the
/api/marketgateway domain forcefully stimulates a configuration update to prevent stalling from aging states. (ae32a1f) - [template]: Shifted the focus down to YAML configuration distribution node mounts, detaching from the internally hardcoded
openapi_base_url. (4b20fcd) - [init]: Appended a backdoor script to automatically synchronize the current version's
openapi_file_idbackwards to accommodate all deprecated or offline template base resource pools. (3703711) - [openapi]: All routes now automatically prepend correct gateway directive prefixes like
/api, enabling end-users to pair proxy link pools merely by passing the corresponding principal host domains. (0f0f4ec) - [gateway]: Debugged and severed a vulnerability where the gateway prematurely truncated overly long response payload packets, while extending the audit log expiration tolerance to 7 days. (5ccb204)
- [gateway]: Reattached and patched the GatewayLog processing hooks at the gateway layer, eliminating potential 404 hazards caused by double slashes arising from OpenAPI base addresses with trailing slashes. (feb409b)
- [k8s]: Alleviated frequent repetitive conflict rejection popups when making secondary updates to Service interfaces in the operations panel by utilizing idempotent object overlay patches. (5076a03)
- [k8s]: Enforced fetching limits exclusively targeting specific containers (e.g., openapi or sidecar) under the GetLogs interaction layer to avoid multi-container mix-ups making query APIs unable to distinguish log streams resulting in rejected signatures. (24c7f42)
- [openapi]: Correctly utilized
/bin/shas the embedded interactive layer to bypass container startup probe alarm reboot disconnections triggered when thebashruntime is unsupported by micro-images. (988a25b) - [k8s]: Fixed an issue by pushing down Traefik directive domains within underlying load mappings, now adopting annotations instead of labels to complete scheduling handshakes with externalized services. (6fea864)
♻️ Refactor
- [style]: Comprehensively optimized modules involving redundant parameter mounts when the backend directly passes through to the UI alongside secure display protocols for streamable inner-network connections. (ecdb3be)
📚 Documentation
- [docs]: Appended bilingual (Chinese/English) white-paper annotations covering internal template lifecycle logic and cross-container topological routing. (dfea43c)
Release v2.1
MCPCan v2.1 Release Notes
Major Version Notice: v2.x is a complete rewrite of v1.x. v1.x is end-of-life due to fundamental design flaws and will no longer receive any PRs, security patches, or bug fixes. Please migrate to v2.x immediately.
Scope: feature/v1.12 → feature/v2.1 (mcpcan + mcpcan-tools, 67+ commits)
⚠️ Breaking Changes: v1.x → v2.x
Full reinstall is required. In-place upgrades are not supported.
| Area | v1.x (Old) | v2.x (New) | Impact |
|---|---|---|---|
| Gateway Architecture | Standalone global mcp-gateway service |
Traefik Sidecar injected per-instance; mcp-gateway removed |
Breaking — requires full Helm reinstall |
| Initialization Service | Dedicated mcp-init container |
Init logic merged into mcp-market startup; mcp-init removed |
Breaking — remove init from deployment |
| Image Strategy | Separate open-source / enterprise images | Single image with runtime CODE_MODE env var switch |
Breaking — update image pull strategy |
| Helm Chart | mcpcan-deploy repo, chart name mcpcan-deploy |
Merged into main repo mcpcan/deploy, chart name mcpcan |
Breaking — re-add Helm repo |
| Repository URLs | Codeup / Gitee | Migrated to GitHub Kymo-MCP org |
Re-clone or update remotes |
| Service Boot Order | No ordering constraint | mcp-authz requires mcp-market ready (initContainer wait) |
Handled automatically on first deploy |
| Menu/Permission Data | Manually seeded by mcp-init |
mcp-market idempotently syncs menus on startup (incl. Enterprise menus) |
No manual action needed |
| CodeMode Constant | No unified convention | Must use EnterpriseCode (not Enterprise) |
Update deployment scripts |
🏗️ Refactor
refactor(gateway): Replace globalmcp-gatewaywith per-instance Traefik Sidecar architecture, eliminating single-point-of-failure (e55e5a7)refactor(ee): Single-image enterprise toggle viaCODE_MODE=EnterpriseCodeenv var; no more dual-release images (5e68c68)refactor: Centralize container image name generation; unify Sidecar suffix and service naming conventions (1888a53,5f4d8f3)refactor: Market module init and data seeding fully consolidated intobizlayer;mcp-initservice retired (9a5adfe)refactor: Standardize container image tags tolatest, remove platform-specific container config redundancy (6235a22)refactor: Improved API error handling with dynamic HTTP status codes and URI parameter support for instance IDs (3068ba9)
🚀 Features
Gateway & Authentication
- Traefik gateway integration: Dynamic routing and authentication with per-instance Sidecar injection (
faa2537) - Enhanced gateway auth: Detailed request info extraction, hierarchical header management, DB logging for auth events (
ddb07e6,6fb9d85) toolNamefield in gateway logs: Filter logs by tool name (c53af79)X-Mcp-Authorizationheader: Fallback token retrieval mechanism (27b83a6)- Gateway proxy handler: Configurable service name with updated auth middleware for gateway routes (
864dd69)
Container & Instance Management
- Sidecar proxy + hosting modes: Docker create/copy workflow with ARM64 support (
3f38a02) - Docker multi-platform support: Config file injection for containers and sidecars, independent AMD64/ARM64 builds (
4bc5da8,509b70a) - Dynamic port configuration: Sidecar and hosting service ports configurable via environment variables (
9dae8e6,7717bdd) - New frontend MCP client: Full support for Streamable HTTP and SSE protocols, integrated into debug tools (
0c38a70)
Enterprise Edition
- Enterprise code mode: Admin department initialization + GORM data-permission plugin registration (
3be721b) - Enterprise environment config: Development defaults to OpenCode; dedicated enterprise config provided (
5008a55) CODE_MODEHelm injection:mcp-marketandmcp-authzreceive CodeMode via unified global Helm value (460d4c3)- Enterprise permission menu auto-sync:
mcp-marketidempotently writesmcpcan_rbac_manageand related system menus on startup based onCODE_MODE
Infrastructure
- Helm Chart consolidation:
mcpcan-deployrepo merged into main repomcpcan/deploy; chart name unified asmcpcan(4340903) - CI/CD integration: Helm chart deployment integrated into main release workflow (
663bae2) - Static asset decoupling: System
/staticand user upload directories separated to prevent volume overwrites (b58945a,9693882) - Local dev hot-reload: Air hot-reload + Docker Compose local development environment (
2c1cabe,252756e) - Frontend auth context:
useAuthhook with automatic redirect to login for unauthenticated users (ffa8d07) - OpenCode mode frontend: Menu display and route auth separated by CodeMode (
141e7da)
mcpcan-tools Submodule
- mcp-sidecar proxy service: New implementation with multi-architecture build support (
f55d5ac) - Multi-platform image builds:
openapi-mcpandmcp-hostingsupport AMD64/ARM64 multi-arch pushes (fdb4a9d) - SSE endpoint rewriting: Use
ModifyResponsefor more robust SSE path handling (9813345)
🐛 Bug Fixes
- Container URL routing fix: Sidecar container URL routed correctly; hosting protocol uses root path (
6f3d431) - Docker env config field fix: Correctly populate Docker environment configuration and pass ID to connection handler (
3b0e801) - Dockerfile build context fix: Standardize source copy to use current build context (
7c69593)
⚡ Performance
- Frontend Dockerfile multi-stage cache: Reduce redundant layer builds, speed up CI builds (
9e11ea7) - Kubernetes internal URL normalization: Automatic instance access path normalization, reducing routing errors (
252756e) - Makefile multi-arch refactor: Independent AMD64/ARM64 compilation with separate registry pushes and parallel build support (
d940953in mcpcan-tools)
📚 Documentation
- Full new documentation: Covers installation, configuration, and features in both English and Chinese (
7f9b06f) - Helm deployment guide: Updated chart name from
mcpcan-deploy→mcpcan, pointing to main repo (9ba72b8) - Deployment instructions consolidated: Removed Gitee option, unified references to
mcpcan/deploydirectory (4525bd3)
🔧 Chore
- Version bump: v2.1 version number updated across all components (
c9abe46) - Cleanup: Removed redundant Dockerfiles, deprecated
mcp-init/mcp-gatewayHelm templates (a0dd608,8b8a752) - Repository migration: Migrated from Codeup to GitHub
Kymo-MCPorg;.gitmodulesupdated
📦 Migration Guide
# 1. Full uninstall required (no in-place upgrade)
helm uninstall <release-name> -n <namespace>
kubectl delete namespace <namespace>
# 2. Re-add Helm repo (chart name has changed)
helm repo add mcpcan https://kymo-mcp.github.io/mcpcan-mainsite
helm repo update
# 3. Install v2.x
helm install mcpcan mcpcan/mcpcan \
--set global.codeMode=OpenCode \ # Enterprise: EnterpriseCode
-n <namespace> --create-namespaceFor detailed migration documentation, see: docs/guide/install.md
Release v1.12
Release Notes
Range: origin/main ... HEAD
🚀 Features
- [AI Sessions & Models]: Introduced full AI session management and model permission control. Includes new
ai_model_access.protoandai_session.protointerface definitions, along with corresponding database models and MySQL storage implementations ([2493e6a]). - [Database Initialization]: Improved MySQL initialization logic to automatically handle the creation and maintenance of AI-related service tables ([dc7c71a]).
- [Logic Implementation]: Added
ai_model_accessandai_sessionservice modules to the backend, expanding the codebase by 700+ lines of logic ([dc7c71a]).
📚 Documentation
Release v1.10.2
Release Notes
🚀 Features
- Initialization: Added intelligent access, MCPCAN template, and OpenAPI document initialization. (c443abf, a0ef2df, 1578507)
- Protocol: Added STREAMABLE_HTTP support. (e0f453b)
- Market: Supported instance creation with market. (6b7a10a)
- Coze Integration: Supported personal UUID validation for Coze sync. (2ef029d)
- Templates: Updated template model. (80a306d, b024de1)
🐛 Bug Fixes
- Instance: Fixed access type check logic during restart/disable. (cb8feb2)
- Initialization: Fixed repeated OpenAPI base package initialization. (4767296)
- General: Fixed various operation issues. (75df227)
♻️ Refactor
- Initialization: Refactored MCP template initialization and standardized field values. (946784c, 2a786d0)
- Templates: Simplified deployment templates and removed environment association logic. (03887df, 7f2064d)
📝 Documentation & UI
- Copy & Guide: Optimized interface copy, access type descriptions, and proxy header priority explanation. (8b5530e, f3c7787, bb45aad, c866dad)
- I18n: Implemented and improved internationalization support. (c9aad7c, d8b8dcb, b494987, 5760964, 08d9280)
- SEO: Optimized index.html for SEO. (fe45dc9)
- Config: Added documentation for OpenAPI storage path. (ee4fe4e)
🔧 Chore
Release v1.10.1
Release Notes
🚀 Features
- Initialization: Added intelligent access, MCPCAN template, and OpenAPI document initialization. (c443abf, a0ef2df, 1578507)
- Protocol: Added STREAMABLE_HTTP support. (e0f453b)
- Market: Supported instance creation with market. (6b7a10a)
- Coze Integration: Supported personal UUID validation for Coze sync. (2ef029d)
- Templates: Updated template model. (80a306d, b024de1)
🐛 Bug Fixes
- Instance: Fixed access type check logic during restart/disable. (cb8feb2)
- Initialization: Fixed repeated OpenAPI base package initialization. (4767296)
- General: Fixed various operation issues. (75df227)
♻️ Refactor
- Initialization: Refactored MCP template initialization and standardized field values. (946784c, 2a786d0)
- Templates: Simplified deployment templates and removed environment association logic. (03887df, 7f2064d)
📝 Documentation & UI
- Copy & Guide: Optimized interface copy, access type descriptions, and proxy header priority explanation. (8b5530e, f3c7787, bb45aad, c866dad)
- I18n: Implemented and improved internationalization support. (c9aad7c, d8b8dcb, b494987, 5760964, 08d9280)
- SEO: Optimized index.html for SEO. (fe45dc9)
- Config: Added documentation for OpenAPI storage path. (ee4fe4e)
🔧 Chore
Release v1.10.0
Release Notes
🚀 Features
- Initialization: Added intelligent access, MCPCAN template, and OpenAPI document initialization. (c443abf, a0ef2df, 1578507)
- Protocol: Added STREAMABLE_HTTP support. (e0f453b)
- Market: Supported instance creation with market. (6b7a10a)
- Coze Integration: Supported personal UUID validation for Coze sync. (2ef029d)
- Templates: Updated template model. (80a306d, b024de1)
🐛 Bug Fixes
- Instance: Fixed access type check logic during restart/disable. (cb8feb2)
- Initialization: Fixed repeated OpenAPI base package initialization. (4767296)
- General: Fixed various operation issues. (75df227)
♻️ Refactor
- Initialization: Refactored MCP template initialization and standardized field values. (946784c, 2a786d0)
- Templates: Simplified deployment templates and removed environment association logic. (03887df, 7f2064d)
📝 Documentation & UI
- Copy & Guide: Optimized interface copy, access type descriptions, and proxy header priority explanation. (8b5530e, f3c7787, bb45aad, c866dad)
- I18n: Implemented and improved internationalization support. (c9aad7c, d8b8dcb, b494987, 5760964, 08d9280)
- SEO: Optimized index.html for SEO. (fe45dc9)
- Config: Added documentation for OpenAPI storage path. (ee4fe4e)
🔧 Chore
Release v1.9.0
Release Notes
🚀 Features
- Debug Tools: Implemented comprehensive debug tools, including schema forms, tool lists, and run status indicators. (89817db, ea88c60, 0d934d3)
- UI/UX: Added search tips and internationalization support (en/zh-cn). (a431880, 8b8c647, c1b65f4)
- Templates: Supported multiple languages and protocol configurations in template data. (81f885e)
🐛 Bug Fixes
- Validation: Added length restriction for MCP names. (6c0edcb)
- Instance ID: Fixed InstanceID to be strictly lowercase. (26680c8)
- Frontend: Fixed domain handling logic. (7d23f64, 7e68134)
♻️ Refactor
- Init Data: Updated code package configurations and replaced example files. (13fd47e)
- Configuration: Simplified template configuration file and updated Amap documentation link. (b3a0ee6)
🔧 Chore
- Assets: Added static image resources for MCP system monitor. (adfe1b8)