About Oatmeal
Oatmeal is an MCP server in the Browser category: oatmeal is a single binary tray application that extends your web agent's capabilities via an MCP server with browser automation, Bash, Python, and other automation utilities.
Install
git clone https://github.com/3p3r/oatmealThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Oatmeal
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Oatmeal
Oatmeal is a single binary tray application that extends your web agent's capabilities via an MCP server with browser automation, Bash, Python, and other automation utilities.
- Quick Start
- Configuration
- Command Mode
- Exporting Files from Command Mode
- MCP Tools
- CLI Equivalents
- URI Launch Mode
- Platform Notes
Quick Start
Oatmeal is meant to be used with its complementary barebones React component: Storybook here. Build on top of this foundation to create your own custom agent interfaces, or use the MCP server directly in your agents without a UI.
Download the latest binary from releases:
- Linux:
oatmeal-linux - macOS:
oatmeal-mac - Windows:
oatmeal-windows.exe
Run it:
# Linux/macOS
chmod +x ./oatmeal-*
./oatmeal-*
# Windows
.\oatmeal-windows.exe
By default, Oatmeal starts an MCP server on http://localhost:9607/mcp.
macOS note:
xattr -d com.apple.quarantine ./oatmeal-mac
Windows note:
You may need to allow the binary through SmartScreen or Windows Defender the first time you run it.
Configuration
Oatmeal works without configuration. Default behavior:
- Host:
0.0.0.0 - Port:
9607 - Browser path: auto-detected
- Page-agent model:
qwen3.5-plus - Page-agent URL:
http://localhost:11434/v1 - Page-agent key:
NA
Optional config sources:
~/.oatmeal./.oatmealOATMEAL_*environment variables- CLI flags
Example config:
port = 9607
host = "0.0.0.0"
browser_path = "/path/to/browser"
[page_agent]
model = "qwen3.5-plus"
url = "http://localhost:11434/v1"
key = "NA"
Nested page-agent environment variables use double underscores:
OATMEAL_PAGE_AGENT__MODELOATMEAL_PAGE_AGENT__URLOATMEAL_PAGE_AGENT__KEY
Precedence is:
built-in defaults -> ~/.oatmeal -> ./.oatmeal -> OATMEAL_* -> CLI flags
Command Mode
Use --command when you want to run a shell-style script instead of starting the MCP server.
Inside command mode, both agent-browser and the shorter ab alias are available.
Examples:
./oatmeal-* --command "agent-browser open https://example.com"
./oatmeal-* --command "ab open https://example.com"
./oatmeal-* --command "ab --headed open https://example.com"
./oatmeal-* --command "name=world && echo hello-$name > /report.txt"
./oatmeal-* --command "python3 -c \"print(2 ** 10)\""
Synthetic browser helpers are also supported:
./oatmeal-* --command "ab agentic-open https://example.com"
./oatmeal-* --command "ab agentic-prompt https://example.com 'summarize this page'"
./oatmeal-* --command "ab agentic-prompt 'find the primary CTA on the current page'"
Exporting Files from Command Mode
Oatmeal detects files created during command execution with a best-effort algorithm and captures them into MCP resources automatically.
MCP Tools
When Oatmeal is running as an MCP server, it exposes these tools:
healthversioncache_directoryscreenshot_systemshell_commanddelete_resourcedelete_all_resourcesuri_schemeshutdown
User-facing behavior:
shell_commandruns the same script surface as CLI--command- files generated by MCP command execution are returned as MCP resources
cache_directoryreturns the cache folder used by Oatmeal, agents can use this to pass toagent-browserfor file downloadsscreenshot_systemcaptures all attached monitors as image resourcesdelete_resourceanddelete_all_resourcesclean up generated resources from the current server
CLI Equivalents
Standalone CLI flags expose the same functionality as the corresponding MCP tools:
| MCP Tool | CLI Flag | Output |
|---|---|---|
version |
--version-json |
{"version": "X.Y.Z"} |
cache_directory |
--cache-dir |
{"cache_dir": "..."} |
screenshot_system |
--screenshot |
saves PNGs to cache dir, prints paths as JSON |
shell_command |
--command |
stdout/stderr passthrough |
uri_scheme register |
--register-uri |
confirmation text |
uri_scheme unregister |
--unregister-uri |
confirmation text |
URI Launch Mode
Oatmeal supports an oatmeal:// URI handler.
You can register or remove it explicitly:
./oatmeal-* --register-uri
./oatmeal-* --unregister-uri
When Oatmeal starts in default HTTP mode, it will register the URI handler automatically if needed.
Example URIs:
oatmeal://open?port=9911oatmeal://open?port=9911&host=127.0.0.1
Platform Notes
- Linux: x86_64 + aarch64
- macOS: universal binary
- Windows: 64-bit executable
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.