Kastor
Lets ChatGPT or MCP clients work with files on your machine, with tools for reading, editing, searching, git operations, and safety checks.
README
Kastor
Kastor lets ChatGPT, or another MCP client, work with files on your machine.
You choose the folders it can touch. The client can then read files, edit code, run checks, inspect git changes, and use a few Codex-like workflow tools.
Kastor is not another AI agent. It is the local tool server. The thinking still happens in ChatGPT or the MCP client you connect.
It is also not Codex itself. Codex is an agent experience with its own runtime. Kastor is the bridge that gives an MCP-capable client controlled access to your local files, shell checks, git state, and workflow helpers.

flowchart TD
Client["ChatGPT / MCP client"] --> Auth["Owner password approval"]
Auth --> Server["Kastor MCP server"]
Server --> Roots["Allowed project folders"]
Server --> Files["read / write / edit / apply_patch"]
Server --> Search["grep / glob / ls"]
Server --> Git["git status / diff / commit prep"]
Server --> Checks["run checks / self test"]
Server --> Plan["task plan / checkpoint / review / resume"]
Server --> Guard["rule check"]
Server --> Screen["optional Windows computer use"]
First Run
Requirements:
- Node.js
>=20.12 <27 - npm
- Git
- Bash. On Windows, Git Bash is enough.
- A public HTTPS tunnel if ChatGPT needs to reach this PC
Install from the current GitHub release:
npm install -g https://github.com/mno-d/kastor/releases/download/v1.0.10/mnod-kastor-1.0.10.tgz
kastor setup-guide
kastor init
kastor doctor
kastor doctor --json
kastor serve
From a clone:
npm install
npm run build
node dist/cli.js setup-guide
node dist/cli.js init
node dist/cli.js doctor
node dist/cli.js doctor --json
node dist/cli.js serve
Windows users can run:
.\scripts\bootstrap-windows.ps1 -RunInit
macOS and Linux users can run:
bash ./scripts/bootstrap-unix.sh --init
The MCP endpoint you give to ChatGPT is:
https://your-domain.example.com/mcp
KASTOR_PUBLIC_BASE_URL should be the origin only:
https://your-domain.example.com
Permissions
Start small.
kastor init asks for one of these presets:
project: only the folder you run setup fromprojects: one or more project folderspower: broad access on a private machine
For public examples, use project or projects.
Do not share a setup that allows C:\, /, or your whole home folder. That is
fine for your own private machine if you know what you are doing. It is a bad
default for anyone else.
If you want full-PC access, make it a private-machine choice. Do not put that in a tutorial, template, screenshot, or shared config.
Config Files
Kastor writes local config here by default:
~/.kastor/config.json
~/.kastor/auth.json
Keep auth.json private. It contains the owner password used when a client asks
to connect.
Kastor still accepts old DEVSPACE_* environment variables for compatibility,
but new setups should use KASTOR_*.
Important values:
KASTOR_ALLOWED_ROOTS=/absolute/path/to/your/project
KASTOR_PUBLIC_BASE_URL=https://your-domain.example.com
KASTOR_OAUTH_OWNER_TOKEN=change-me-to-a-long-random-secret
Tunnel
ChatGPT cannot reach 127.0.0.1 on your PC. You need a public HTTPS URL that
forwards to Kastor.
Common choices:
- ngrok
- Cloudflare Tunnel
- Tailscale Funnel
- your own reverse proxy
Point the tunnel to:
http://127.0.0.1:7676
Then run:
KASTOR_PUBLIC_BASE_URL=https://your-domain.example.com node dist/cli.js serve
See docs/tunnels.md for examples.
If this is your first time connecting ChatGPT Web, use docs/chatgpt-web-e2e.md and test with a small folder before opening a real project.
Main Tools
open_workspace: open an allowed project folderread,write,edit,apply_patch: inspect and change filesgrep,glob,ls,size_top: find code and filesgit_status,git_diff,git_stage,git_commit,git_publish: inspect and prepare git workrun_checks,self_test: run verificationtask_plan: save objectives, checkpoints, reviews, resume packets, and summariesrule_check: check risky steps before doing themcomputer_use: optional Windows UI control
Safety
Treat an approved MCP client like a developer sitting at your PC.
- Allow only folders you are willing to expose.
- Review diffs before committing.
- Do not commit
.env,~/.kastor/auth.json, tunnel URLs, or logs. - Keep
KASTOR_ALLOWED_HOSTSspecific. Do not use*outside debugging. - Use a tunnel URL you control.
Before Sharing
Run:
npm run typecheck
npm test
npm run build
npm audit --audit-level=high
kastor public-check
kastor doctor --json
npm pack --dry-run
Check for private data:
git status --short
git grep -n "sk-\\|xoxb\\|ghp_\\|GHp"
Also inspect:
.env~/.kastor/auth.json- logs under
~/.kastor - tunnel URL files
Those files should stay local and untracked.
npm Name
The plain kastor package name has an old unpublished record on npm, so do not
count on it for public publishing.
Use a scoped package name such as:
@mnod/kastor
The command can still be kastor; the npm package name and CLI command do not
have to match.
More Docs
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.