最近,MCP 在 AI 开发和 AI 编程领域的热度越来越高。

不少 AI 客户端、代码编辑器和开发工具开始支持 MCP。通过 MCP,AI 不再只能处理用户手动复制到对话框里的内容,还可以在获得授权后读取本地文件、查询数据库、访问代码仓库或调用其他工具。
对于刚接触 MCP 的用户来说,这个概念可能显得有些复杂:
MCP Server 是什么? MCP 和大模型 API 有什么区别? 如何让 AI 读取本地文件? 是否需要自己编写代码? 使用 MCP 会不会泄露本地数据?
本文不讨论复杂的协议实现,而是从一个适合新手的场景开始:
配置一个只读的本地资料目录,让 AI 查找其中的文档,并根据文档生成摘要。
完成这个案例后,你就能理解 MCP 的基本工作方式,也能继续尝试代码分析、知识库问答和自动化办公等场景。
一、开始之前,先理解 MCP 在做什么
MCP 的全称是 Model Context Protocol,中文通常称为“模型上下文协议”。
它主要解决的问题是:
让 AI 应用以相对统一的方式连接外部数据和工具。
普通 AI 对话的基本流程是:
用户输入内容↓大模型理解和生成↓返回回答
使用 MCP 后,调用链路会多出外部工具这一部分:
用户提出任务↓AI 判断需要读取文件↓通过 MCP 调用文件工具↓工具返回文件内容↓AI 根据内容生成回答
需要特别注意的是:
MCP 本身不是大模型,也不会直接生成回答。
MCP 负责把文件、数据库和其他工具连接给 AI 应用;真正负责理解问题和生成内容的,仍然是大模型。
二、本次实践要完成什么?
我们准备一个专门用于测试的资料目录,里面放几篇 Markdown 或文本文件。
例如:
ai-notes/├── prompt-guide.md├── rag-notes.md├── mcp-introduction.md└── weekly-report.txt
配置完成后,可以让 AI 执行下面这些任务:
列出资料目录中的所有文件阅读 mcp-introduction.md,并总结其中的核心观点比较 prompt-guide.md 和 rag-notes.md 的主题差异根据这个目录中的资料,生成一份 AI 学习清单这个案例不需要开发一个完整应用,重点是理解以下流程:
AI 客户端↓MCP 文件系统服务↓获得授权的本地目录
三、需要准备哪些工具?
本次实践需要准备:
一台 Windows、macOS 或 Linux 电脑 Node.js 运行环境 一个支持 MCP 的 AI 客户端或编辑器插件 一个测试资料目录 可以调用大模型的配置
支持 MCP 的客户端和编辑器插件会持续变化,具体配置入口也可能随版本调整。开始前,建议先检查自己使用的工具是否提供以下能力:
支持添加 MCP Server 支持查看 MCP 工具列表 支持自定义模型 支持配置 API Key 支持配置 Base URL 支持填写模型名称
本文使用标准的文件系统 MCP Server 作为示例,不依赖具体客户端的界面布局。
四、第一步:安装 Node.js
很多 MCP Server 使用 Node.js 运行,因此需要先安装 Node.js。
可以在终端中执行:
node -v如果显示类似下面的版本号,说明 Node.js 已经可用:
v20.x.x再检查 npx:
npx -v如果系统提示找不到命令,需要先安装 Node.js 的长期支持版本,然后重新打开终端。
Node.js 安装完成后,不一定需要手动全局安装 MCP Server。使用 npx 时,可以在启动服务时下载并运行对应的软件包。
五、第二步:创建一个测试资料目录
为了控制权限,建议单独创建一个目录,不要直接把整个磁盘、用户目录或项目根目录开放给 MCP。
例如在 Windows 中创建:
D:\mcp-data\ai-notesmacOS 或 Linux 可以创建:
~/mcp-data/ai-notes在目录中放入几个不含敏感信息的测试文件,例如:
prompt-guide.mdrag-notes.mdmcp-introduction.md
可以在 mcp-introduction.md 中写入:
# MCP 学习笔记MCP 是一种连接 AI 应用和外部工具、数据资源的协议。MCP Server 可以封装文件系统、数据库、代码仓库和搜索服务等能力。MCP 不负责生成最终回答,大模型仍然负责理解任务和组织输出。
建议初次测试只放公开资料或自己编写的示例文档,不要放入密码、合同、客户资料、生产配置和公司内部代码。
六、第三步:配置文件系统 MCP Server
不同客户端的 MCP 配置入口可能不同,但核心配置通常比较接近。
Windows 示例:
{"mcpServers": {"local-notes": {"command": "npx","args": ["-y","@modelcontextprotocol/server-filesystem","D:\\mcp-data\\ai-notes"]}}}
macOS 或 Linux 示例:
{"mcpServers": {"local-notes": {"command": "npx","args": ["-y","@modelcontextprotocol/server-filesystem","/Users/your-name/mcp-data/ai-notes"]}}}
这段配置包含三个关键信息。
local-notes
这是 MCP Server 的本地名称,可以按照自己的习惯修改。
command
这里使用 npx 启动 MCP Server。
args
参数中指定了要运行的文件系统 MCP Server,以及允许访问的目录。
Windows JSON 路径中的反斜杠通常需要写成双反斜杠:
D:\\mcp-data\\ai-notes配置完成后,保存文件并重启 AI 客户端。部分工具也提供重新加载 MCP Server 的按钮,可以直接刷新配置。
七、第四步:检查 MCP 是否连接成功
客户端重新启动后,可以查看 MCP 工具列表或服务器状态。
如果文件系统服务连接成功,通常可以看到与文件操作有关的工具,例如:
列出目录读取文件搜索文件查看文件信息
不同版本的 Server 和客户端可能显示不同的工具名称,这是正常现象。
可以先输入一个简单任务:
请列出已授权资料目录中的文件,不要读取目录之外的内容。如果 AI 发起了 MCP 工具调用,并返回了目录中的文件列表,说明基本连接已经成功。
如果没有成功,可以检查:
Node.js 和 npx是否可用JSON 格式是否正确 Windows 路径是否正确转义 配置文件是否放在客户端要求的位置 修改配置后是否重启了客户端 当前用户是否有权访问目标目录 客户端是否显示 MCP Server 错误日志
八、第五步:配置负责生成回答的大模型
MCP 只负责连接文件。AI 读取文件后,还需要大模型完成理解、总结和回答。
如果使用的客户端支持自定义 OpenAI 兼容接口,通常需要配置三个核心参数:
API KeyBase URL模型名称
三者的作用分别是:
- API Key
:用于接口鉴权 - Base URL
:指定模型接口地址 - 模型名称
:指定本次调用的具体模型
如果同时使用多个 AI 工具,也可以通过统一模型入口减少重复配置。例如 https://transitai.chat/ 这类模型中转服务,可以作为兼容接口接入方式的参考。
配置时应以平台实际提供的接口文档为准,重点确认:
是否支持 OpenAI 兼容接口 Base URL 的完整格式 当前可用的模型名称 API Key 的创建方式 模型价格和计费单位 是否支持流式输出 数据处理和日志保留规则
不要直接根据其他平台的示例填写模型名称。即使不同平台都兼容 OpenAI 接口,具体模型标识也可能不同。
完整链路可以理解为:
本地文件↓文件系统 MCP Server↓AI 客户端↓统一模型入口↓大模型↓生成摘要或回答
MCP 和模型中转服务承担的是不同职责:
MCP:连接本地文件和外部工具模型入口:连接负责生成回答的大模型
九、第六步:让 AI 总结本地文档
基础配置完成后,可以尝试让 AI 读取指定文件:
请读取 mcp-introduction.md,并完成以下任务:1. 用一句话概括 MCP2. 提炼 3 个核心知识点3. 说明 MCP 和大模型的关系4. 不要使用文件中没有的信息
相比只输入“总结一下”,这个提示词包含了明确的任务和输出要求,结果通常会更加稳定。
还可以尝试跨文件整理:
请读取当前资料目录中的所有 Markdown 文件。要求:1. 分别说明每个文件的主题2. 找出内容之间的关联3. 生成一份从入门到实践的学习顺序4. 每一项标注参考文件名5. 如果资料中没有相关信息,请明确说明
这个任务可以验证 AI 是否能够:
列出目录 读取多个文件 理解不同文件的内容 综合整理信息 标注内容来源
十、如何让生成结果更可靠?
AI 能读取文件,不代表回答一定准确。
还需要在提示词中明确资料范围和回答规则。
可以使用下面这个模板:
你是一个本地资料整理助手。请在已授权目录内查找和读取文件,并根据文件内容回答。要求:1. 只使用读取到的文件内容2. 不要访问授权目录以外的位置3. 每个结论标注来源文件名4. 如果资料不足,请直接说明5. 不要编造资料中不存在的内容6. 先列出准备读取的文件,再开始总结
这个模板能够降低几个常见问题:
模型根据自身知识补充过多内容 回答中没有标明资料来源 没有读取文件就直接生成结论 资料不足时编造答案
对于重要内容,仍然需要人工核对原始文件。
十一、如何把它变成一个资料整理工作流?
完成基础读取后,可以进一步设计一个固定工作流。
例如,每周把学习资料放进指定目录,然后让 AI 生成学习周报:
请读取当前目录中本周新增的资料,并生成学习周报。输出结构:1. 本周新增资料2. 每份资料的核心内容3. 重复出现的主题4. 仍然不理解的问题5. 下周建议学习的方向6. 资料来源列表
也可以用来整理项目资料:
请读取目录中的需求文档、会议纪要和任务清单。请整理:1. 当前项目目标2. 已确认的需求3. 尚未解决的问题4. 负责人和截止时间5. 文档之间存在的矛盾
或者整理写作素材:
请读取素材目录中的文章和笔记,为“AI 工作流”生成一份文章大纲。要求:1. 不要直接复制原文2. 每一节标注参考资料3. 区分事实、观点和案例4. 不确定的信息单独列出
当这些提示词被固定下来后,MCP 就不再只是一个技术演示,而会逐渐成为可以重复使用的工作流组件。
十二、如何选择适合任务的模型?
文件读取和内容生成是两个不同阶段。
MCP 负责获取文件,而模型负责理解文件。不同复杂度的任务,可以使用不同能力和成本的模型。
轻量模型适合
列出文件 提取标题 生成关键词 短文本分类 固定字段提取
均衡模型适合
单篇文档总结 会议纪要整理 普通问答 写作素材分类 多份短文档对比
高能力模型适合
大量文档综合分析 跨文件查找矛盾 复杂代码项目理解 多步骤任务规划 重要报告生成
选择模型时,不应该只看模型是否足够强,还要关注:
文档长度 任务复杂度 响应速度 输出稳定性 调用成本 是否需要结构化输出
一种实用思路是:
简单任务先用轻量模型↓普通资料整理使用均衡模型↓复杂分析再切换高能力模型
如果客户端支持自定义模型,就可以通过切换模型名称完成对比测试。通过 transitai.chat 这类统一模型入口配置时,也应先查看其实际支持的模型列表,不要假设所有模型都能使用。
十三、使用本地文件 MCP 时要注意什么?
MCP 可以访问本地数据,因此必须认真控制权限。
1. 不要授权整个磁盘
不建议使用下面这类范围过大的目录:
C:\D:\/Users/your-name/
更合理的方式是创建专门的资料目录,只授权当前任务需要的数据。
2. 不要放入敏感文件
测试目录中不要包含:
密码和私钥 .env文件 API Key 客户资料 未公开合同 生产数据库备份 公司内部核心代码
3. 优先从只读任务开始
初学时先使用列出目录、读取文件和搜索内容等能力。
如果 MCP Server 支持写入、移动或删除文件,应确认客户端是否会在执行前请求用户批准。
4. 检查第三方 MCP Server
运行一个 MCP Server,本质上是在电脑上运行一个软件包。
安装前应该确认:
软件包来源 项目维护状态 要求的系统权限 是否会发送外部请求 是否能够查看源代码 是否存在已知安全问题
5. 重要操作必须人工确认
涉及以下操作时,不应完全自动执行:
删除或覆盖文件 修改代码 执行终端命令 发送邮件 修改数据库 调用生产系统
AI 可以生成建议,但最终执行应保留明确的确认步骤。
十四、常见问题排查
问题一:客户端找不到 MCP Server
检查 npx 是否可用:
npx -v然后检查客户端的 MCP 配置格式和错误日志。
问题二:无法读取文件
检查:
路径是否真实存在 Windows 路径是否正确转义 文件是否位于授权目录内 当前用户是否拥有读取权限
问题三:能看到工具,但 AI 不调用
可以在提示词中明确要求:
请先调用文件工具读取 mcp-introduction.md,再根据文件内容回答。同时检查当前模型是否支持客户端使用的工具调用方式。
问题四:AI 读取文件后仍然答错
这通常不是 MCP 连接问题,而可能是:
文件内容本身不完整 一次读取的资料太多 提示词没有要求只依据文件 模型忽略了部分上下文 多个文件之间存在冲突
可以缩小文件范围,并要求回答标注来源。
问题五:切换模型后工具调用失败
不同模型对工具调用和结构化参数的支持可能存在差异。
建议检查:
模型是否支持工具调用 客户端是否兼容当前模型 中转接口是否正确转发工具参数 模型名称是否填写正确 客户端日志中是否有格式错误
十五、下一步还可以做什么?
完成本地文件读取后,可以继续尝试以下方向:
1. 连接代码项目
让 AI 在授权范围内读取项目文件,解释模块结构、定位代码和整理修改建议。
2. 连接 Git 仓库
让 AI 获取 Issue、提交记录和代码变更,辅助生成开发周报。
3. 连接测试数据库
使用只读账号,让 AI 查询测试数据并生成分析报告。
4. 连接搜索工具
让 AI 获取公开网页信息,并结合本地资料完成对比分析。
5. 编写自己的 MCP Server
如果已有业务 API,可以把部分低风险能力封装成 MCP 工具,供内部 AI 助手调用。
建议按照下面的顺序逐步学习:
本地只读文件↓代码仓库和测试数据↓外部搜索与业务 API↓带人工确认的写操作
不要在还不了解权限边界时,直接让 AI 连接生产系统。
MCP 最值得关注的地方,不只是让 AI 多了几个工具,而是它提供了一种相对统一的连接方式。
在本次实践中,各部分的职责非常清楚:
本地目录:保存资料MCP Server:提供文件访问能力AI 客户端:组织对话和工具调用模型接口:提供理解与生成能力
如果需要在多个客户端或模型之间切换,可以使用兼容 OpenAI 接口的统一模型入口进行配置。transitai.chat 可以作为这类接入方式的参考,但实际使用前应检查模型列表、接口文档、计费说明和数据处理规则。
对于新手来说,最适合的第一步不是搭建复杂 Agent,也不是一次连接所有工具,而是从一个受控的本地目录开始:
让 AI 读取一份文件↓让 AI 总结文件↓让 AI 对比多份资料↓把流程整理成固定模板
当 AI 能够在明确授权和安全边界内读取真实资料时,它才开始从一个通用聊天工具,逐步变成能够参与实际工作的助手。
夜雨聆风