urirun-connector-mcp-filesystem

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.

Category
Visit Server

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

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured