MCP server for self-hosted Laserfiche repositories β search and read documents from Claude.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Laserfiche MCP.
search_entriesRun a raw Laserfiche search query, e.g. `{LF:Name="*.pdf"}
search_by_nameConvenience wrapper: name pattern + optional folder scope
search_naturalTwo-mode guided search: ask for grammar+templates, then run with auto-repair on 400
list_folderList children of a folder by ID
get_entryFetch metadata for one entry by ID
get_entry_by_pathResolve a full path to an entry
Community project β not affiliated with or endorsed by Laserfiche.
A Model Context Protocol server that lets
Claude (Desktop, Code, or any MCP client) search, read, and β when you opt
in β write documents in a self-hosted
Laserfiche repository. The same binary is
also a full command-line client (ls, get, cat, search, manifest,
dedupe, ...) for the deterministic work that needs no model at all.
Current release v2.3.0 β read and write tools for self-hosted Repository
API v1 and v2, a one-click Claude Desktop extension, an optional remote HTTP
transport with per-user OAuth for web clients, and a full CLI (ls, get,
cat, search, manifest, dedupe, ...) for the deterministic work that
needs no model at all. Read-only by default; write tools register only with
LF_READ_ONLY=false and are guarded by path fences and a two-step,
parameter-bound confirmation flow. See the CHANGELOG for
per-release notes and the roadmap for what's next.
Then wire it into your MCP client β see Claude Desktop and Claude Code below. Prefer environment variables over the wizard? See Configure. Want a no-terminal install instead? See the Claude Desktop extension.
Once connected, Claude can:
Read (always available):
search_natural flow (asks the server for templates first, then runs with automatic 400 repair)text/*) β all via get_document_edoc(..., mode=...)Write (opt-in via LF_READ_ONLY=false):
Operate safely β every write checks the entry's path against
LF_WRITE_PATHS_ALLOW / LF_WRITE_PATHS_DENY, folder deletes refuse
unless force_large_delete=true when child count exceeds
LF_DELETE_FOLDER_MAX_DESCENDANTS, and LF_WRITE_TOOLS_ALLOWED can
scope a deployment to e.g. metadata-only writes.
Two ways to run it, depending on who you are.
Chat with your Laserfiche repository from Claude Desktop β no terminal, no config files.
1. Download
Download the extension (always the newest version), or browse the latest release. You'll need Claude Desktop installed first.
2. Double-click & connect
Double-click the file, click Install, and fill in the short form that appears:
| Field | What to enter |
|---|---|
| Repository API URL | Your Laserfiche server address, e.g. https://your-server/LFRepositoryAPI |
| Repository name | The repository you pick when signing in to Laserfiche Web Access |
| Username | A Laserfiche account that can read the repository |
| Password | That account's password β stored safely in your computer's keychain |
Not sure what goes where? Ask whoever runs Laserfiche at your organization β it takes them a minute.
3. Ask
Open a chat and try:
[!NOTE] Claude can look, but never change or delete β the extension is read-only by default, and your password lives in your operating system's keychain, not a text file.
Full walkthrough for end users and team rollouts: docs/desktop-extension.md.
Requires Python 3.10+ and a reachable Laserfiche Repository API Server (self-hosted) with a service account that can read it, plus any MCP client (Claude Desktop, Claude Code, MCP Inspector). For local development:
Copy the example file and fill in your repository details:
Minimum required variables for self-hosted password-grant auth:
| Variable | Example |
|---|---|
LF_REPO_API_URL | https://lf.example.com/LFRepositoryAPI |
LF_REPOSITORY_ID | my-repo |
LF_API_VERSION | v1 (default) or v2 β see below |
LF_USERNAME | service-account |
LF_PASSWORD | (your service account password) |
LF_AUTH_MODE | password |
LF_READ_ONLY | true (default β see Writes section below) |
Optional write-mode variables (fences and allowlists default off; the delete batch cap and required-field validation default on β see the Safety model section for context):
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/laserfiche-mcp)<a href="https://allmcps.com/mcp/laserfiche-mcp"><img src="https://allmcps.com/api/badge/laserfiche-mcp?style=directory" alt="Laserfiche MCP on AllMCPs" /></a>