Releases: AmoyLab/Unla
v0.9.0
📦 Unla v0.9.0
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
✨ 特性
- 集成 OpenTelemetry 链路追踪,支持 Jaeger 配置,可捕获下游请求与错误
- MCP 能力增强:新增日志与资源管理支持;后台定时抓取与缓存能力(可配置刷新间隔与缓存 TTL)
- Web 前端:开发环境新增安全代理目标配置;能力查看页面渲染与类型优化
- 模板工具:新增
safeGet与safeGetOr,安全访问嵌套字段 - 支持 Google/GitHub OAuth 登录
🐞 修复
- 修复能力筛选初始化数组为空导致的问题
- 增量同步中确保最新配置覆盖顺序正确
- 调整未实现的资源获取日志级别为 debug,减少噪音
- GitHub Actions 工作流事件修复(pull_request_target → pull_request)
🧹 重构
NewServer使用函数式可选项,简化可选配置(追踪、前向代理等)- 移除磁盘存储实现
- 前端类型与导入顺序优化,条件表达式简化
📘 文档:https://docs.unla.amoylab.com/
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
✨ Features
- Integrate OpenTelemetry tracing with Jaeger configuration; capture downstream requests and errors
- MCP capabilities: add logging and resource management; background periodic fetch and caching (configurable refresh interval and TTL)
- Web: add safe proxy target for development; improve capability viewer types and rendering
- Template helpers: add
safeGetandsafeGetOrfor nil-safe nested access - Add OAuth authentication with Google and GitHub
🐞 Fixes
- Initialize capability filter arrays to avoid undefined
- Ensure latest config updates apply last in incremental sync
- Downgrade unimplemented resource fetching logs to debug level
- Fix GitHub Actions event (pull_request_target → pull_request)
🧹 Refactor
- Use functional options in
NewServerfor optional configs (tracing, forward proxy, etc.) - Remove disk storage implementation
- Improve frontend type definitions and import order; simplify filter conditions
📘 Docs: https://docs.unla.amoylab.com/
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community: https://discord.gg/udf69cT9TY
🔗 Scan to join WeChat group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
- feat: add tool annotation by @qiankunli in #226
- skip empty arguments (#2) by @Divyanshubansaldb in #211
- fix: Ensure latest config updates apply last in incremental sync by @minhyannv in #231
- feat: handle ping request with an empty response in streamable by @KamToHung in #233
- Feature/mcp capabilities sync by @x22x22 in #245
- refactor(web): reorder imports and enhance type definitions in Capabi… by @x22x22 in #248
- feat(tracing): integrate OpenTelemetry tracing support with configuration options for Jaeger, including downstream request and error capture by @iFurySt in #252
New Contributors
- @minhyannv made their first contribution in #231
- @x22x22 made their first contribution in #245
Full Changelog: v0.8.6...v0.9.0
v0.8.6
📦 Unla v0.8.6
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
✨ 特性
- 添加前向头部支持
- 支持透明头部传递
🐞 修复
- 删除默认投递头部
- 修复空透明头部问题
- 删除日志中的头部信息
- 删除无用文件
- 防止 Chrome 在搜索和 API 密钥输入中自动填充密码 (#182)
- 使用运行时直接网关修饰符 (#1)
- 升级 @heroui/react 从 2.7.9 到 2.7.11
- 修复构建后的 web 渲染问题
📘 文档:https://docs.unla.amoylab.com/
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
✨ Features
- Add forward headers support
- Support transparent headers
🐞 Bug Fixes
- Remove deliver default header
- Fix empty transparentHeaders
- Remove header in log
- Remove unused file
- Prevent Chrome from autofilling password in search and API key inputs (#182)
- Use runtime direct gateway modifier (#1)
- Upgrade @heroui/react from 2.7.9 to 2.7.11
- Fix web rendering issue after build
📘 Docs: https://docs.unla.amoylab.com/
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
- [Snyk] Upgrade @heroui/react from 2.7.9 to 2.7.11 by @iFurySt in #195
- Use runtime direct gateway modifier (#1) by @Divyanshubansaldb in #199
- fix: Prevent Chrome from autofilling password in search and API key inputs by @Gerrit1999 in #202
- Feat remove unused file by @LeoLiuYan in #206
- feat: support transparent-headers by @qiankunli in #207
New Contributors
- @Divyanshubansaldb made their first contribution in #199
- @Gerrit1999 made their first contribution in #202
Full Changelog: v0.8.5...v0.8.6
v0.8.5
📦 Unla v0.8.5
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
🔧 其他
- 修复:删除无用的rollup选项以解决构建问题 (#198)
📘 文档:https://docs.unla.amoylab.com/
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
🔧 Others
- Fix: Delete useless rollup options to fix build issues (#198)
📘 Docs: https://docs.unla.amoylab.com/
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
Full Changelog: v0.8.4...v0.8.5
v0.8.4
📦 Unla v0.8.4
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
⚡ 改进
- 从npm迁移到pnpm包管理器,提升依赖管理效率
- 更新Rollup和Vite版本,增强构建性能和代码分割
- 增强OpenAPI导入功能,支持租户验证和租户选择
- 改进租户选择逻辑和网关管理器的用户体验
- 优化MultiSelectAutocomplete组件,新增maxVisibleItems属性
🔧 其他
- 修复:移除API baseURL中的v1前缀
- 修复:解决docker compose文件在旧版本docker-compose二进制上的运行错误
- 优化:重构Layout组件导入结构,提升代码可读性
- 优化:改进GitHub工作流配置,安装特定pnpm版本并启用缓存
- 更新:调整API服务器端口和MCP网关配置以保持一致性
- 更新:增强运行时配置处理和环境变量配置
- 更新:登录页面标题更新为"Unla - MCP Gateway"
📘 文档:https://docs.unla.amoylab.com/
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
⚡ Improvements
- Migrate from npm to pnpm package manager for improved dependency management efficiency
- Update Rollup and Vite versions to enhance build performance and code splitting
- Enhance OpenAPI import functionality with tenant validation and tenant selection support
- Improve tenant selection logic and gateway manager user experience
- Optimize MultiSelectAutocomplete component with new maxVisibleItems property
🔧 Others
- Fix: Remove v1 prefix from API baseURL
- Fix: Resolve docker compose file runtime errors on older docker-compose binary versions
- Optimize: Refactor Layout component import structure for better code readability
- Optimize: Improve GitHub workflow configuration with specific pnpm version installation and caching
- Update: Adjust API server port and MCP gateway configuration for consistency
- Update: Enhance runtime configuration handling and environment variable setup
- Update: Login page title updated to "Unla - MCP Gateway"
📘 Docs: https://docs.unla.amoylab.com/
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
- 解决docker compose文件不指定版本时,在旧版本docker-compose二进制上运行报错问题 by @hevervie in #190
- fix: baseURL remove v1 by @KamToHung in #193
New Contributors
Full Changelog: v0.8.3...v0.8.4
v0.8.3
📦 Unla v0.8.3
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
⚡ 改进
- 聊天页面新增SystemPrompt和Authorization文本框功能
- 使用OPENAI_*环境变量创建默认LLM提供者
- 优化根元素渲染和加载屏幕显示效果
🔧 其他
- 重构:将路由前缀从'/mcp'更新为'/gateway'统一管理
- 修复:增强错误处理和改善SelectItem可访问性
- 更新系统提示的中英文翻译
- 添加系统提示相关API路由
- 清理和移除OpenAI配置相关文件
- 更新文档链接指向新URL
📘 文档:https://docs.unla.amoylab.com/
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
⚡ Improvements
- Add SystemPrompt and Authorization textbox functionality to chat page
- Create default LLM provider using OPENAI_* environment variables
- Optimize root element rendering and enhance loading screen display
🔧 Others
- Refactor: Update routing prefixes from '/mcp' to '/gateway' for unified management
- Fix: Enhance error handling and improve SelectItem accessibility
- Update system prompt translations for English and Chinese locales
- Add system prompt related API routes
- Clean up and remove OpenAI configuration files
- Update documentation links to point to new URL
📘 Docs: https://docs.unla.amoylab.com/
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
- add unit test by @KamToHung in #188
- Create default llm provider using env variables OPENAI_* by @boston008 in #184
- Chat page add SystemPrompt and Authorization Textbox by @boston008 in #180
Full Changelog: v0.8.2...v0.8.3
v0.8.2
📦 Unla v0.8.2
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
⚡ 改进
- 为LLM提供者和AI模型描述添加国际化支持
- 增加LLM配置菜单访问权限控制功能
- OpenAPI导入功能增加高级选项:tenant和prefix设置
- 支持多Redis地址分隔符配置
🔧 其他
- 重构统一session not found代码处理
- 整理和优化web端代码
📘 文档:https://mcp.ifuryst.com
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
⚡ Improvements
- Add internationalization support for LLM provider and AI model descriptions
- Add access control functionality for LLM config menu
- Add advanced options for OpenAPI import: tenant and prefix settings
- Support multi Redis address separator configuration
🔧 Others
- Refactor and align session not found code handling
- Clean up and optimize web frontend code
📘 Docs: https://mcp.ifuryst.com
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
- Ability control access to LLM Config menu by @boston008 in #172
- i18N Support for llm provider and ai model description by @boston008 in #171
- feat: support multi redis addr seperator by @qiankunli in #179
- Openapi import advanced option tenant and prefix by @boston008 in #176
Full Changelog: v0.8.1...v0.8.2
v0.8.1
📦 Unla v0.8.1
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
🐞 修复
- 修复数组参数处理问题
⚡ 改进
- 增加支持Redis Cluster和Redis Sentinel
- 增加 MCP 协议版本头支持
- 增加web运行时配置
🔧 其他
- 添加 GitHub 赞助信息配置
- 添加版权和许可信息文件 (NOTICE)
📘 文档:https://mcp.ifuryst.com
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
🐞 Bug Fixes
- Fix array parameters processing issue
⚡ Improvements
- Add support for Redis Cluster and Redis Sentinel
- Add MCP protocol version header support
- Add web runtime configuration
🔧 Others
- Add GitHub sponsorship information configuration
- Add copyright and licensing information file (NOTICE)
📘 Docs: https://mcp.ifuryst.com
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
- feat(config): Automatically create directory for SQLite database by @kerwin612 in #158
- VITE_runtime_var and mcp-protocol-version header by @boston008 in #157
- feat: support cluster redis by @qiankunli in #165
- Vite runtime varables add default values for backward compatibility by @boston008 in #166
New Contributors
- @kerwin612 made their first contribution in #158
Full Changelog: v0.8.0...v0.8.1
v0.8.0
📦 Unla v0.8.0
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
✨ 特性
- MCP Prompt 支持 - 新增对 MCP prompt 的完整支持
- 强类型工具调用 - 为 MCP 工具调用添加强类型请求支持
- 复杂结构参数支持 - 支持复杂数据结构的参数传递
- LLM 管理功能 - 新增 LLM 提供商和模型的完整管理界面
- 本地静态资源服务 - 所有静态资源本地化,移除外部依赖
- 主题管理增强 - 增强主题管理和语言持久化,覆盖登录页面
- 实验性功能警告 - 在聊天界面添加实验性功能提醒
🐞 修复
- 修复构建问题和代码规范检查
- Web 端代码规范修复
⬆️ 依赖升级
- mcp-go 升级到 v0.32.0
🛠️ 重构与合并
- 更新 k8s 部署文件配置
- 更新 apiserver 配置和 i18n 路径
- 移除 AccessibleModal 组件,统一使用 HeroUI Modal
- 优化 GitHub Actions 工作流配置
🔧 其他
- 添加 CLAUDE.md 项目指导和开发说明文档
📘 文档:https://mcp.ifuryst.com
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
✨ Features
- MCP Prompt Support - Full support for MCP prompts
- Strongly-typed Tool Calls - Add strongly-typed request support for MCP tool calls
- Complex Structure Arguments - Support for complex data structure parameters
- LLM Management - Complete management interface for LLM providers and models
- Local Static Assets - Serve all static assets locally, removing external dependencies
- Enhanced Theme Management - Enhanced theme management and language persistence covering login page
- Experimental Feature Warning - Add experimental feature warning in chat interface
🐞 Bug Fixes
- Fix build issues and linting
- Web linting fixes
⬆️ Dependencies
- Bump mcp-go to v0.32.0
🛠️ Refactor & Merge
- Update k8s deployment files configuration
- Update apiserver configuration and i18n paths
- Remove AccessibleModal component, unified use of HeroUI Modal
- Optimize GitHub Actions workflow configuration
🔧 Others
- Add CLAUDE.md for project guidance and development instructions
📘 Docs: https://mcp.ifuryst.com
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
- feat: support complex structure args by @c-rick in #147
- 升级mcp-go版本修复线上bug by @coulsontl in #151
- mcp prompt support by @boston008 in #150
- Fix/mcp dashboard secret by @elvus in #134
New Contributors
- @c-rick made their first contribution in #147
- @coulsontl made their first contribution in #151
- @boston008 made their first contribution in #150
Full Changelog: v0.7.1...v0.8.0
v0.7.1
📦 Unla v0.7.1
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
✨ 特性
- 集成工具获取与调用,支持SSE传输
- 为Redis会话存储增加前缀配置
- 为MCP配置及相关实体增加数据库schema
- HTTP客户端支持代理配置
🐞 修复
- SSE流错误 context canceled
- MySQL唯一索引字段类型问题
- PostgreSQL常量名与CreatedAt默认值
- MCPGatewayConfig类型断言
- 版本清理时缺少limit
⬆️ 依赖升级
- @modelcontextprotocol/sdk、react-i18next、react-router-dom、i18next、zod
🛠️ 重构与合并
- 移除冗余代码,保持uuid为主键,合并主干分支
🔧 其他
- 修正star history链接、错误url
📘 文档:https://mcp.ifuryst.com
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
✨ Features
- Integrate tool fetching and calling with SSE transport
- Add prefix configuration to Redis session store
- Add database schema for MCP configuration and related entities
- Add proxy configuration support to HTTP client
🐞 Bug Fixes
- SSE stream error: context canceled
- MySQL unique index field type issue
- PostgreSQL constant name and CreatedAt default value
- Type assertion for MCPGatewayConfig
- Add missing limit for version cleanup
⬆️ Dependencies
- @modelcontextprotocol/sdk, react-i18next, react-router-dom, i18next, zod
🛠️ Refactor & Merge
- Remove redundant codes, keep uuid as primary key, merge main branches
🔧 Others
- Update star history link, wrong url
📘 Docs: https://mcp.ifuryst.com
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
- [Snyk] Upgrade zod from 3.24.4 to 3.25.28 by @iFurySt in #139
- [Snyk] Upgrade i18next from 25.1.2 to 25.2.1 by @iFurySt in #141
- [Snyk] Upgrade react-router-dom from 6.30.0 to 6.30.1 by @iFurySt in #143
- 添加Session和Messages表主键,并且加上创建表语句 by @KamToHung in #132
- [Snyk] Upgrade react-i18next from 15.5.1 to 15.5.2 by @iFurySt in #142
- [Snyk] Upgrade @modelcontextprotocol/sdk from 1.11.1 to 1.12.0 by @iFurySt in #140
- fix: SSE stream error: context canceled by @zhuozl in #144
- feat: integrate tool fetching and calling with SSE transport by @zhuozl in #145
New Contributors
Full Changelog: v0.7.0...v0.7.1
v0.7.0
📦 Unla v0.7.0
Turn your MCP Servers and APIs into MCP endpoints — effortlessly, without modifying the original code.
🔧 其他
- 组织重命名:从 mcp-ecosystem 改为 amoylab
- 仓库重命名:从 mcp-gateway 改为 unla
- 更新 Helm chart 发布触发条件
📘 文档:https://mcp.ifuryst.com
🐙 源码:https://github.com/amoylab/unla
🐳 Docker 镜像:ghcr.io/amoylab/unla/allinone:latest
💬 加入我们的 Discord 社区参与讨论:https://discord.gg/udf69cT9TY
🔗 扫描下方二维码加入社区微信群,备注:unla

感谢所有参与和关注该项目的开发者与用户 💖
🔧 Others
- Organization renamed: from mcp-ecosystem to amoylab
- Repository renamed: from mcp-gateway to unla
- Update Helm chart publishing trigger conditions
📘 Docs: https://mcp.ifuryst.com
🐙 Source: https://github.com/amoylab/unla
🐳 Docker Image: ghcr.io/amoylab/unla/allinone:latest
💬 Join our Discord community for discussions: https://discord.gg/udf69cT9TY
🔗 Scan the QR code below to join WeChat community group, note: unla

Thanks to all contributors and early users! 💖
What's Changed
Full Changelog: v0.6.3...v0.7.0