Remote MCP
Provides read-only Git inspection tools for approved repositories, including status, diff, and log operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Remote MCPcheck the git status and recent commits in my project folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Remote MCP (alpha)
An owner-controlled, local MCP server for authorized file operations, read-only Git inspection, and preconfigured process execution. Designed for an Apple Silicon Mac and a later secure relay, without pretending that directory restrictions constitute a shell sandbox.
Status: pre-release local prototype under the MIT License. MCP tool calls have been tested with a real MCP client in an isolated test directory. ChatGPT remote access, macOS lifecycle, and SaaS are not yet verified or shipped.
Quick start (macOS, Node.js 22+)
git clone https://github.com/karkandea/remote-mcp.git
cd remote-mcp
npm ci
npm run check
npm run build
node dist/cli.js init
node dist/cli.js doctorPublic source: karkandea/remote-mcp. When using a local source archive, extract it and start at npm ci.
Edit ~/.config/remote-mcp/config.json with a small test directory first. See config.example.json. The default configuration authorizes no directory, no writes, and no commands.
deniedNames only adds exclusions. Sensitive names including .ssh, .aws, .env, .git, .npmrc, .netrc, and .kube are always denied, even if the custom list is empty. This is a defense-in-depth filter, not a guarantee against every secret or filesystem race.
node dist/cli.js startstart speaks MCP over stdio, so run it from an MCP host or compatible client. It does not run an HTTP server or open a public port. It must not write regular logs to stdout while serving MCP.
Local lifecycle commands:
Command | Behavior |
| Create a private, deny-by-default config (never overwrite it) |
| Launch MCP stdio server in the foreground |
| Print local configuration and environment diagnostics |
| Show non-secret configuration |
| Show locally persisted connection status |
| Persistently reject new tools; separately stop the MCP host process |
| Locally re-enable access after a stop/disconnect |
The stop command does not independently kill a host-owned stdio process; the host still controls its lifecycle. doctor reports localAccessEnabled, not whether ChatGPT or a remote client is connected. A launchd service, menu-bar UI, and automatic reconnection have not been implemented yet.
Related MCP server: fsguard-mcp
Capabilities
Tools | Permission |
| Approved roots, restricted names, size/depth caps |
| Explicit |
| Read-only operations in approved repositories |
| Only exact owner-configured command profiles; no arbitrary shell strings |
| Local status, persisted disconnect marker |
The terminal tool takes a profile name, not a shell script. For example, the sample-tests profile in the configuration invokes exactly /usr/bin/true in the sample directory. To allow project tests, a user must consciously add a command profile with an executable, fixed arguments, and an authorized working directory. Those commands are still capable of reading or writing outside approved roots when the operating system permits it. Never configure a broad shell profile, unreviewed scripts, or production credentials.
Connect with MCP clients
For local clients that support stdio servers, point the client to the absolute Node executable and the absolute path to dist/cli.js with argument start (or use a client configuration that invokes node via PATH). Set the child's current account to the non-root Mac user who owns the config. The client must not be configured to auto-approve dangerous tools.
Remote ChatGPT integration is a separate milestone: evaluate OpenAI Secure MCP Tunnel only where the owner's workspace and Platform organization have the required permissions. Do not expose a raw stdio-to-HTTP proxy or a terminal endpoint to the internet without authentication and authorization.
Development
npm run typecheck
npm test
npm run buildTests use synthetic temporary directories, not personal repositories. The MCP tests cover in-memory tool discovery, real disk reads, post-disconnect denial, and a separate real stdio subprocess handshake. Process tests execute a fixed Node test command.
Docs
Important limitations
The local prototype runs under the privileges of the user launching it. It is not a filesystem or process sandbox.
No interactive trusted owner-approval UI exists yet; therefore, only preauthorized command profiles are exposed. High-risk arbitrary commands are not supported.
Symlink checks and atomic file replacement reduce common errors but cannot eliminate all filesystem race conditions.
No remote authentication, device pairing, outbound relay, token storage, launchd integration, or SaaS tenancy exists in this release.
GitHub Actions are prohibited for this project.
scripts/ci.shis verified on the owner's VPS; the independent main-only CI poller and systemd timer are implemented in source but not deployed. Public PRs are not executed yet.macOS installation and full ChatGPT-to-Mac end-to-end demonstration remain outstanding.
Do not use this alpha on a privileged, company-managed, or production workstation.
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote MCP for Copilot CLI switch gate MCP, structured receipts, audit logs, and reviewer-ready evid
Paid remote MCP for LLM security scans, jailbreak checks, analytics, checkout, and readiness.
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Remote MCP for A2A dependency inspector MCP, structured receipts, audit logs, and reviewer-ready evi
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI clients to securely operate isolated coding workspaces with file, command, Git, and deployment tools via authenticated remote MCP.95MIT
- AlicenseAqualityCmaintenanceEnables safe filesystem and git operations confined within a single allowed directory tree, using symlink-resolved path containment to protect against path traversal. Users can read, write, list, and search files, as well as initialize repos and run status, stage, commit, diff, and log operations through MCP.11MIT
- AlicenseNot gradedqualityAmaintenanceEnables remote filesystem access and command/process control through MCP, with safe-by-default permission profiles that restrict file operations to configured roots and make command execution an explicit opt-in.MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP clients to run files, processes, shell sessions, browser automation, and native macOS UI actions under explicit workspace permissions and auditable controls.Apache 2.0