跳转至

Beta 配置

Beta 选项是 ~/.statamcp/config.toml[BETA] 分区下的实验性开关。除非特别说明,默认都关闭;功能稳定前,这些配置未来可能调整。

推荐默认值

[BETA]
IS_ASYNC_DO = false
MAX_ASYNC_DO = 3
enable_data_info_url_guard = false
data_info_allowed_url_domains = []
enable_structured_log = false

参数表

参数 类型 默认值 环境变量 说明
IS_ASYNC_DO Boolean false STATA_MCP__IS_ASYNC_DO 为 MCP 和 API/CLI 执行路径启用异步版 stata_do
MAX_ASYNC_DO Integer 3 STATA_MCP__MAX_ASYNC_DO 限制 MCP 异步 stata_do 的并发执行数量。超过上限的 MCP 调用会等待执行槽释放。仅在 IS_ASYNC_DO=true 时生效。
enable_data_info_url_guard Boolean false 对传给 get_data_info 的 URL 数据源启用 URL 校验和域名白名单检查。
data_info_allowed_url_domains List[str] [] URL guard 启用后允许访问的主机名列表。
enable_structured_log Boolean false read_log 工具和 API 启用结构化日志解析。

IS_ASYNC_DO

IS_ASYNC_DO 控制加载到该配置的 stata_do 执行路径是否使用异步执行器。

当值为 false 时,stata_do 保持原有同步执行路径。当值为 true 时,MCP server 会注册基于 AsyncStataDo 的异步实现。工具参数和返回结构保持不变。

可以通过配置文件启用:

[BETA]
IS_ASYNC_DO = true

也可以通过环境变量启用:

export STATA_MCP__IS_ASYNC_DO=true

Boolean 字符串值必须是 truefalseonoff 等值不会被接受,会回退到默认值。

当 MCP 层 stata_do 工具以及 API/CLI 一次性执行路径加载到 IS_ASYNC_DO=true 的配置时,都会启用异步执行。异步路径下工具参数仍然有效,包括 timeoutenable_smclis_replace_loglog_file_nameread_log_when_error

MAX_ASYNC_DO

MAX_ASYNC_DO 限制同时运行的 MCP 异步 stata_do 数量。

[BETA]
IS_ASYNC_DO = true
MAX_ASYNC_DO = 3

只有当机器资源和 Stata 许可证可以支撑更多并行 Stata 进程时,才建议调高这个值。该值必须是正整数。

MAX_ASYNC_DO 是 MCP server 侧的并发限制;它不限制独立的 API 或 CLI 调用。当 RAM 监控以 IS_MONITOR=true 启用时,单次异步执行会使用带监控的同步回退路径。需要监控的 MCP 运行建议使用保守并发,例如将 MAX_ASYNC_DO 设为 1

enable_data_info_url_guard

enable_data_info_url_guard 控制传给 get_data_info 的 URL 数据源是否受 beta URL guard 限制。

[BETA]
enable_data_info_url_guard = true
data_info_allowed_url_domains = ["example.com", "raw.githubusercontent.com"]

当该开关为 false 时,URL 数据源保持历史行为,直接交给 data handler,不校验 scheme、host、userinfo 或域名白名单。当该开关为 true 时,URL 必须使用 HTTPS,不能使用 IP 主机,不能包含 URL userinfo,并且主机名必须命中 data_info_allowed_url_domains

data_info_allowed_url_domains

data_info_allowed_url_domains 是启用 get_data_info URL guard 后使用的主机名白名单。

条目会匹配精确主机名及其子域名。例如,example.com 会允许 example.comdata.example.com。GitHub raw 内容是独立主机名,因此需要读取 GitHub raw 数据集时,请显式加入 raw.githubusercontent.com

enable_structured_log

enable_structured_log 控制 read_log 是否使用结构化 StataLog 解析器。

[BETA]
enable_structured_log = true

当该开关为 false 时,read_log 返回原始文件内容。当该开关为 true 时,支持的日志会通过 StataLog 解析为结构化格式(fullcoredict)。MCP、CLI 和 API 调用都使用同一个开关和相同的处理逻辑。

Boolean 字符串值必须是 truefalseonoff 等值不会被接受,会回退到默认值。