Skip to main content
Glama
if-uri

urirun-connector-mcp-filesystem

by if-uri

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

Related MCP server: MCP File Server

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.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/if-uri/urirun-connector-mcp-filesystem'

If you have feedback or need assistance with the MCP directory API, please join our Discord server