Your key.
Your terminal.
Your engine.
A BYOK AI coding agent for the command line. Requests go straight to Anthropic, Google, or OpenAI with your own key — no proxy, no token markup. It edits files behind a diff-approval gate and drives Roblox Studio and Godot 4 over MCP.
npm install -g onlycli
Node.js 18.17+ · MIT licensed
Engine integrations
/mcp <engine> launches the engine's MCP server as a child process and
speaks to it over stdio. Its tools are described to the model, which calls them by
emitting a tool block; OnlyCLI runs the call and feeds the result back.
Roblox Studio
Uses the official MCP server built into Studio — no plugin, no token. Edit scripts, run Luau, navigate the DataModel, search the Creator Store. Scripts inside inserted models are stripped by default.
Godot 4
Runs godot-mcp through npx, pinned to a known version.
14 tools: launch the editor, run a project, read debug output, stop it, create
scenes and nodes. The binary is auto-detected; GODOT_PATH overrides.
Unity
C# scripting and GameObject manipulation. Listed in /mcp list, not implemented yet.
Unreal Engine
Blueprint and C++ support for UE5. Listed in /mcp list, not implemented yet.
What it actually does
Bring your own key
Anthropic, Google Gemini, or any OpenAI-compatible endpoint. Requests go directly to the provider, so you see your real usage and pay no markup.
Diff before write
Every file change is shown as a diff and waits for approval. /auto on
skips the gate when you want speed; piped or CI runs never write, because
nothing can approve.
Sandboxed paths
Agent writes resolve inside the working directory — ../ and escaping
absolute paths are rejected. Secret-shaped files (.env,
*.pem, *.key) are never read or written.
Web access, guarded
Search and page fetch are on by default, keyless via DuckDuckGo. Fetched text reaches the model as untrusted data; localhost, private ranges, and cloud metadata addresses are blocked, re-checked after each redirect.
Session control
Switch provider, model, or endpoint mid-conversation. Pin files so they are
re-sent every turn, or /scan the project. Multi-line input via a
trailing \ or a block delimiter.
Keys where they belong
Environment variable first, then the OS keychain, then a 0600 file
with a warning. auth list masks values; a full key is never printed.
Install it and point it at your project
One command, your own key, and a diff you approve before anything is written.