mcpField
F
File AI

File AI

本地服务
github.com文件与存储318 周前更新

关于 File AI

File AI 是只读 MCP 服务,可将本地文档索引为带稳定锚点的结构化内容。它面向需要检查、搜索和提取多种文档格式上下文、但不想自行解析文件内部结构的 Agent。

主要功能

  1. 01分析并索引本地文档
  2. 02读取内容块、分块和锚点
  3. 03按来源锚点搜索
  4. 04获取查询附近的上下文
  5. 05列出识别格式与提取覆盖范围

适用场景

  1. 01在本地文档中查找段落
  2. 02依据页码或幻灯片位置生成回答
  3. 03获取引用锚点附近的上下文
  4. 04处理前检查格式支持情况

MCP 相关

通过 MCP 工具提供文档分析、读取、搜索和上下文检索,并以资源形式提供文档配置、纲要和分块。服务为只读,不会修改源文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"flyfish-dev-file-ai": {
"command": "npx",
"args": [
"-y",
"@flyfish-dev/file-ai"
]
}
}
}
启动命令npx -y @flyfish-dev/file-ai

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@flyfish-dev/file-ai0.1.1

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pathstring是要分析的本地文件路径。
refreshboolean否即使此路径已缓存,也重新解析。
chunkSizeinteger否目标分块字符数。
chunkOverlapinteger否分块重叠字符数。
maxTextLengthinteger否分块前每个源锚点的最大文本字符数。

详细介绍

File AI

面向 Agent 的只读文档感知 MCP 服务。File AI 使用 Flyfish File Viewer 核心作为格式识别的事实来源,然后将本地文件转换为稳定的配置文件、锚点、区块、分块、大纲、搜索结果和上下文片段,让 Agent 无需逆向分析 PDF、OOXML、电子表格、电子邮件或归档文件的内部结构,也能理解文档内容。

MCP Registry 名称:io.github.flyfish-dev/file-ai

安装

直接使用 npx:

npx -y @flyfish-dev/file-ai

或者全局安装:

npm install -g @flyfish-dev/file-ai
file-ai --transport stdio

MCP 客户端配置

Stdio:

{
  "mcpServers": {
    "file-ai": {
      "command": "npx",
      "args": ["-y", "@flyfish-dev/file-ai"]
    }
  }
}

Streamable HTTP:

npx -y @flyfish-dev/file-ai --transport http --host 127.0.0.1 --port 8765

端点:

http://127.0.0.1:8765/mcp

工具

  • doc_analyze:解析本地文件并缓存文档索引。
  • doc_read:从现有索引或路径读取区块、分块或锚点。
  • doc_search:使用来源锚点搜索缓存内容。
  • doc_context:检索锚点或查询附近的区块。
  • doc_list_formats:列出 File Viewer 核心注册表中的格式、所有支持的扩展名、渲染器功能和 File AI 提取器覆盖范围。

资源

  • doc://{indexId}/profile
  • doc://{indexId}/outline
  • doc://{indexId}/chunks

支持的文件

File AI 通过 @file-viewer/core/headless 识别格式,目前覆盖 206 个已注册扩展名。因此,profile.format 与 Flyfish File Viewer 使用的渲染器选择保持一致。

内容提取是一个独立层。File AI 为文本、代码、Markdown、JSON、PDF 文本、DOCX、XLSX/CSV、PPTX、EML 和归档清单提供结构化感知。File Viewer 中其他仅由渲染器支持的格式,如 CAD、3D、媒体、图像、地理空间、绘图、电子书和数据资源,仍会在 profile.format 中被识别;如果尚无结构化文本提取器,File AI 会返回配置文件以及尽力提取的元数据/文本,并在 profile.warnings 和 profile.extraction 中明确列出警告。

每个内容区块都带有锚点,例如页、幻灯片、工作表、行范围、嵌套路径或字节/文本位置。基于文档内容提出主张时,Agent 应引用返回的 anchorId 值。

开发

pnpm install
pnpm build
pnpm test
pnpm validate:skill

本地运行:

pnpm dev -- --transport stdio
pnpm dev -- --transport http --port 8765

发布

该软件包包含:

  • @flyfish-dev/file-ai 的 npm 元数据
  • server.json 中的 MCP Registry 元数据
  • GitHub Actions 工作流 .github/workflows/publish-mcp.yml

发布流程:

git tag v0.1.0
git push origin v0.1.0

该工作流会先发布 npm 软件包,然后通过 GitHub OIDC 将 io.github.flyfish-dev/file-ai 发布到官方 MCP Registry。仓库必须配置一个能够发布 @flyfish-dev/file-ai 的 NPM_TOKEN 密钥。

此服务为只读服务,不会修改源文档。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。