Skip to main content
MCP 是门口;Toolkit 决定哪些房间装门把手。

1. 动机

运行时 Toolkit 可以包装实时对象、工作区闭包或远程 FastMCP 服务器。这些值现在可以服务工具,却不一定能在以后恢复。持久 Toolkit 必须引用持久 Capsule,并属于一个显式应用工作区。 因此 HeavenBase 把构造、持久化、profile 组装与传输保留为不同操作。同一个 Tool 契约跨越这些操作,而每个边界仍然可检查。

2. 使用 Tool API

除非你提供显式输入或输出模式元数据,否则 Tool 模式从 Capsule 签名派生。

3. 使用 Capsule API

include_cloudpickle 默认为 False。即使指纹验证成功,恢复与执行仍是可信代码操作。

4. 使用 Toolkit API

Toolkit 持久化调用省略 ws= 时会使用仅加载已有项的 hb.HeavenBase.load()。它绝不会创建工作区。

5. 理解工作区自有数据行

Capsule 是必需 Extension 根。Toolkit 是打包默认根。Toolkit.register(ws=...) 确保工作区拥有 Toolkit 与引用的 Capsule 行。 独立 Capsule.register() 使用高级 Context 私有隐藏存储做机器/领域管理。不要把该存储与应用 Toolkit 持久化混为一谈。

6. 使用工作区 MCP 工具

workspace.to_mcp(profile=...)workspace.serve(profile=...) 组装 Registry 支持的 Toolkit family。核心工作区 family 包括: 这里没有通用 alter_entityundefine_entity MCP 工具。实体迁移、物理清理、Catalog 变更与恢复需要显式领域策略,之后才适合交给智能体。

7. 选择 Profile

Profile 是 mcp_profile Registry 记录。它们组合精确工具名、Toolkit family、Entity 与 Skill 范围、一个序列化器、依赖与可选 extends 外部模块可以通过 meta.yaml 发布自己的 Toolkit family 与 profile。所属 Context 会在工作区组装前解析它们;可选 family 只通过声明的 workspace_requires 激活。

8. 使用 MCP CLI

所有 Toolkit 命令都接受或解析一个已有工作区: REF 接受 Toolkit id、name 或 namespace/name:version

9. 服务并验证

对于工作区 profile:
传输默认值位于 heavenbase.mcp。把未认证 HTTP 保留在 loopback。若无需长生命周期网络服务器,本地编码智能体集成请使用 stdio。

10. 导出 Anthropic Programmatic Tools

这条导出路径与 MCP connector tools 分离。每条定义包含 allowed_callers、名称、描述与输入模式。从 code execution 调用时,执行适配器应返回字符串。

11. 应用信任检查清单

  • 审核 Capsule source、层、模式与序列化器。
  • 除非已审核本地代码确实需要,否则关闭二进制回退。
  • 在显式应用工作区持久化具体 Toolkit。
  • 使用支持任务的最小 profile。
  • 给外部工具加命名空间,并拒绝冲突。
  • 在 Tool 或所属 API 边界验证不可信参数。
  • 让文件系统、凭据、网络与破坏性权威保持显式。
  • 通过目标传输测试真实 list/call 行为。

摘要

  • Tool、Capsule 与 Toolkit API 共享一个 callable 执行模型。
  • 持久 Toolkit 与 Capsule 属于显式应用工作区。
  • Profile、serializer 与传输配置让 MCP 权威可检查。

进一步探索

相关资源: