Oracle CLI
oracle
A CLI and MCP server that packs a prompt with chosen project files and sends them to another model for a second opinion, saving the answer as a session
- 4,062 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The contents of the chosen files go to external providers, and files can hold secrets
- Browser mode drives Chrome and uses your signed-in ChatGPT or Gemini session
- API mode spends paid tokens on provider keys
Install
- Works in
Manual install
npm install -g @steipete/oracleNode.js 24 is required. To try without installing, use npx -y @steipete/oracle --help.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The contents of the chosen files go to external providers, and files can hold secrets
- Browser mode drives Chrome and uses your signed-in ChatGPT or Gemini session
- API mode spends paid tokens on provider keys
This is third-party code. Review the repository files before installing.
What it does
Oracle builds a request from a prompt and the files you pick with --file flags, then sends it to another model through an API or through your signed-in ChatGPT or Gemini browser session. Files can be paths, folders and globs with ! exclusions. The oracle --render command prints the exact request with numbered file lines and sends nothing, so you can inspect the bundle first. Every run is stored under ~/.oracle/sessions, so a long answer finishes in the background and can be reopened with oracle session or continued with --followup. The --models flag runs several API models at once and records cost and failures per model. The repository ships the oracle and oracle-advisor skills, and the oracle-mcp server connects to an agent over stdio.
Who it is for. For developers whose Claude Code or Codex got stuck and who want an independent review from another strong model, grounded in the project files.
Good fit when
- The agent cannot find the cause of a race and you want a fresh view of the whole runner module
- Before a release you want package.json and configs reviewed by another vendor's model
- You want a ChatGPT Pro answer on your subscription, without an API key, through browser mode
- You are comparing several models' answers to one code question with --models
- The agent needs a consultation over MCP and calls the consult tool
Not a fit when
- The files contain secrets or code that must not go to an external provider
- The task is small and the agent fixes a few lines faster on its own
- You have no Node.js 24 and do not want to install it
- You need a fully local run: Oracle sends context to cloud models
Example request
Run oracle over the src/oracle files without tests and ask it to find data races in the model runnerLimitations
Node.js 24 or newer is required. API mode needs a key for the provider you pick: OpenAI, Azure OpenAI, Anthropic, Gemini, xAI or OpenRouter. Browser mode runs through Chrome and a one-time ChatGPT or Gemini login, so it depends on their interface. The author advises treating model answers as advisory and checking them against the code and tests.
How to disable. Remove the package with npm uninstall -g @steipete/oracle or brew uninstall oracle. Delete oracle-mcp from the agent's MCP configuration. Stored sessions live in ~/.oracle/sessions; delete that folder by hand.
FAQ
How do I check what Oracle will send before running it?
Run oracle --render with a prompt and --file. It prints the request with numbered file lines, needs no keys and never contacts a model. --dry-run summary --files-report gives the token estimate and the resolved file list.
Does Oracle need an API key?
Not in browser mode, which uses your signed-in ChatGPT or Gemini session in Chrome. Oracle picks API mode when an OpenAI key exists and browser mode otherwise. Force it with --engine api or --engine browser.
How do I connect Oracle to Claude Code over MCP?
The server is oracle-mcp and speaks stdio. Its consult tool takes a prompt, files, a model and an engine, and with waitForCompletion false returns a sessionId at once.
Can I return to an answer that took long?
Yes. Runs are stored in ~/.oracle/sessions. oracle status --hours 72 lists recent ones, oracle session reattaches and oracle restart repeats a run.
What does Oracle do besides text consultations?
The chatgpt_image MCP tool generates images through browser ChatGPT and saves the file under ORACLE_HOME_DIR/generated. An output path outside that folder is refused by default.
Discussion
No questions or reviews yet.
Related
CLI toolsAn MCP server and CLI for code research: search and understand your project and all of GitHub with fewer tokens
An MCP server that lets the agent call Gemini through its CLI to analyze large files and whole codebases
An MCP server that builds a code graph once and serves the answer to the agent instead of re-reading files
A dependency-free CLI and MCP server that builds a call graph of a repository so the agent understands code without reading whole files
Lineai MCP Server
lineai-mcp-server
MCP server for the Lineai platform (formerly CodeLogic): impact analysis of code and database changes from a dependency graph
An MCP server that turns a large codebase into a semantic feature graph for precise navigation and meaning-based search
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Oracle (this entry) | no | 4,062 | ||
| PAL MCP | no | key is optional | 11,801 | An MCP server that calls several models from the agent; Oracle bundles files and also works through a browser session |
| Codex plugin for Claude Code | no | 34,440 | A plugin that runs Codex reviews inside Claude Code | |
| Agent Scripts | no | 7,394 | the author's personal set |
README in short
The description opens with Homebrew or npm install and a safe --render quick start. Three routes follow: API, browser and a manual bundle. Separate sections explain how to define context with file globs, how sessions are stored and how to run several models. For agents it points to the oracle-mcp server and the skill in the repository, with documentation on askoracle.sh.
README badge
Original SKILL.md
--- name: oracle description: "Oracle second-model review: bundle prompts/files, debug, refactor, design." --- # Oracle (CLI) — best use Oracle bundles a prompt and selected files into a one-shot request so another model can answer with real repository context through the API or browser. A prompt is required; attach files only when they add necessary context. Treat responses as advisory and verify them against the codebase and tests. ## Main use case (browser, GPT-5.6) Use browser mode with GPT-5.6 when the ChatGPT account exposes it. GPT-5.6 Sol and GPT-5.6 Sol Pro are distinct targets: base Sol uses the Extra High effort setting, while Pro is a separate picker target for difficult or long-running work. Recommended defaults: - Engine: browser (`--engine browser`) - Base Sol: `--model gpt-5.6-sol` - Base Sol maximum reasoning: `--browser-thinking-time extra-high` (Extra High) - Explicit Pro effort on GPT-5.6 Sol: `--browser-thinking-time pro` (fails closed if Pro cannot be confirmed) - Browser GPT-5.5 with Pro effort: `--model gpt-5.5 --browser-thinking-time pro` - API Pro maximum reasoning: `--model gpt-5.6-sol --reasoning-mode pro --reasoning-effort max` - Fallback: explicitly use `--model gpt-5.5-pro` when GPT-5.6 is unavailable - Attachments: directories/globs plus excludes; never attach secrets by default GPT-5.6 availability is account-dependent. Confirm the base Sol picker and retain model-selection evidence. A bare `Pro` picker label proves picker selection but does not, by itself, prove the server-side Pro generation. ## GPT-5.6 model selection This version supports GPT-5.6 on both surfaces, but Pro selection differs: - `gpt-5.6`: follow the GPT-5.6 family default - `gpt-5.6-sol`: pin ChatGPT's `GPT-5.6 Sol` entry - Browser: `gpt-5-pro` selects ChatGPT's `Pro` target - API: `--reasoning-mode pro` enables Pro execution on `gpt-5.6-sol`; pair it with `--reasoning-effort max` for maximum reasoning For base Sol, use: ```bash oracle --engine browser --browser-manual-login --model gpt-5.6-sol \ --browser-thinking-time extra-high \ -p "<task>" --file "src/**" ``` For GPT-5.6 Sol Pro through the Responses API, use: ```bash oracle --engine api --model gpt-5.6-sol \ --reasoning-mode pro \ --reasoning-effort max \ -p "<task>" --file "src/**" ```