摘要
让 Microsoft Copilot 在挂载到自托管 AnythingMCP 的 Windows 文件服务器、NAS 或网络共享(SMB/CIFS 或 NFS)中进行搜索:对 PDF、Excel、Word 和 Outlook 文件建立全文索引,并在后台持续同步。仅限自托管。
试试这样问
Network folder (File Search) 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
Microsoft Copilot 中的网络文件夹
仅限自托管。 网络文件夹仅存在于自托管的 AnythingMCP 中。在 AnythingMCP Cloud 上,请改用 SFTP 或 WebDAV 访问 NAS。
简短回答: 将共享以只读方式挂载到运行你的自托管 AnythingMCP 的服务器上,然后把该文件夹添加为 File Search 连接器。AnythingMCP 会为每个受支持的文件建立全文索引并保持索引同步,文件始终不会离开你的网络。接着通过 Copilot Studio 智能体,将 AnythingMCP 连接到 Microsoft 365 Copilot 和 Teams。Microsoft Copilot 可以按文件名和内容查找文件,读取所需的页面,并把文件本身以附件或临时下载链接的形式交给你。共享上不会写入任何内容。
AI 助手无法自行打开网络驱动器,即便可以,也得为回答一个问题而下载每一个文件。正是索引,让"当前价格表中 NT-601 号商品多少钱?"这样的问题几秒钟就能得到答案。
准备工作
- 一个自托管的 AnythingMCP,需要付费许可证或 30 天试用。AnythingMCP Cloud 无法访问网络共享:SMB(445 端口)不应暴露在互联网上。
- 共享以只读方式挂载在 Docker 主机上,例如挂载到
/mnt/knowledge(SMB/CIFS 或 NFS,Windows 文件服务器或 NAS 卷均可)。 - 拥有 Docker 主机的 shell 访问权限,用于编辑
.env和docker-compose.yml。
设置步骤
第 1 步 — 挂载共享并启用 File Search
- 在 Docker 主机上以只读方式挂载共享,例如挂载到
/mnt/knowledge。 - 将其以只读方式绑定到
app和files-worker容器中(参见docker-compose.yml中的注释),并在.env中设置FILE_SOURCE_ROOTS=/mnt/knowledge。向导只会提供这些根目录之下的文件夹。 - 启用 File Search 服务:在
.env中添加FILES_WORKER_URL=http://files-worker:8891、FILES_WORKER_TOKEN和FILE_EXTRACTOR_TOKEN(各用openssl rand -hex 24生成)以及COMPOSE_PROFILES=files。 - 运行
docker compose up -d。Connectors → New → File Search 会显示 worker 和提取器是否可访问。
File Search 文档列出了所有设置项。
第 2 步 — 设置 File Search 连接器
在 AnythingMCP 中,打开 Connectors → New → File Search,选择 Network folder(在 Marketplace 中为:Network folder (File Search))。
- 文件夹。 选择
FILE_SOURCE_ROOTS之下的文件夹,例如/mnt/knowledge/Purchasing。 - 测试。 在保存任何内容之前,AnythingMCP 会列出该文件夹,并显示它是否可读。
- 扫描。 点击 Scan folder。AnythingMCP 会列出文件夹内容(暂不建立索引),并显示一棵树,其中包含每个子文件夹的文件数量、文件类型和年份。看起来像归档的文件夹(
Alt、Old、Archive、Backup)默认已取消勾选,这样 Microsoft Copilot 就不会引用过时的文档。在你勾选文件夹、文件类型或设置时间上限时,一个进度条会将你的选择与你的套餐进行对比;当所选内容超出套餐限额时,请取消勾选更多内容或升级套餐。 - 描述。 AnythingMCP 会根据扫描结果起草连接器的描述,例如"采购共享:供应商价格表和条款,PDF 和 Excel,德语,2019–2026"。这段文字会告诉 Microsoft Copilot 该文件夹包含什么内容,以及何时应搜索它。如果服务器上配置了 AI 模型,向导可以用 AI 起草描述,并会明确说明发送了哪些内容(文件夹名、文件名、最多 20 个样本文件的前 2,000 个字符,个人数据已脱敏);否则草稿将根据文件夹结构生成。你可以随意编辑。
- 激活。 选择工具前缀、同步间隔以及获得该连接器的 MCP 服务器,然后点击 Activate。
首次同步会立即开始,并在独立的后台服务中运行:同步期间,Microsoft Copilot 和你的其他连接器依然全速响应。连接器的 Files 标签页会显示进度:已发现、已索引和已跳过的文件、上次和下次同步时间,以及一个 Sync now 按钮。
第 3 步 — 复制服务器 URL
在 MCP Servers 中,打开你在向导里选择的服务器,并复制它的 URL。
第 4 步 — 在 Microsoft Copilot 中添加连接器
你的服务器 URL: 在 AnythingMCP 中,打开 MCP Servers → 此连接器所在的服务器,并复制它的 URL(
https://anythingmcp.example.com/mcp/…,其中为你自己的地址)。本指南中出现YOUR_SERVER_ID的地方,请使用它。
Microsoft Copilot 是从 Microsoft 的云端而不是你的电脑连接 MCP 服务器的,因此你的 AnythingMCP 需要一个公网 HTTPS 地址。仓库中的 ./setup.sh 会设置域名、HTTPS 和 OAuth(部署指南)。本步骤中出现 https://anythingmcp.example.com 的地方,请使用该地址;文件本身仍留在你的服务器上。
Microsoft Copilot 通过在 Copilot Studio 中构建的智能体来使用 MCP 服务器:你把 AnythingMCP 作为工具添加到智能体,然后将智能体发布到 Microsoft 365 Copilot 和 Teams。Copilot Studio 通过 Streamable HTTP 从 Microsoft 云端发起连接,AnythingMCP 支持该方式。
- 在 Copilot Studio 中,打开你的智能体(或新建一个),进入 Tools,依次选择 Add a tool → New tool → Model Context Protocol。
- 输入 Server name(例如
AnythingMCP)、说明该连接器用途的 Server description(例如"搜索并读取我们文件服务器上的文档:价格表、合同、流程规范"),以及 Server URLhttps://anythingmcp.example.com/mcp/YOUR_SERVER_ID。Copilot Studio 会根据该描述来决定何时调用该服务器。 - 在身份验证中选择 API key,将 Type 设为 Header,header 名称设为
X-API-Key,然后选择 Create。 - 在 Add tool 中,选择 Create a new connection,粘贴来自 AnythingMCP 的 MCP API 密钥(MCP Servers → 你的服务器 → API keys),然后选择 Add to agent。
- 在智能体的 Test 窗格中试一试:提出一个需要用到文件搜索工具的问题。
- 选择 Publish,然后选择 Channels → Microsoft 365 and Microsoft Teams,保持选中 Make agent available in Microsoft Copilot,再选择 Add channel。See agent in Teams 会替你完成安装;在 Microsoft 365 Copilot 中,输入 @ 并选择该智能体。
想要按用户单独登录?请选择 OAuth 2.0 → Dynamic discovery 代替 API 密钥:每位用户在智能体首次调用 AnythingMCP 时登录 AnythingMCP,该用户的 MCP 角色将决定其可访问哪些文件夹和工具。
第 5 步 — 提问
开启一个新对话,询问有关文件内容的问题。Microsoft Copilot 会先搜索索引,打开匹配的页面,并在回答中给出文件名、页码和文件日期,方便你核对来源。
Microsoft Copilot 可以对文件做什么
| 工具 | 功能 |
|---|---|
<prefix>_guide | 如何搜索此文件夹 |
<prefix>_search | 对所有已索引页面进行全文搜索:返回文件及其最佳页面、摘要和日期;支持按文件夹、文件类型和日期筛选,可按需优先显示最新内容 |
<prefix>_find | 按文件名(容错拼写错误)或模式查找文件 |
<prefix>_list | 显示一个文件夹:含数量的子文件夹,以及含大小和日期的文件 |
<prefix>_read | 以文本形式读取文件,可按页("1-3,7")或按字符窗口读取 |
<prefix>_grep | 对代码和数字进行精确搜索,附带上下各两行;电子表格行会带上其列名 |
<prefix>_status | 同步状态、数量、暂停原因以及内容摘要 |
<prefix>_view_page | 以图片形式显示 PDF 的一页或一个图像文件:图纸、印章、照片以及文本无法捕获的表格 |
<prefix>_get_file | 文件本身,以临时下载链接提供给工作区成员(图片同时作为附件) |
<prefix>_share_file | 临时链接(内部或公开);安装时默认关闭 |
<prefix> 是你在向导中选择的工具前缀,例如 pricelists。除 _share_file 外,每个工具都只读。
支持的文件: 可从 100 多种文件类型中提取文本:PDF(逐页);Word、Excel 和 PowerPoint,包括宏和模板变体以及 .xlsb;OpenDocument;Outlook 的 .msg、.eml 和 .mbox,包括其附件中的文本;.rtf、.epub、.xps;Apple Pages、Numbers 和 Keynote(通过其 PDF 预览);.svg 以及 .dxf CAD 图纸中的文本;CSV、Markdown、HTML、XML、JSON、YAML、日历和联系人;以及源代码。其他所有文件仍可按文件名找到,PDF 页面和图像也可以作为图片展示给 AI。没有文字层的扫描版 PDF 在 Enterprise 版中通过 OCR 读取。
可以在 Microsoft Copilot 中尝试的提示词
- "找到 Nordtor 的当前价格表,并告诉我 NT-601 875 x 2000 的价格。"
- "共享中的哪些文档提到了三个月的通知期?"
- "在 Purchasing 文件夹中搜索商品编号 4711-200,并显示它出现的每一行。"
- "我们的内部流程对超过 30 天的退货是怎么规定的?请引用相关段落和文件。"
同步的工作方式
AnythingMCP 会将每个文件的大小和修改时间与上次运行时对比,只读取新增和已更改的文件。内容与已索引版本相同的文件会通过校验和(SHA-256)识别,不会再次处理。已删除的文件会从索引中移除。无法读取的文件会在接下来的同步中重试,失败三次后(受密码保护的文件则立即处理)仍可按文件名找到,原因会显示在 Files 标签页中。
同步运行在独立的后台服务中,与回答 Microsoft Copilot 的服务器分开:规模较大的首次同步不会拖慢你的提问,同步期间搜索仍会使用上一次的索引正常工作。
当文件夹超出你的套餐限额时,同步会在下载任何内容之前暂停,而不是只索引其中一部分:Files 标签页会显示文件夹当前的文件数与你的套餐限额的对比,Microsoft Copilot 会继续搜索已索引的文件,并被告知较新的文件可能缺失,你可以取消勾选文件夹或升级套餐。已暂停的文件夹每天会重新检查一次,一旦符合限额便会自动恢复。
安全
- 只读。 连接器只列出和读取。它没有任何在共享上写入、重命名或删除的工具。
- 仅限你的工作区。 索引按工作区存储,每次查询都限定在其范围内,由应用程序和数据库(行级安全,Row-Level Security)双重保证。
- 文本提取器运行在没有对外路由的内部网络中,没有数据库,也没有任何密钥。
- 谁能看到什么取决于你的 MCP 角色:没有文件工具权限的角色看不到这些工具。在 Enterprise 版中,你还可以按角色允许或拒绝特定文件夹。
- 文件内容只是数据。 这些工具会告诉模型,绝不要执行文件内部发现的任何指令。
- 文件留在你的网络内。 只有工具针对某个问题返回的内容(匹配列表、某一页的文本)才会传输到你使用的 AI 提供商。
- 双重只读。 在主机上以只读方式挂载共享,并以只读方式绑定到容器中。
各套餐的限制
| 30 天试用 | Starter | Team | Enterprise | |
|---|---|---|---|---|
| File Search 连接器 | 3 | 1 | 3 | 不限 |
| 已索引文件(所有连接器合计) | 2,000 | 500 | 2,000 | 不限 |
| 自动同步 | 每天 | 每天 | 每天 | 最短每 5 分钟 |
| 每天手动同步次数 | 3 | 1 | 3 | 不限 |
| OCR、按角色的文件夹权限、工作区策略 | – | – | – | ✓ |
最大文件大小由 FILES_MAX_FILE_BYTES 设定(默认 100 MB)。File Search 需要付费许可证(Starter、Team 或 Enterprise)或 30 天试用;免费的 Community 版在试用结束后没有 File Search。所有套餐。
常见问题
为什么不用 SharePoint? 如果文件已经存放在 SharePoint 或 OneDrive 中,Microsoft 365 Copilot 可以原生搜索它们。本指南针对的是不在其中的文件:你办公室里的 Windows 文件服务器、NAS 或其他网络共享。
为什么 AnythingMCP Cloud 上不可用? Cloud 通过互联网访问文件,而 SMB(445 端口)不应暴露在互联网上。对于 Cloud,请在 NAS 上使用 SFTP 或 WebDAV,或者将 AnythingMCP 自托管在共享旁边。
需要自托管的 Enterprise 套餐吗? 不需要。Starter 包含一个最多 500 个文件的 File Search 连接器,Team 包含三个、最多 2,000 个文件。Enterprise 取消这些限制,并增加 OCR、按角色的文件夹权限和工作区策略。
AnythingMCP 会复制整个共享吗? 不会。AnythingMCP 保存的是提取出的文本,而不是文件。只有当文件发生更改,或你请求文件本身时,才会再次读取该文件。
会使用向量搜索吗? 不会。公司文档需要按精确的名称、代码和数字来搜索,在这类场景下,提供页面级结果的关键词搜索比 embedding 更可靠。
相关内容
- 用 AI 搜索公司文件服务器
- 用 AI 在供应商价格表中查找价格
- 用 AI 搜索 Nextcloud 和 WebDAV 文件
- 将 AI 对话中的文件作为下载链接分享
- 将网络文件夹或 Windows 文件服务器连接到 Claude
- 将网络文件夹或 Windows 文件服务器连接到 ChatGPT
- 将网络文件夹或 Windows 文件服务器连接到 Gemini
- 将网络文件夹或 Windows 文件服务器连接到 Cursor
- 将网络文件夹或 Windows 文件服务器连接到 Muse
- Microsoft Copilot 中的其他文件来源:SFTP 服务器、FTP / FTPS 服务器、WebDAV 服务器、S3 存储桶、Nextcloud、ownCloud、Synology NAS、QNAP NAS、Fritz!Box 存储、Hetzner Storage Box
这份指南对你有帮助吗?