FastMCP 发布更新,面向需要在轮换 Redis 连接凭据的同时运行任务的开发者,以及从命令行调用服务器工具的用户。此次更新让新连接能够使用最新凭据,并修复了生成命令时值丢失及多服务器组合环境中的会话查询问题。
1. 每次建立新连接时获取当前 Redis 凭据
此版本允许任务使用基于 redis-py 的凭据提供程序。提供程序是返回连接所需认证信息的组件。由于创建新连接时会获取当前值,因此凭据轮换后的连接可以使用更新后的值。
这对凭据轮换与重新连接相互交织的运行环境很有意义。关键在于新增了每次获取连接所用值的途径,同时也修复了克隆任务扩展时未保留该提供程序的问题。
不过,在任务执行层能够安全更新凭据之前,持续传递变更值的流式提供程序仍会被拒绝。为保持任务重新连接的能力,Redis 8.1.0 也被排除在外。
2. 生成的命令保留要发送给服务器的配置和值
生成式 CLI 能将服务器工具转换为可从命令行执行的命令。此次修复使其能够序列化 HTTP 和 SSE 传输信息,即将数据转换为可传输的形式。这一变更让生成结果也包含如何与远程服务器通信的配置。
在输入值处理方面,生成的命令现在也会保留空数组。这避免了传入空列表的信息丢失,与传输配置修复一样,都是为了保留要传递给工具的值。
此次还修复了参数名与生成命令内部辅助功能名称冲突的问题。同时,修复了含有名为 json 的参数的工具在生成命令时出错的问题。这些修复解决了命令生成功能与工具接收的参数之间的名称冲突。
3. 修复组合服务器的会话查询与错误处理
挂载是将其他服务器连接到一台服务器上共同使用的配置方式。此版本修正了通过所连接服务器查询会话可见性的路径,也就是查询会话可被查看的范围。说明请求状态如何在服务器之间延续的文档也得到了澄清。
在汇集多个服务器组件时,此次修复使模块加载失败的处理遵循错误处理配置。这一变更确保组件组合后仍会应用该配置。
客户端修复了旧执行上下文关闭后来创建的会话的问题。执行上下文是处理请求所需的运行状态。这相当于修正了旧上下文的清理操作影响新会话的路径。
4. 兼顾自动化检查与可选依赖,即按需额外安装的包管理
如果将生成的命令用于自动化,实用的做法是用新版本重新生成命令,并检查远程连接配置与空数组传递。由于修复涉及将服务器工具转换为命令的过程,已有的生成结果也可以纳入检查范围。
未使用的 keyring 依赖已被移除。直接使用 KeyringStore 的开发者需要显式安装 py-key-value-aio[keyring]。对于使用该存储的环境,这是准备更新时需要安装的具体项目。
此次更新的收益在于修正了凭据轮换、命令生成和会话处理中出现问题的路径。另一方面,直接使用 keyring 存储的开发者需要承担显式管理所需包的责任。这是评估更新效果时也应考虑的运行成本。
FastMCP v4.1.4 的价值不在于新功能的规模,而在于完善了凭据轮换、命令生成与服务器组合相互交织的运行路径。
