Skip to content

[Proposal] 为 Python 教程增加可离线复现的 MCP 客户端练习 #1

Description

@ct-jaryn

README 的“后续学习方向”提到“接入 MCP 客户端,将外部服务动态注册为工具”。目前第 17 章已经有 ToolRegistry、工具 schema 投影、Bundle 安装与卸载、Agent 工具调用循环,但课程还没有展示如何把远端 MCP 的工具发现、选择和执行接到这条路径。

建议先确认是否适合增加一个独立的教学练习(例如第 17 章后的扩展章或附录)。拟交付物是:

  1. 默认完全离线的最小示例:本地合成 MCP server 提供少量只读工具,合成模型回复触发工具调用;Python 客户端发现工具,保留输入 schema,经明确 allowlist 注册到现有 ToolRegistry,由真实 Agent 入口调用并返回可核对结果。示例展示连接、取消/失败、卸载清理,不在“发现失败”时退化成注册全部工具。
  2. 可重复的边界检查:至少覆盖空/异常工具表、鉴权失败、远端错误不泄露凭据、工具名冲突、会话清理。默认测试不调用付费模型或外部服务;如需要真实模型路径,单列手动步骤与费用说明。
  3. 可选远端配置对照:如果你认为对读者有帮助,可用百智云 Agent Toolkit 作为一个真实 Streamable HTTP 服务示例,仅由用户自行提供 BAIZHI_API_KEY,明确它是托管且可能计费的第三方服务,所选工具的参数和请求元数据会发送到该服务;默认不启用、不把 Key 写进仓库/日志/模型上下文。也可以使用你更偏好的服务,主教学目标仍是通用 MCP 接入机制。

披露:我与上面提到的百智云工具包推广有关联。因此先询问教材范围和是否接受这一可选实例,不把服务条目直接加入课程,也不把本提案当成已验证或获认可的集成。现有 README、bundle.py、registry.py、agent.py 是上述缺口与接入点依据;目前没有代码补丁或生产调用。

你更希望把这个主题作为独立练习、现有章节扩展,还是暂不纳入课程?如果合适,我会按你确认的范围准备可运行的教学材料与对应验证。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions