Fileport

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Oct 29, 2026

Sandboxed file access: read, write, edit and search in allowed dirs.

VerifiedSTDIODesktop onlyFiles & StorageDeveloper Tools

Overview

AI-generated overview

Sandboxed local filesystem server that lets an assistant read, write, edit, move and search files only inside directories you explicitly allow.

What you can do
  • Read files as text, head/tail slices, base64 media, or several files at once
  • Write text files, apply exact-match edits with an optional dry-run preview, and create directories
  • List directories with sizes, build nested directory trees, and inspect file metadata
  • Move or rename files and run recursive glob searches within the sandbox
  • Report which allowed roots are currently in force
When to use it
Useful when an assistant needs to work with real files on your machine — reading documents, making targeted edits, or surveying a project folder — while keeping access limited to chosen directories. The sandbox makes it a reasonable choice when you want file access without exposing your whole disk.
Requirements
Runs locally over stdio, either via npx with the npm package or as a Docker container image. Allowed roots are given as arguments after the mcp subcommand or through the FILEPORT_ROOTS environment variable; with neither set, the current working directory is the only root. No accounts, keys or network access are declared.
Before you install
Tools can write, edit, move and create files and directories inside the allowed roots, so point the roots at a narrow directory rather than a home or system folder. Access control depends entirely on that root configuration; anything outside it is refused, including paths escaping via .. or symlinks. Media reads return file contents as base64 to the assistant.

Installation

In SourceWeft

  1. Open Fileport in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

bash
npx @reneturcios/fileport list .

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/fileport

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

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

bash
fileport list <path>     # entries as [FILE] / [DIR] linesfileport read <path>     # print a file's text contentsfileport mcp [dirs...]   # start the stdio MCP serverfileport --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

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

MCP client configuration:

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

Tools

ToolInputWhat it returns
read_filepathThe file's full text contents.
read_text_filepath, optional head or tail (line counts, mutually exclusive)The file text, or just its first/last lines.
read_media_filepathBase64 image, audio, or blob content chosen by extension.
read_multiple_filespathsEach file's contents; a failure for one file is reported in-band and does not stop the others.
write_filepath, contentWrites the text, creating parent folders as needed.
edit_filepath, edits (oldText/newText pairs), optional dryRunApplies each exact-match replacement, or returns a diff-like preview when dryRun is set. Errors if an oldText is not found.
create_directorypathCreates the directory and any missing parents.
list_directorypathEntries as [FILE] name / [DIR] name lines.
list_directory_with_sizespath, optional sortBy (name or size)Entries with sizes; directories report their recursive total.
directory_treepath, optional excludePatternsA nested JSON tree of {name, type, children?} nodes.
move_filesource, destinationMoves or renames within the sandbox.
search_filespath, pattern, optional excludePatternsRecursive glob search over file names (**, *, ?).
get_file_infopathSize, created/modified/accessed times, type, and permissions.
list_allowed_directories—The roots currently in force.

Development

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

License

MIT — see LICENSE.

Source: README.md at commit dacc9d0

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestOct 29, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts