画一张图,标出 AI 应用、Client、笔记 Server 怎么连;再写下查询参数、返回字段,以及允许查哪个目录。
一次搜索经过了哪些环节
假设想让 AI 从学习资料里找出提到“间隔复习”的笔记。真正执行搜索的是笔记服务,结果再交回 AI 应用处理;MCP 规定的就是这两边怎么连接、怎么交换数据。下面是个设想的例子,本站并没有接这样的服务。
这里有三个角色:AI 应用叫 Host;应用里负责连某个服务的组件叫 Client;提供笔记查询的程序叫 Server。一个 Host 可以管多个 Client,Server 可以跑在本机,也可以在远端。见MCP 官方架构说明。
Tools、Resources 和 Prompts
MCP 服务端能提供三类东西:Tools 用来执行操作,Resources 提供上下文材料,Prompts 是可复用的交互模板。定义见服务端能力概览。
放到笔记服务上:“按关键词搜索”可以做成 Tool,某篇笔记的正文可以作为 Resource,再给一个“按问题、理解、疑问整理摘录”的 Prompt。不用三样都做,先把搜索做好,想清楚能查哪些范围、返回几条、带哪些字段。
search_notes 的参数和返回
Client 用 tools/list 拿到工具列表,用 tools/call 调用。每个工具都要声明名字和输入结构,格式见MCP Tools 规范。
假设工具叫 search_notes,参数和返回可以设计成下面这样。字段是这个例子自己定的,不是完整的 MCP 报文,也不能直接当配置用。
{
"name": "search_notes",
"arguments": {
"query": "间隔复习",
"limit": 3
}
}{
"matches": [{
"note_id": "study-014",
"title": "本周复习安排",
"excerpt": "周三回看周一没能解释清楚的概念。"
}]
}返回里有标题、笔记 ID 和一小段摘录,AI 应用据此判断要不要接着读全文。上面的摘录是编的,真要测试,得准备一篇确实包含这个关键词的笔记,看能不能搜出来。
能读哪些,由服务端说了算
Host 负责管连接权限、用户授权和安全策略,Server 也得自己检查输入、限制访问范围。两边的职责见架构说明和工具安全要求。
做笔记搜索时,可以先只开放一个测试目录,并把这个限制写在服务端代码里。提示词里写一句“请勿删除文件”,代替不了真正的权限控制。测试时各查一个有结果、没结果的关键词,再确认范围外的资料确实访问不到。
这里引用的是 2025-11-25 版的协议规范。实际配置时,还要看你用的 AI 应用和 SDK 支持哪个协议版本、怎么连接、怎么授权,所以没写通用的安装命令。
参考资料
主要参考了下面这些官方文档。文中的示例是为练习另写的,不是官方原文。
- MCP Architecture(2025-11-25)Model Context Protocol
Host、Client、Server 的分工,以及 Host 的权限职责。引用的是 2025-11-25 版。
- MCP Server Features Overview(2025-11-25)Model Context Protocol
Tools、Resources、Prompts 的区别。
- MCP Tools(2025-11-25)Model Context Protocol
tools/list、tools/call、输入结构和访问控制要求。search_notes 和示例 JSON 是为讲解编的。
个人免责声明
本文是个人学习笔记,仅供本人学习使用。示例只作参考,实际用法以官方文档为准。