- Home
- MCP servers
- Snowfort Circuit
Snowfort Circuit
- typescript
50
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
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.
How to use
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.
How to install
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.
Configuration and start block
{
"mcpServers": {
"circuit-web": {
"command": "npx",
"args": ["@snowfort/circuit-web@latest"]
},
"circuit-electron": {
"command": "npx",
"args": ["@snowfort/circuit-electron@latest"]
}
}
}
Usage examples
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']"})
Notes on sessions and snapshots
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.
Available tools
browser_launch
Launch browser with AI optimizations and manage session lifecycle across multiple tools.
browser_navigate
Navigate to a URL and auto-snapshot for element references.
browser_resize
Resize the browser viewport to specified width and height.
browser_handle_dialog
Set automatic handling for dialogs like alerts, confirms, and prompts.
browser_tab_new
Create a new browser tab within the current session.
browser_tab_list
List all open tabs with titles and URLs.
browser_tab_select
Switch to a specific tab by its ID.
browser_tab_close
Close a specific tab by its ID.
browser_network_requests
Return the history of network requests for the session.
browser_console_messages
Return console messages captured during the session.
browser_generate_playwright_test
Generate Playwright test code from the recorded actions.
click
Click an element with optional window context and auto-snapshot.
type
Type text into an element with auto-snapshot.
hover
Hover the cursor over an element with auto-snapshot.
drag
Drag an element from a source to a target.
key
Press a keyboard key with optional window context and auto-snapshot.
select
Select a dropdown option by value.
upload
Upload a file to a file input element.
back
Navigate back in the browser history.
forward
Navigate forward in the browser history.
refresh
Reload the current page.
screenshot
Take a compressed screenshot and save to path.
snapshot
Get the accessibility tree with element refs.
Generate a PDF of the current page.
content
Get HTML content of the page.
text_content
Get visible text content from the page.
evaluate
Execute JavaScript in the page context.
wait_for_selector
Wait for an element to appear with a timeout.
close
Close the browser session.
app_launch
Launch Electron app with AI optimizations and control its session.
get_windows
List windows with type identification.
ipc_invoke
Call IPC methods within the Electron app.
fs_write_file
Write data to a file on disk within the app's context.
fs_read_file
Read data from a file on disk within the app's context.
keyboard_press
Press a key with optional modifiers.
click_by_text
Click an element identified by visible text.
click_by_role
Click an element by accessibility role.
click_nth
Click the nth matching element by selector.
keyboard_type
Type text with a configurable delay.
add_locator_handler
Handle modals or popups via locator-based actions.
wait_for_load_state
Wait for the app or page to reach a specific load state.
smart_click
Perform a smart click using multiple targeting strategies.
browser_console_messages
Get console logs from the Electron app.
browser_network_requests
Get network requests from the Electron app.