home / mcp / snowfort circuit mcp server
Provides dual-engine AI automation for web and Electron apps via MCP with AI-optimized control and snapshots.
Configuration
View docs{
"mcpServers": {
"snowfort-ai-circuit-mcp": {
"command": "npx",
"args": [
"@snowfort/circuit-web@latest"
]
}
}
}Snowfort Circuit MCP is a dual-engine automation server suite that lets you control web browsers and Electron desktop apps through AI agents. It exposes a cohesive set of tools to automate interactions, capture snapshots, and orchestrate complex workflows across web and desktop environments, enabling precise, repeatable AI-driven automation.
You use this MCP server by pairing it with an MCP client that can call the provided web and desktop automation tools. Start sessions for both web and Electron automation as needed, then issue actions like launching browsers or apps, navigating pages, clicking elements, typing text, and retrieving snapshots and logs. Each action returns an AI-ready snapshot with element references, so your agent can reason about the current page or app state and continue with reliable targeting.
Prerequisites: you need Node.js and a package manager. Install Node.js from the official source, then install a package manager of your choice (npm or pnpm). Ensure you can run commands from your terminal.
Step 1: Clone the MCP repository and navigate into it.
Step 2: Install dependencies using your package manager.
Step 3: Build all packages and start development servers.
{
"mcpServers": {
"circuit-web": {
"command": "npx",
"args": ["@snowfort/circuit-web@latest"]
},
"circuit-electron": {
"command": "npx",
"args": ["@snowfort/circuit-electron@latest"]
}
}
}After configuring, you can launch and control both web and Electron automation sessions. For web automation, start a browser session with optimized AI settings, navigate to a URL, and leverage the auto-snapshot features after each action. For desktop automation, launch an Electron app and perform interactions with element targeting, snapshots, and IPC where supported.
// Example: Launch browser with AI optimizations
const session = await browser_launch({
"compressScreenshots": true,
"screenshotQuality": 50
})
await browser_navigate({"sessionId": session.id, "url": "https://github.com"})
// Example: Launch and control an Electron app
const appSession = await app_launch({"app": "/Applications/Visual Studio Code.app"})
await click({"sessionId": appSession.id, "selector": "button[title='New File']"})Each action provides a snapshot that includes element references (for example, refs like e1, e2). Use these refs to target elements reliably in subsequent actions. Sessions can run concurrently with full isolation, so you can manage multiple automation streams at the same time.
Launch browser with AI optimizations and manage session lifecycle across multiple tools.
Navigate to a URL and auto-snapshot for element references.
Resize the browser viewport to specified width and height.
Set automatic handling for dialogs like alerts, confirms, and prompts.
Create a new browser tab within the current session.
List all open tabs with titles and URLs.
Switch to a specific tab by its ID.
Close a specific tab by its ID.
Return the history of network requests for the session.
Return console messages captured during the session.
Generate Playwright test code from the recorded actions.
Click an element with optional window context and auto-snapshot.
Type text into an element with auto-snapshot.
Hover the cursor over an element with auto-snapshot.
Drag an element from a source to a target.
Press a keyboard key with optional window context and auto-snapshot.
Select a dropdown option by value.
Upload a file to a file input element.
Navigate back in the browser history.
Navigate forward in the browser history.
Reload the current page.
Take a compressed screenshot and save to path.
Get the accessibility tree with element refs.
Generate a PDF of the current page.
Get HTML content of the page.
Get visible text content from the page.
Execute JavaScript in the page context.
Wait for an element to appear with a timeout.
Close the browser session.
Launch Electron app with AI optimizations and control its session.
List windows with type identification.
Call IPC methods within the Electron app.
Write data to a file on disk within the app's context.
Read data from a file on disk within the app's context.
Press a key with optional modifiers.
Click an element identified by visible text.
Click an element by accessibility role.
Click the nth matching element by selector.
Type text with a configurable delay.
Handle modals or popups via locator-based actions.
Wait for the app or page to reach a specific load state.
Perform a smart click using multiple targeting strategies.
Get console logs from the Electron app.
Get network requests from the Electron app.