Skip to main content
Glama

fileport

fileport gives an agent careful, sandboxed access to the local filesystem. It can read and write text, return media as base64, apply exact-match edits, walk directory trees, and search by glob — but only inside the directories you allow. Anything outside those roots is refused, including paths that escape through .. segments or symlinks.

Install

npx @reneturcios/fileport list .

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/fileport

The container defaults to the MCP server. Pass CLI arguments to use it as a CLI instead.

Related MCP server: ForgeGuard MCP

Allowed directories

The sandbox is the whole point of this tool, so it is configured explicitly:

  • fileport mcp /data/docs /data/notes — the arguments after mcp are the allowed roots.

  • FILEPORT_ROOTS — a path-delimiter-separated list used when no arguments are given.

  • With neither set, the current working directory is the only root.

Every path a tool receives is canonicalised (symlinks resolved; new files resolved through their parent) and checked against the roots before any read or write happens.

CLI

fileport list <path>     # entries as [FILE] / [DIR] lines
fileport read <path>     # print a file's text contents
fileport mcp [dirs...]   # start the stdio MCP server
fileport --version

Exit codes: 0 on success, 1 when an operation fails (for example a path outside the allowed directories), 2 for usage errors. The list and read helpers resolve paths against the working directory.

MCP server

npx -y @reneturcios/fileport mcp /path/to/allowed/dir

MCP client configuration:

{
  "mcpServers": {
    "fileport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/fileport", "mcp", "/path/to/allowed/dir"]
    }
  }
}

Tools

Tool

Input

What it returns

read_file

path

The file's full text contents.

read_text_file

path, optional head or tail (line counts, mutually exclusive)

The file text, or just its first/last lines.

read_media_file

path

Base64 image, audio, or blob content chosen by extension.

read_multiple_files

paths

Each file's contents; a failure for one file is reported in-band and does not stop the others.

write_file

path, content

Writes the text, creating parent folders as needed.

edit_file

path, edits (oldText/newText pairs), optional dryRun

Applies each exact-match replacement, or returns a diff-like preview when dryRun is set. Errors if an oldText is not found.

create_directory

path

Creates the directory and any missing parents.

list_directory

path

Entries as [FILE] name / [DIR] name lines.

list_directory_with_sizes

path, optional sortBy (name or size)

Entries with sizes; directories report their recursive total.

directory_tree

path, optional excludePatterns

A nested JSON tree of {name, type, children?} nodes.

move_file

source, destination

Moves or renames within the sandbox.

search_files

path, pattern, optional excludePatterns

Recursive glob search over file names (**, *, ?).

get_file_info

path

Size, created/modified/accessed times, type, and permissions.

list_allowed_directories

—

The roots currently in force.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables reading, writing, appending, and listing files, restricted to explicitly allowed directories with safety checks against path traversal and symlink escapes.
    4
    59 PyPI
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables coding agents to safely inspect and modify project files within explicitly allowed workspace roots, with controls for file operations, git status/diff, and optionally allowlisted command execution.
    11
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Grants an agent a bounded view of the filesystem where each directory is declared explicitly with a role (reference, sourcecode, workspace) that caps operations to read, write, or delete, resolving every path through a single confinement and permission checkpoint. Common secrets such as .env, keys, and .git are filtered from both access and listings, and deletions only move files into a per-root trash instead of erasing them.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to safely read, write, and search files within a whitelisted sandbox directory, rejecting any attempts to escape the sandbox.
    MIT