npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@flyfish-dev/file-ai

v0.1.1

Published

Read-only document awareness MCP server for agent-ready local file context.

Readme

File AI

Read-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.

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

Install

Use it directly with npx:

npx -y @flyfish-dev/file-ai

Or install it globally:

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

MCP Client Config

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

Endpoint:

http://127.0.0.1:8765/mcp

Tools

  • doc_analyze: parse a local file and cache a document index.
  • doc_read: read blocks, chunks, or anchors from an existing index or path.
  • doc_search: search cached content with source anchors.
  • doc_context: retrieve nearby blocks around an anchor or query.
  • doc_list_formats: list File Viewer core registry formats, all supported extensions, renderer capabilities, and File AI extractor coverage.

Resources

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

Supported Files

File 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.

Content 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.

Every 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.

Development

pnpm install
pnpm build
pnpm test
pnpm validate:skill

Run locally:

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

Publishing

The package includes:

  • npm metadata for @flyfish-dev/file-ai
  • MCP Registry metadata in server.json
  • GitHub Actions workflow .github/workflows/publish-mcp.yml

Release flow:

git tag v0.1.0
git push origin v0.1.0

The 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.

The server is read-only. It does not mutate source documents.