Features › Agents and MCP

Let Claude Code run your macros, with a yes for the risky ones

Switchboard has an MCP server built in. Claude Code, Claude Desktop, Cursor or any other MCP client can list the macros you expose, run them, read their traces and draft new ones. You choose which macros are exposed, each run needs approval, there is a limit of 60 runs a minute, and every agent gets a trace. With Direct control turned on, an agent can also work in an app you name.

Coming soon See pricing

The Approvals window with a pending agent run, the destructive step marked

What it does

  1. You ask Claude Code to file the ticket.

    It calls run_macro on “Paste ticket as title” with key DAY-412. It sees only the macros you exposed, the inputs you declared become its arguments, and a choice input limits it to its options.

  2. An agent decides to run “Delete old builds”, a macro you marked destructive.

    The run waits for your answer, whatever the approval setting says. The request names the macro, the agent and the inputs. If you deny it, or five minutes pass, the macro does not run and the agent is told why.

  3. You wrote a macro that builds a report and mails it. You want a yes only for the mailing.

    Set Ask before it runs on that one step. The run stops there and asks in the Approvals window or the menu bar. Yes runs the step. No fails it, and If it fails decides what happens next.

  4. You ask the agent for a macro that renames screenshots.

    create_macro checks it and saves it in a group called Agent, turned off, not exposed, and marked as made by an agent. Nothing in it runs until you open it, read it and turn it on. An agent cannot expose a macro, enable one or loosen its approval.

  5. Next morning you want to know what the agent did.

    Activity › By Agent lists its runs, each tagged “Claude Code via MCP”. You can open one and step through the trace like your own. All agents together are held to 60 runs a minute.

  6. You want Claude Code to do something in Slack itself, not only run a macro.

    Turn on Direct control in Settings › Agents. Your iPhone shows “Claude Code wants to control Slack for 2 minutes” and you say yes first, or choose Looking only so it can never click or type. The session is fenced to the apps it named, never types into a password field and ends on its own. It all lands as one run in Activity, “Claude Code controlled Slack · 14 acts · 2 min”, with how sure Switchboard was of each element. If the job will recur, the agent can save the acts as a macro in the Agent group, turned off and with no trigger. The second time needs no agent.

Settings › Agents with the connect rows for Claude Code, Claude Desktop and Cursor, and the approval default

How it works

  1. Expose a macro, write the description the agent will read, and choose whether it needs approval.
  2. Open Settings › Agents. Copy the command for Claude Code, or add the entry to Claude Desktop or Cursor.
  3. Tell your agent to call lint_macro before create_macro. Watch the result in Activity › By Agent.
A macro exposed to agents
Do
  1. Show “Ticket {{ key }}”
Open in Switchboard to try it

Read the docs