Introduction To Model Context Protocol
← 所有课程
课程 05Introduction To Model Context Protocol

Defining tools with MCP

摘要音频

本节课没有语音摘要。

学习笔记

学习笔记: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 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 0 题

No quiz for this lesson yet.