摘要音频
本节课没有语音摘要。
学习笔记
学习笔记:MCP 服务器与工具实现
核心概念 (Core Concepts)
- MCP 服务器目标:为 CLI 聊天机器人构建 MCP 服务器,使其具备额外的功能(如文档操作)。
- MCP Python SDK:本项目使用的官方 SDK。它极大地简化了服务器的创建(一行代码即可完成)和工具的定义。
- 工具定义流程:
- 不再需要手动编写复杂的 JSON Schema。
- 通过 Python 代码(使用 @mcp. tool 装饰器和 field 类)定义工具。
- SDK 会自动将 Python 定义转换为 LLM(如 Claude)可理解的 JSON Schema。
- 工具组成要素:工具定义需包含名称 (Name)、描述 (Description) 和参数 (Arguments,包括类型和描述)。
工具实现 (Tool Implementation)
- 实现位置:所有服务器逻辑和工具函数都放置在项目根目录下的 mcpserver. py 文件中。
- 文档存储:所有文档初始存储在一个内存字典 docs 中,键 (Key) 为文档 ID,值 (Value) 为文档内容。
1. 读取文档工具 (Read Document Tool)
- 工具名称:read_doc_contents
- 功能:接收文档 ID,并返回该文档的全部内容。
- 实现逻辑:
- 检查传入的 doc_id 是否存在于 docs 字典中。
- 如果不存在,抛出 ValueError (提示文档 ID 未找到)。
- 如果存在,返回 docs[doc_id] 的内容。
2. 编辑文档工具 (Edit Document Tool)
- 工具名称:edit_document
- 功能:通过替换字符串来修改文档内容。
- 所需参数:
- doc_id (字符串):要编辑的文档 ID。
- old_string (字符串):需要被替换的旧文本(必须完全匹配)。
- new_string (字符串):用于替换旧文本的新内容。
- 实现逻辑:
- 检查 doc_id 是否存在于 docs 字典中。
- 如果存在,执行查找和替换操作:docs[doc_id] = docs[doc_id]. replace(old_string, new_string)。
Takeaways
- MCP Python SDK 简化了服务器创建和工具定义,是本项目使用的官方工具。
- 工具定义不再需要手动编写 JSON Schema,而是通过 Python 代码(使用 @mcp. tool 装饰器)自动转换。
- 所有服务器逻辑和工具函数都集中在项目根目录下的 mcpserver. py 文件中实现。
- 文档初始存储在一个内存字典 docs 中,键为文档 ID,值为文档内容。
- 核心工具包括 read_doc_contents(读取文档内容)和 edit_document(通过字符串替换修改内容)。
抽认卡 10 张卡片
问题
点击显示 · ←/→
答案
点击翻回
知识检测 0 题
No quiz for this lesson yet.