urirun-connector-mcp-filesystem
Sandboxed filesystem connector for urirun/ifURI, providing query and command routes for file operations like list, read, stat, move, and write, with dry-run and sandboxing.
README
urirun-connector-mcp-filesystem
Sandboxed filesystem connector for ifURI / urirun, in the spirit of MCP filesystem servers. Query routes list/read/stat/find duplicates under one root. The guarded move command is also sandboxed and defaults to dry-run.
Catalog page: https://connect.ifuri.com/connectors/mcp-filesystem
Routes
| URI | Operation |
|---|---|
fs://host/dir/query/list |
list a directory |
fs://host/file/query/read |
read a text file (size-capped) |
fs://host/file/query/blob |
read a binary file as base64 (size-capped) |
fs://host/path/query/stat |
stat a path |
fs://host/dir/command/prune_empty |
remove empty directories under a sandboxed path |
fs://host/duplicates/query/find |
find exact duplicate files by SHA-256 |
fs://host/file/command/write_text |
write a UTF-8 text file under the sandbox root |
fs://host/file/command/write_blob |
write a base64-decoded binary file under the sandbox root |
fs://host/file/command/move_to_dir |
move one file into a sandboxed directory |
fs://host/file/command/move |
move or rename one file to a sandboxed path |
Sandbox
Everything resolves under IFURI_FS_ROOT (default: the current working
directory). Paths that escape the root are rejected with ok: false.
Query routes never write or delete. fs://host/dir/command/prune_empty,
fs://host/file/command/write_text, fs://host/file/command/write_blob,
fs://host/file/command/move_to_dir and
fs://host/file/command/move are the mutating routes; they default to
dry_run: true. File writes and moves do not overwrite unless
overwrite: true.
Install
pip install "urirun-connector-mcp-filesystem @ git+https://github.com/if-uri/urirun-connector-mcp-filesystem.git@v0.1.0"
# or, from the hub:
urirun connectors install mcp-filesystem --execute
Use
export IFURI_FS_ROOT="$PWD"
urirun-mcp-filesystem bindings > bindings.json
urirun compile bindings.json --out registry.json
urirun run 'fs://host/dir/query/list' registry.json \
--payload '{"path":"."}' --execute --allow 'fs://host/*'
urirun run 'fs://host/duplicates/query/find' registry.json \
--payload '{"path":".","extensions":"pdf,png,jpg"}' \
--execute --allow 'fs://host/*'
urirun run 'fs://host/file/query/blob' registry.json \
--payload '{"path":"2026.05/invoice.pdf","max_bytes":10485760}' \
--execute --allow 'fs://host/*'
urirun run 'fs://host/file/command/move_to_dir' registry.json \
--payload '{"path":"2026.05/manual.pdf","target_dir":"no_invoice","dry_run":true}' \
--execute --allow 'fs://host/*'
urirun run 'fs://host/file/command/move' registry.json \
--payload '{"path":"2026.05/_by_supplier/saas/me/invoice.pdf","target_path":"2026.05/2026.05.12-saas-invoice.pdf","dry_run":true}' \
--execute --allow 'fs://host/*'
urirun run 'fs://host/dir/command/prune_empty' registry.json \
--payload '{"path":".","exclude":"no_invoice","dry_run":true}' \
--execute --allow 'fs://host/*'
urirun run 'fs://host/file/command/write_text' registry.json \
--payload '{"path":"index.php","content":"<?php echo \"ok\";","dry_run":true}' \
--execute --allow 'fs://host/*'
urirun run 'fs://host/file/command/write_blob' registry.json \
--payload '{"path":"2026-06/invoice.pdf","bytes_b64":"JVBERg==","dry_run":true}' \
--execute --allow 'fs://host/*'
After installation, urirun can discover this connector automatically through
the urirun.bindings entry-point group:
urirun discover --out connectors.bindings.json --registry-out connectors.registry.json
urirun list --entry-points
The connector projects to MCP tools and A2A skills like any other urirun
connector (python3 -m urirun.v2_mcp tools registry.json).
License
Released under the terms in LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.