{
  "markdown": "# File AI\n\nRead-only document awareness MCP server for agents. File AI uses Flyfish File Viewer core as the source of truth for format recognition, then turns local files into a stable profile, anchors, blocks, chunks, outline, search results, and contextual snippets so an agent can understand document content without reverse-engineering PDF, OOXML, spreadsheet, email, or archive internals.\n\nMCP Registry name: `io.github.flyfish-dev/file-ai`\n\n## Install\n\nUse it directly with `npx`:\n\n```bash\nnpx -y @flyfish-dev/file-ai\n```\n\nOr install it globally:\n\n```bash\nnpm install -g @flyfish-dev/file-ai\nfile-ai --transport stdio\n```\n\n## MCP Client Config\n\nStdio:\n\n```json\n{\n  \"mcpServers\": {\n    \"file-ai\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@flyfish-dev/file-ai\"]\n    }\n  }\n}\n```\n\nStreamable HTTP:\n\n```bash\nnpx -y @flyfish-dev/file-ai --transport http --host 127.0.0.1 --port 8765\n```\n\nEndpoint:\n\n```text\nhttp://127.0.0.1:8765/mcp\n```\n\n## Tools\n\n- `doc_analyze`: parse a local file and cache a document index.\n- `doc_read`: read blocks, chunks, or anchors from an existing index or path.\n- `doc_search`: search cached content with source anchors.\n- `doc_context`: retrieve nearby blocks around an anchor or query.\n- `doc_list_formats`: list File Viewer core registry formats, all supported extensions, renderer capabilities, and File AI extractor coverage.\n\n## Resources\n\n- `doc://{indexId}/profile`\n- `doc://{indexId}/outline`\n- `doc://{indexId}/chunks`\n\n## Supported Files\n\nFile AI recognizes formats through `@file-viewer/core/headless`, currently covering 206 registered extensions. `profile.format` is therefore aligned with the same renderer selection used by Flyfish File Viewer.\n\nContent extraction is a separate layer. File AI provides structured awareness for text/code/Markdown/JSON, PDF text, DOCX, XLSX/CSV, PPTX, EML, and archive manifests. Other File Viewer renderer-only formats such as CAD, 3D, media, image, geospatial, drawing, ebook, and data assets are still recognized in `profile.format`; when no structured text extractor exists yet, File AI returns a profile plus best-effort metadata/text and explicit warnings in `profile.warnings` and `profile.extraction`.\n\nEvery content block carries an anchor such as a page, slide, worksheet, row range, nested path, or byte/text location. Agents should cite returned `anchorId` values when making document-grounded claims.\n\n## Development\n\n```bash\npnpm install\npnpm build\npnpm test\npnpm validate:skill\n```\n\nRun locally:\n\n```bash\npnpm dev -- --transport stdio\npnpm dev -- --transport http --port 8765\n```\n\n## Publishing\n\nThe package includes:\n\n- npm metadata for `@flyfish-dev/file-ai`\n- MCP Registry metadata in `server.json`\n- GitHub Actions workflow `.github/workflows/publish-mcp.yml`\n\nRelease flow:\n\n```bash\ngit tag v0.1.0\ngit push origin v0.1.0\n```\n\nThe workflow publishes the npm package first, then publishes `io.github.flyfish-dev/file-ai` to the official MCP Registry through GitHub OIDC. The repository must have an `NPM_TOKEN` secret that can publish `@flyfish-dev/file-ai`.\n\nThe server is read-only. It does not mutate source documents.\n",
  "bytes": 3124,
  "sha": "15b4a81cb8ed8ec108ce54d4eb8a24fa81219ef367c76157f6740ca9a3440f6f",
  "repo_slug": "flyfish-dev/file-ai",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_flyfish_dev_file_ai_acb02853/readme"
}