SideButton
About
Open-source MCP server with 40+ browser automation tools, YAML workflow engine, and installable domain knowledge packs. Includes Chrome extension for real DOM access, REST API, and Svelte dashboard. Works with Claude Code, Cursor, Claude Desktop, and any MCP client.
Details
- Author
- sidebutton
- Downloads
- 329
- Categories
- Web Scraping, Developer Tools, Automation
Jump to
- 40+ MCP tools via stdio and SSE transports
- YAML workflow engine with 34+ step types
- Chrome extension with real DOM access and recording mode
- Installable domain knowledge packs per web app
- REST API with 60+ endpoints for webhooks, cron, or agents
- Svelte dashboard for workflow management and run logs
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
SideButtonCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Run npx sidebutton@latest to start the server. It works with any MCP client (e.g., Claude Code, Cursor, Claude Desktop, VS Code, Windsurf, ChatGPT) via stdio and SSE transports.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"sidebutton": {
"sidebutton": {
"command": "npx",
"args": [
"sidebutton@latest"
]
}
}
}
}
McpServers
{
"sidebutton": {
"command": "npx",
"args": [
"sidebutton@latest"
]
}
}
Open-source AI agent platform for agentic coding — MCP server, knowledge packs, and AI workflow automation.
Run AI coding agents with agentic workflows, knowledge packs, and real browser control. Connect Claude Code, Codex, Cursor, ChatGPT, or any MCP client.
npx sidebutton@latest # Dashboard at http://localhost:9876
# Install and start npx sidebutton@latest # Or from source pnpm install && pnpm build && pnpm start # Open http://localhost:9876
pnpm cli serve # Start server with dashboard pnpm cli serve --stdio # Start with stdio transport (for Claude Desktop) pnpm cli list # List available workflows pnpm cli status # Check server status # Skill pack management pnpm cli registry add <path|url> # Install skill packs from a registry pnpm cli registry update [name] # Update installed packs pnpm cli registry remove <name> # Uninstall packs and remove registry pnpm cli search [query] # Search available skill packs # Creating skill packs pnpm cli init [domain] # Scaffold a new skill pack pnpm cli validate [path] # Validate pack structure pnpm cli publish [source] # Publish to a registry
SideButton is an open-sourceMCP server for AI coding agents. Agents connect to it directly for browser control, workflow automation, and domain knowledge.
Works withClaude Code,Codex,Cursor,Claude Desktop,VS Code,Windsurf,ChatGPT— any MCP client.
claude mcp add sidebutton --transport http http://localhost:9876/mcp
Persists to~/.claude.json; add--scope projectto write./.mcp.jsoninstead. Full guide:Claude Code SideButton MCP setup.
[mcp_servers.sidebutton] command = "sidebutton" args = ["serve", "--stdio"]
Full guide:OpenAI Codex SideButton MCP setup.
Add to~/Library/Application Support/Claude/claude_desktop_config.json:
{ "mcpServers": { "sidebutton": { "command": "npx", "args": ["sidebutton", "--stdio"] } } }
{ "mcpServers": { "sidebutton": { "url": "http://localhost:9876/mcp" } } }
JSON endpoints for external integrations. The same workflows are available via MCP locally and via REST remotely.
# Run a workflow curl -X POST http://localhost:9876/api/workflows/check_ticket/run \ -H "Content-Type: application/json" \ -d '{"params": {"ticket_id": "PROJ-123"}}' # List workflows curl http://localhost:9876/api/workflows # Get run log curl http://localhost:9876/api/runs/latest
Trigger workflows from webhooks, cron jobs, mobile apps, or other agents on different machines.
YAML-first orchestration for agentic workflows. Step types by family:
LLM steps work with Ollama (local), OpenAI, and Anthropic.
id: check_ticket_status title: "Check Jira ticket and classify" steps: - type: browser.navigate url: "https://your-org.atlassian.net/browse/{{ticket_id}}" - type: browser.extract selector: "[data-testid='status-field']" as: current_status - type: control.if condition: "{{current_status}} != 'Done'" then: - type: llm.classify prompt: "Should this ticket be closed? Context: {{current_status}}" classes: [close, keep_open] as: decision
Use{{variable}}syntax to reference extracted values or parameters:
steps: - type: browser.extract selector: ".username" as: user - type: shell.run cmd: "echo 'Hello, {{user}}!'"
Installable domain knowledge (skill packs) per web app or domain. Knowledge packs power AI code review, automated testing, and enterprise AI agent deployments.
Also referred to as skill packs in code and CLI commands.
- Selectors— CSS selectors for UI elements
- Data models— entity types, fields, relationships, valid states
- State machines— valid transitions per state
- Role playbooks— role-specific procedures (QA, SE, PM, SD)
- Common tasks— step-by-step procedures, gotchas, edge cases
sidebutton install github.com sidebutton install atlassian.net
Open registry with published packs for popular web apps. Build and share packs for any domain.
Install theSideButton Chrome Extensionfrom the Chrome Web Store.
- Browser commands — navigate, click, type, extract, scroll, wait, snapshot
- Real DOM access via CSS selectors — not pixel coordinates, not screenshots
- Recording mode — capture manual actions as workflows
- Embed buttons — inject action buttons into any web page
- WebSocket connection — stable reconnection, works with local or remote server
- Navigate to any website
- Click the SideButton extension icon
- Click"Connect This Tab"
- Workflow browser — list, search, run
- Run logs — step-by-step execution traces with timing, variables, errors
- Skill pack manager — install, browse, inspect
- System status — extension connection, LLM config, server health
SideButton handles multi-agent orchestration — from workflow execution to knowledge injection.
┌──────────────────────────────────────────────────────────────────────────┐ │ @sidebutton/server │ │ │ │ ┌─────────────────────┐ ┌──────────────────────────────────────────┐ │ │ │ stdio Transport │ │ Fastify HTTP + WebSocket (port 9876) │ │ │ │ ───────────────── │ │ ──────────────────────────────────── │ │ │ │ stdin → JSON-RPC │ │ GET / → Dashboard (Svelte) │ │ │ │ stdout ← JSON-RPC │ │ GET /ws → Chrome Extension WS │ │ │ │ (Claude Desktop) │ │ POST /mcp → MCP JSON-RPC (SSE) │ │ │ └──────────┬──────────┘ │ GET /api/* → REST API │ │ │ │ └──────────────────────┬───────────────────┘ │ │ │ │ │ │ └──────────────────┬──────────────────┘ │ │ ▼ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ @sidebutton/core │ │ │ │ │ │ │ │ - Workflow types & parser (YAML) │ │ │ │ - Step executors (YAML step types) │ │ │ │ - Variable interpolation │ │ │ │ - Execution context & events │ │ │ └────────────────────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────────┘ ▲ ▲ ▲ ▲ │ stdio │ WebSocket │ HTTP POST │ REST ▼ ▼ ▼ ▼ ┌──────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌───────────────────┐ │Claude Desktop│ │ Chrome Extension│ │ Claude Code │ │ Mobile App │ │ (MCP stdio) │ │ (Browser Auto) │ │ (MCP SSE) │ │ (REST Client) │ └──────────────┘ └─────────────────┘ └─────────────────┘ └───────────────────┘
sidebutton/ ├── packages/ │ ├── core/ # @sidebutton/core — workflow engine │ │ └── src/ │ │ ├── types.ts # Workflow types │ │ ├── parser.ts # YAML loader │ │ ├── executor.ts # Workflow runner │ │ └── steps/ # Step implementations │ ├── server/ # @sidebutton/server — MCP + HTTP + CLI │ │ ├── bin/ # CLI entry point │ │ └── src/ │ │ ├── server.ts # Fastify HTTP server │ │ ├── stdio-mode.ts # stdio transport entry point │ │ ├── extension.ts # WebSocket client │ │ ├── mcp/ # MCP handlers │ │ │ ├── handler.ts # MCP JSON-RPC logic │ │ │ ├── stdio.ts # stdio transport adapter │ │ │ └── tools.ts # Tool definitions │ │ └── cli.ts # Commander CLI │ └── dashboard/ # Svelte web UI │ └── src/ │ ├── App.svelte │ └── lib/ ├── extension/ # Chrome extension ├── workflows/ # Public workflow library ├── actions/ # User-created workflows ├── skills/ # Installed skill packs └── run_logs/ # Execution history
pnpm install # Install dependencies pnpm build # Build all packages pnpm start # Start server pnpm cli list # List workflows pnpm cli status # Check status
pnpm dev # Full dev mode (all packages) pnpm dev:server # Server with auto-restart on :9876 pnpm dev:dashboard # Dashboard watch build pnpm dev:core # Core library watch build
SideButton is a general-purpose browser automation framework. When automating third-party platforms:
- Review Terms of Service:Many platforms prohibit or restrict automation. You are responsible for complying with the terms of any platform you automate.
- Account Risk:Automation may result in account restrictions or suspension on some platforms.
- Use Responsibly:Only automate actions you would perform manually. Respect rate limits and platform guidelines.
The authors do not endorse or encourage violations of third-party terms of service.
This project uses mixed licensing — seeLICENSING.md:
- Engine, server, CLI, dashboard— Apache-2.0
- Browser extension— FSL-1.1-Apache-2.0 (converts to Apache-2.0 on 2029-03-15)
Enable AI agents to get structured data from unstructured web with AgentQL.
Web scraping, crawling, and change detection with AI
Official Apify MCP server for AI agents to run Actors, extract website data, and automate web scraping and crawling workflows.
1GB Free Trial, World's Leading Proxy Service Platform, Efficient Data Collection
Discover, extract, and interact with the web - one interface powering automated access across the public internet.
Automate browser interactions in the cloud (e.g. web navigation, data extraction, form filling, and more)
Easy web data access. Simplified retrieval of information from websites and online sources.
Adds powerful web scraping and search capabilities to LLM clients like Cursor and Claude.
Real-time web data, structured for agents
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


