FreeRDC

io.github.danielarif26Published by GitHub account danielarif26v0.2.0Updated Nov 2, 2026

Safe folder access for ChatGPT and Claude: read, write and search files, risky tools opt-in.

VerifiedStreamable HTTPWeb executableFiles & StorageDeveloper Tools

Overview

AI-generated overview

FreeRDC gives ChatGPT and Claude read, write, search and edit access to folders you approve, refusing everything outside them.

What you can do
  • Read, write, search and edit files and documents inside approved folders
  • Reject paths outside the roots, including traversal and symlink escapes, and deny protected paths
  • Run shell, GUI and system tools only when local power is explicitly enabled
  • Record every operation in a hash-chained audit log with a STOP file kill switch
  • Pair a computer with a hosted connector using a short-lived pairing code
When to use it
Useful when you want an assistant to work on real files in a specific project or document folder on your machine, with containment and an audit trail, rather than broad filesystem access.
Requirements
Remote endpoint at freerdc.sjaman.deno.net with OAuth sign-in, or a local install. The desktop extension requires macOS and Node.js 22+; running from source needs Node.js 22+, npm and Git. At least one explicit allowed root folder must be chosen, and the hosted connector needs a downloaded agent kept running.
Before you install
The server can write, edit and delete files inside approved roots, so pick the narrowest folder and never add credentials, caches or unrelated projects. Shell, GUI and system tools are off by default; enabling them gives much broader power. The hosted agent is a prebuilt binary whose source is not included, and installer scripts follow the mutable main branch. Keep the local listener off the public internet.

Installation

In SourceWeft

  1. Open FreeRDC in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.danielarif26%2Ffreerdc/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "freerdc": {
      "type": "http",
      "url": "https://freerdc.sjaman.deno.net/mcp"
    }
  }
}

README

FreeRDC

Give ChatGPT and Claude access to the folders you choose — and nothing else.

FreeRDC is an MCP server for file work with AI assistants. It reads, writes, searches and edits files and documents inside the folders you approve, and refuses everything outside them. Anything that can run commands, click the screen or shut the machine down is off unless you turn it on.

Demo video · Website · Privacy · Listed on the official MCP Registry as io.github.danielarif26/freerdc

Why FreeRDC

  • Containment first. Paths outside your approved folders, .. traversal and symlink escapes are rejected before any file is touched. Protected paths such as device keys are denied even inside a root.
  • Risky tools are opt-in. Shell, GUI and system tools are disabled by default. The desktop extension exposes 23 file and document tools out of the box and 84 only when you enable local power.
  • Every tool is described and annotated. In the desktop extension, each tool has a title, a description, input and output schemas, and read-only / destructive / open-world hints, so the assistant knows what it is about to do.
  • Local. The desktop extension runs on your Mac. Your files are not sent to FreeRDC servers.
  • Audited. Every operation is written to a hash-chained audit log, with a STOP file kill switch.

Get started

Claude Desktop (desktop extension)

  1. Download freerdc-0.1.0.mcpb from Releases.
  2. Open it with Claude Desktop and pick the folder(s) FreeRDC may use.
  3. Leave local power tools off unless you need shell or GUI access.

Requires macOS and Node.js 22+. Details and privacy policy: mcpb/README.md.

ChatGPT (self-hosted)

Run the server locally and reach it privately through OpenAI Secure MCP Tunnel. Do not expose the local listener to the public internet. See docs/OPENAI-INTEGRATION.md and docs/DEPLOYMENT.md.

ChatGPT hosted connector (early access)

The hosted connector is in review for the ChatGPT app directory. Until it is listed, add it in ChatGPT developer mode with the MCP URL https://freerdc.sjaman.deno.net/mcp.

  1. Connect FreeRDC in ChatGPT. The sign-in page shows a 10-character pairing code (letters A–Z and digits 2–9).

  2. Download freerdc-agent-hosted.mjs from Releases. Requires Node.js 22+.

  3. Pair this computer, choosing the folder ChatGPT may use:

    sh
    node freerdc-agent-hosted.mjs connect --server https://freerdc.sjaman.deno.net/mcp --code YOUR_CODE --device-id my-mac --root /absolute/allowed/folder
  4. Keep the agent running while you use FreeRDC:

    sh
    node freerdc-agent-hosted.mjs run --device-id my-mac

The pairing code expires after about 10 minutes. The agent is a prebuilt binary; its source is not included in this repository.

Run from source

Requires Node.js 22+, npm and Git.

sh
npm cinpm run buildnode packages/server/dist/src/cli.js --root /absolute/allowed/folder --port 8787

The server binds to 127.0.0.1 only, requires at least one explicit root, stores state under ~/.freerdc, and leaves process tools disabled. Create ~/.freerdc/STOP to activate the kill switch. Pick the narrowest folder that fits the task — never add credentials, caches or unrelated projects to a root.

Installer scripts

macOS or Linux:

sh
curl -fsSLo install.sh https://raw.githubusercontent.com/danielarif26/freerdc/main/install.shsh install.sh

Windows PowerShell:

powershell
Invoke-WebRequest https://raw.githubusercontent.com/danielarif26/freerdc/main/install.ps1 -OutFile install.ps1.\install.ps1

The installers follow the mutable main branch. For higher assurance, review a commit or tag and pin it with FREERDC_REF=<tag-or-commit>. Rerun with --uninstall (macOS/Linux) or -Uninstall (Windows) to remove an installer-managed copy.

Packages

PackagePurpose
@freerdc/protocolWire schemas, RPC contracts, errors, redaction, negotiation
@freerdc/guardPath containment, protected-path denylist, concurrency primitives
@freerdc/agentFilesystem, process policy, RPC dispatcher, authenticated connector
@freerdc/serverMCP tools, HTTP host, OAuth, audit log, runtime CLI
sh
npm run typecheck && npm run build && npm test

Security

  • Secrets belong in environment variables or file references — never in this repository, profiles, shell history or tunnel metadata.
  • Report vulnerabilities privately; see SECURITY.md.

License

Released under AGPL-3.0-or-later. See docs/EDITIONS.md for what the Community Edition includes.

Source: README.md at commit 794fc02

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v0.2.0LatestSep 21, 2026

Score

85% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • 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