Claude Desktop file access via MCP + LLMind

Published 2026-04-22 · 7 min read

Claude Desktop supports MCP servers out of the box. The filesystem MCP server exposes a directory to Claude; the files Claude reads through that server also carry their XMP-embedded semantic layer if you've run LLMind over the directory. This guide walks through the 5-step setup.

What you'll build

At the end of this guide, Claude Desktop has access to a directory of LLMind-enriched files. When you ask Claude about a PDF or image in that directory, it reads the file AND the structured description LLMind wrote. No re-uploading. No vector DB. The metadata is portable and signed.

Step 1 — Install LLMind

LLMind installs via pipx (or uv) — both put the CLI on your PATH in an isolated environment:

pipx install 'llmind-cli[all]'
llmind --version

Requires Python 3.11+. PDF rendering also needs poppler-utils (brew install poppler on macOS, apt install poppler-utils on Debian/Ubuntu).

Step 2 — Enrich your directory

Point LLMind at a directory of files. LLMind walks the directory, enriches each supported file (PDFs, images, audio, markdown, text), and writes the signed semantic layer (description, entities, transcription) into each file's XMP packet:

llmind enrich --recursive ~/docs/

Replace ~/docs/ with your directory path. The enrichment is one-time. After this, each file carries its semantic layer.

Step 3 — Install the filesystem MCP server

The filesystem MCP server is an NPM package maintained by Anthropic. Claude Desktop can invoke it on demand via npx — no global install needed. The server reads files from a directory you specify and exposes them to Claude through the MCP protocol.

To use it, you only need npx (which comes with Node.js). If you don't have Node.js installed, download it from nodejs.org.

Step 4 — Configure Claude Desktop

Claude Desktop reads MCP server configuration from a JSON file:

If the file doesn't exist, create it. Add the filesystem MCP server entry:

{
  "mcpServers": {
    "docs": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/you/docs"
      ]
    }
  }
}

Replace /Users/you/docs with the absolute path to the directory you enriched in Step 2. The server name ("docs") can be anything you want — it just labels this MCP server in Claude's UI.

Step 5 — Test in Claude

Restart Claude Desktop completely (quit and reopen). Open a new chat. Test the setup:

You: What files are in the docs folder?

Claude should list the files from your configured directory.

Now ask Claude to summarize a file:

You: Summarize research-paper.pdf

Claude should read the file through the MCP server and use the
XMP-embedded description LLMind wrote to provide rich context.

If it doesn't work, check Claude Desktop's developer settings (Settings → Developer) for MCP server logs. The logs show whether the filesystem MCP server started and whether Claude is connecting to it.

Troubleshooting

Wrong config path: Double-check the path to claude_desktop_config.json for your OS.

Permissions: Make sure Claude Desktop has read access to the directory you're exposing. Run ls -la ~/docs/ to verify the directory exists and is readable.

npx not found: Verify Node.js is installed: node --version. If not, install it from nodejs.org.

Claude Desktop cache: After updating the config, Claude Desktop may cache the old MCP server list. Fully quit Claude Desktop (not just close the window — use the menu: Claude → Quit Claude) and reopen.

For deeper MCP troubleshooting, visit the MCP documentation.

Related

Star on GitHub · Install CLI