Tool 是 Capsule 的即时视图。Capsule 是持久的可执行载荷。
1. 工具集 (Toolkit) 是什么
工具集 (Toolkit) 在工具名下分组 Capsule 与服务元数据。当你希望一组函数像本地 API、MCP 服务器或模型工具调用导出目标时,使用它。 持久模型有意保持精简:Capsule:存储可执行函数 manifestTool:命名一个 Capsule(加可选 serializer Capsule),并暴露run(...)与run_to_str(...)Toolkit:排序工具、保存引用并导出服务器sys-toolkit:存储工具集 (Toolkit) manifest 与 Capsule 引用的持久实体行
jstr_serializer Capsule,对 dict 与 list 结果应用紧凑 JSON 序列化。
2. 构建并注册工具集 (Toolkit)
toolkit.register(...) 保存每个工具的主 Capsule 与 serializer Capsule,再将工具集 (Toolkit) manifest 存为有序 Capsule 引用。加载工具集 (Toolkit) 会惰性恢复引用的 Capsule。
Toolkit.register(...) 默认为 overwrite=True。需要显式冲突处理时使用 on_conflict="raise" 或 on_conflict="skip"。
紧凑构造可传入 list、pair 或 mapping:
3. 从其他路径加载并运行
run_to_str(...):
registry_config=... 隔离注册表存储,同时保持相同公开 API。
4. 架构数据流
工具集 (Toolkit) 执行是 Capsule 上的薄层:Toolkit.add(callable)将 callable 捕获为主 Capsule,并解析 serializer Capsule(默认jstr_serializer)。toolkit.register()持久化每个工具的两个 Capsule,再存储含有序 Capsule 引用的sys-toolkit行。Toolkit.load(...)解析 manifest 并将每个引用的 Capsule 恢复为Tool。Toolkit.run(name, **kwargs)本地调用所选主 Capsule,返回原始 Python 值。Toolkit.run_to_str(name, **kwargs)运行工具并通过 serializer Capsule 传递结果。Toolkit.to_fastmcp()用签名兼容的 FastMCP 函数包装每个 Tool,返回序列化字符串。Toolkit.to_anthropic_tools(...)导出带allowed_callers的独立 Anthropic programmatic tool schema。
5. 通过 MCP 提供
toolkit.serve(...) 阻塞或后台提供。默认位于 CM_HVNB 的 heavenbase.mcp(transport、host、port、wait)。
6. 导入 MCP 服务器
register() 持久化,因为闭包持有 live 服务器句柄。
7. 工作区工具集 (Toolkit)
每个工作区仍可成为工具集 (Toolkit):toolkit_family 行镜像到 sys-metaschema;即时工作区工具集 (Toolkit) 仍无法注册,因为闭包持有 live 工作区对象。
8. Demo
Toolkit.load(...) 加载回来,展示 Capsule docstring 与格式转换,并检查 FastMCP 能否列出与调用工具。

