Discover MCPs & agents
Loading MCPs and agents…
Loading MCPs and agents…
Gives AI coding agents a live view of your Chrome extension, Electron app, or VSCode extension UI over plain HTTP
From the repo.
Give your AI coding agent eyes and hands for Chrome Extensions, Electron apps, and VSCode extensions.
[badges: npm / MIT] English | 日本語
KamoX - Web Extension Dev ServerAI coding agents (Claude Code, Cursor, Windsurf, Devin) are great at writing extension code — but they can't easily see the result. Plain Playwright doesn't cover the hard parts:
KamoX wraps all of this in a single HTTP API. Your agent starts a server, then builds, screenshots, clicks, and reads logs — without you copy-pasting errors into chat.
Run kamox guide --mode chrome to print an LLM-optimized API reference
your agent can consume directly. Point your CLAUDE.md / .cursorrules at it
and the agent self-serves.
Why HTTP instead of MCP? Any agent that can run
curlalready has everything it needs — no client setup, no config files, works with every coding agent today. For a dev server, plain HTTP is the simplest integration surface, so KamoX deliberately stays MCP-free.
# Start KamoX server (with auto-build enabled)
kamox chrome --auto-build
# Go to your Electron project directory
cd /path/to/electron-app
# Start KamoX server for Electron
kamox electron --entryPoint main.js
See docs/electron.md for details.
# Go to your VSCode extension project directory
cd /path/to/vscode-extension
# Start KamoX server for VSCode
kamox vscode --project-path .
See packages/plugin-vscode/README.md for details.
Note: If you want to run from source code as a contributor, please refer to CONTRIBUTING.md.
# Show help
kamox --help
# Start Chrome Extension development server
kamox chrome [options]
# Start Electron app development server
kamox electron [options]
# Start VSCode Extension development server
kamox vscode [options]
# Show AI agent API guide
kamox guide --mode chrome|electron|vscode|all
| Option | Description | Default |
|---|---|---|
-p, --port <number> | Server port number | 3000 |
-b, --build-command <cmd> | Build command | npm run build |
-c, --config <path> | Config file path | kamox.config.json |
--verbose | Show detailed logs and config | false |
| Option | Description | Default |
|---|---|---|
-o, --output <path> | Build output directory | dist |
--auto-build | Automatically build if output directory is missing | false |
| Option | Description | Default |
|---|---|---|
--entryPoint <file> | Electron main script | main.js |
| Option | Description | Default |
|---|---|---|
--project-path <path> | Extension project path | . |
--vscode-path <path> | Path to VSCode executable | Auto-detect |
-w, --workspace <path> | Workspace folder to open | None |
Creating a kamox.config.json in your project root saves you from specifying options every time.
{
"mode": "chrome",
"output": "./dist",
"buildCommand": "npm run build",
"port": 3000
}
For VSCode extensions:
{
"mode": "vscode",
"projectPath": ".",
"buildCommand": "npm run compile",
"port": 3000
}
| Method | Endpoint | Description |
|---|---|---|
| GET | /status | Check server status |
| POST | /rebuild | Rebuild project |
| GET | /scenarios | List available test scenarios |
| POST | /check-ui | Verify UI / take screenshot |
| POST | /check-script | Verify Content Script injection |
| GET | /logs | Get logs |
| POST | /playwright/mouse | Mouse Action (click, move, drag) |
| POST | /playwright/keyboard | Keyboard Action (type, press) |
| POST | /playwright/element | Element Action (click, fill, check) |
| POST | /playwright/wait | Wait Action (timeout) |
| POST | /playwright/reload | Reload Page/Window |
| GET | / | Development Dashboard |
| Method | Endpoint | Description |
|---|---|---|
| POST | /vscode/command | Execute a VSCode command by ID |
| GET | /vscode/output | Read an Output Channel |
| POST | /vscode/open | Open a file in the editor |
| GET | /vscode/notifications | Get notification toasts |
| POST | /vscode/notifications/dismiss | Dismiss a notification |
| GET | /vscode/statusbar | Read a status bar item |
| POST | /vscode/activity-bar | Switch Activity Bar view |
| GET | /vscode/tree-view/:viewId | List tree view items |
| POST | /vscode/quick-pick | Select from a Quick Pick |
| GET | /vscode/problems | Get Problems panel markers |
For the full LLM-friendly API reference, run:
kamox guide --mode vscode
KamoX allows AI agents to interact with the extension using Playwright-compatible APIs.
curl -X POST http://localhost:3000/playwright/element \
-H "Content-Type: application/json" \
-d '{"selector": "#submit-btn", "action": "click"}'
curl -X POST http://localhost:3000/playwright/keyboard \
-H "Content-Type: application/json" \
-d '{"action": "type", "text": "Hello World"}'
You can define reusable test scenarios in .kamox/scenarios/*.scenario.js to automate complex setup (e.g., opening specific tabs, setting storage) before verifying the UI.
List Scenarios:
curl http://localhost:3000/scenarios
Run Scenario & Check UI:
curl -X POST http://localhost:3000/check-ui \
-H "Content-Type: application/json" \
-d '{"scenario": "basic-test"}'
For full reference on scenario file structure and API, see docs/scenarios.md.
Occurs when the build output directory (default dist) is not found.
Solution:
npm run build--auto-build option--output option if differentSolution:
manifest.json is included in the output directoryhttp://localhost:3000)--verbose option to see detailed logsMIT
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.