跳到主要内容
翻译页面

本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。

reload_credentials

将 --env.file 标志指定的 dotenv 风格文件重新加载到服务器的进程环境中,然后报告每个 Provider 的凭据解析状态。这解决了环境在进程启动时即被固定的问题:会话中途写入磁盘或在磁盘上轮换的凭据,无需重启即可到达正在运行的服务器。

env 文件叠加在进程环境之上,而不是替换它:凭据解析始终在请求时读取实时的进程环境,因此进程启动时已存在的变量(来自 shell 或客户端的 env 块)无论是否使用 --env.file 都继续有效。重新加载时,只写入文件中值非空的键,并且绝不会取消设置任何变量,因此失败或部分完成的重新加载会保留此前可用的凭据。

机密值绝不会被返回、写入日志或审计,该工具只报告变量名和状态。未配置 --env.file 时,该工具退化为纯粹的状态探测。当查询因凭据解析而失败时,MCP 错误会带有一条提示信息,指示智能体调用 reload_credentials 并重试,因此智能体客户端可以自我修复。

备注

在 v0.10.542 之后的 StackQL 发布版本中可用。

另请参阅: [ MCP 概述 ] [ 凭据(重新)加载 ] [ server_info ] [ Claude Desktop ]


输入​

参数必填说明
provider否将状态报告的范围限定为单个 Provider。省略时,报告所有 Provider。

输出​

渲染器结构
表格env 文件加载结果,外加每个 Provider 一行的凭据解析状态

结构化负载包含:

字段说明
env_file所配置的 --env.file 路径(未配置时为空)。
env_file_sourced本次调用中找到并加载了该文件时为 true。
sourced_vars从该文件设置的环境变量的名称,仅有名称,绝不包含值。
providers每个 Provider 一行(见下文)。

每个 providers 行包含:

列说明
providerProvider 名称。
auth_type为该 Provider 配置的身份验证类型。
sourced_from凭据的解析来源,例如 env:OKTA_SECRET_KEY、file:/path/key.json、inline 或 none。
statusok、unresolved 或 not_checked。
detail状态为 unresolved 时的错误文本。

在凭据字节路径之外进行身份验证的身份验证类型(交互式 gcloud、azure CLI、oauth2 客户端凭据、assume-role 链、OCI 签名、null)报告 not_checked。


门控​

在所有服务器模式下均允许,包括 read_only:除服务器自身的进程环境外,该工具不会变更任何内容。

在 reverse_proxy 后端模式下不受支持:查询在远程 stackql 服务器进程中执行,因此该工具会返回错误,指示用户在后端服务器上重新加载凭据。


示例​

在任何已注册 StackQL MCP 服务器(以 --env.file 启动)的 MCP 客户端中试用以下提示词:

My okta query failed with a credential error - I've just written the key
to the credentials file. Reload credentials and retry the query.