Skip to directory

About sidebutton

Open-source AI agent platform providing browser automation, workflow engine, and knowledge packs through an MCP server with 40+ tools for web control and automation.

What you can use it for

  • productivity
Connection and setup
Hosting
Local stdio process
Transport
stdio
Endpoint
Local process; no hosted endpoint documented
Authentication
No credentials were configured; the tested read-only tool “list_workflows” succeeded in an isolated environment. Other tools may have additional requirements.

Requirements

  • Node.js 18+
  • The npm package repository matched the repository linked from the public profile.

Setup steps

  1. npx -y sidebutton@1.5.9 --stdio
Tools 29+

The server returned 29 tools in tools/list. Only “list_workflows” was invoked with a synthetic read-only input and succeeded.

  • run_workflow

    Execute a workflow automation by ID. Returns a run_id for tracking execution status.

    Parameters: workflow_id, params
    01
  • get_run_log

    Retrieve the execution log for a completed workflow run.

    Parameters: run_id
    02
  • list_workflows

    List all available workflow automations.

    Parameters: source
    03
  • get_workflow

    Get detailed information about a specific workflow.

    Parameters: workflow_id
    04
  • list_run_logs

    List recent workflow execution logs.

    Parameters: limit, workflow_id
    05
  • publish_artifact

    Publish a piece of evidence (a screenshot, a design mockup, an RCA/coverage report) to the portal RIGHT NOW, mid-session, and get back a paste-ready snippet to cite in your ONE resolution comment on the ticket. The file is uploaded, attached to the ticket automatically, and given a tokenized no-login download link — the snippet contains that link plus the Jira inline-attachment reference. Use this the moment you have evidence worth showing, instead of waiting for the end of the session (nothing you save after your comment is written can be cited in it). Works on a dispatched job and for every turn of a live app editing session; on a ticketless/chat job it returns a download link only. Files must be ≤ 25 MB and live under your home directory. On any failure the file is left on disk and still uploads at session end, so save deliverables under artifacts/ as a fallback.

    Parameters: path, kind, caption
    06
  • get_browser_status

    Check if the browser extension is connected.

    07
  • capture_page

    Capture selectors and interactive elements from the current page.

    08
  • navigate

    Navigate the connected browser tab to a URL.

    Parameters: url
    09
  • snapshot

    Capture accessibility snapshot of the current page. Returns YAML with element refs for use with click/type. Use includeContent=true to also include visible text content as markdown. Note: taking a snapshot may dismiss inline modals or popups — use screenshot instead if you need to verify modal content.

    Parameters: includeContent
    10
  • click

    Click an element on the page.

    Parameters: selector, ref, element
    11
  • type

    Type text into an input element.

    Parameters: selector, ref, element, text, submit
    12
  • press_key

    Press a key on the keyboard. Use this for keyboard shortcuts, Tab navigation, Enter, Escape, arrow keys, etc. Supports key combinations like "Ctrl+A" or "Shift+Tab".

    Parameters: key, selector, ref
    13
  • scroll

    Scroll the page.

    Parameters: direction, amount
    14
  • extract

    Extract text content from an element.

    Parameters: selector
    15
  • screenshot

    Capture a screenshot of the current page. Prefer cropping to a specific area instead of capturing the full viewport — use ref (from snapshot), selector (CSS), or region (manual rect) to save context tokens. Full viewport is fine for first visit to a new page; after that, crop to the relevant section. Pass path to write the PNG to a file instead of returning image bytes — that is what you want for docs screenshots and QA evidence, since the file can then be published with publish_artifact and never enters your context.

    Parameters: ref, selector, region, path
    16
  • select_option

    Select an option from a native <select> dropdown element. Use this instead of click for <select> elements, as native dropdowns cannot be controlled via click events.

    Parameters: selector, ref, element, value, label
    17
  • fill

    Fill a form field by setting its value programmatically. Unlike "type" (which simulates keystrokes), "fill" sets the value directly and triggers React/Vue/Angular change events. Use this for framework-controlled inputs where "type" doesn't work.

    Parameters: selector, value
    18
  • wait

    Wait for an element to appear on the page. Blocks until the element matching the selector exists in the DOM, or throws after timeout.

    Parameters: selector, timeout
    19
  • exists

    Check if an element exists on the page. Returns true/false without throwing. Useful for conditional logic.

    Parameters: selector, timeout
    20
  • extract_all

    Extract text from all elements matching a selector, joined by a separator. Useful for getting lists of items, table columns, or repeated elements.

    Parameters: selector, separator, attribute
    21
  • extract_map

    Extract structured data from repeated elements. For each element matching the outer selector, extracts named fields using sub-selectors. Returns JSON array of objects.

    Parameters: selector, fields
    22
  • scroll_into_view

    Scroll a specific element into the viewport. More precise than "scroll" — targets an exact element.

    Parameters: selector, block
    23
  • hover

    Hover over an element (positions cursor for scroll targeting).

    Parameters: selector
    24
  • inject_css

    Inject a CSS rule into the current page. The main use is pre-capture redaction: blur or hide sensitive elements, then screenshot to a file, so no unredacted image ever exists. Pass an id to make the injection replaceable — injecting the same id again swaps the rule rather than stacking a second one.

    Parameters: css, id
    25
  • evaluate

    Execute JavaScript in the browser page context and return the result. Useful for reading page state, checking values, or performing calculations.

    Parameters: js
    26
  • browser_batch

    Run a SEQUENCE of browser actions in ONE call instead of one round trip per action. Each step is the same shape you would pass to the individual tool, plus a "cmd" field naming which tool to run. A batch is a DETERMINISTIC run: actions you already know the selectors for, executed top to bottom, halting at the first failure (unless on_error:"continue"). By default it ends by returning a fresh accessibility snapshot of the resulting page, so you can decide the next move in the same turn. The moment you need to SEE something before choosing an action, end the batch and read the returned snapshot. Guidance: - Prefer CSS selectors over refs inside a batch. Refs come from a prior snapshot and go stale the instant a step re-renders the page; selectors survive. - After a navigate (or an action that loads new content), add a { "cmd": "wait", "selector": "..." } step before interacting with the new content. - Add "optional": true to a step whose failure should not halt the batch. - Add "return

    Parameters: steps, on_error, snapshot_tail
    27
  • set_basic_auth

    Provide HTTP Basic Auth credentials so the browser logs in silently instead of showing the native username/password modal, which would otherwise block the page and hang automation. Applies to the connected tab. Omit "origin" to use the credentials for any site that challenges; pass "origin" (e.g. "https://staging.example.com") to scope them to one site. When a challenge has no matching credentials it is dismissed so the page never hangs.

    Parameters: username, password, origin
    28
  • clear_basic_auth

    Remove stored HTTP Basic Auth credentials. Omit "origin" to clear all stored credentials; pass "origin" to clear just that site.

    Parameters: origin
    29

This server’s available tools can vary by account, permissions, or configuration. The list shown is not its full runtime catalog.

Limitations and notes
  • Runtime verification covered one read-only tool call (list_workflows); other listed tools were not individually exercised.
Original sources

Documentation checked 2026-10-28T00:00:00Z. Connection has not been runtime tested.