Package Exports
- @onpiste/mcp
- @onpiste/mcp/constants
Readme
@onpiste/mcp
A Model Context Protocol (MCP) server for browser automation that enables AI applications to control and interact with web browsers through a Chrome extension.
✨ Features
Core Capabilities
- 🤖 AI-Powered Task Execution: Let AI agents handle complex multi-step browser tasks autonomously
- 🌐 Advanced Navigation: Full control over browser navigation including URL navigation, back/forward, and page refresh
- 🖱️ Smart Interactions: Click elements, type text, select dropdown options, and press keyboard keys
- 📜 Flexible Scrolling: Scroll by pixels, percentage, or directly to specific text on the page
- 🗂️ Tab Management: Open, close, switch between tabs, and get information about all open tabs
- 📸 Visual Capture: Take screenshots and capture accessibility snapshots of web pages
- 🔍 State Inspection: Access page URLs, titles, console logs, and full browser state information
- ⏱️ Smart Waiting: Wait for specific time durations or for elements to appear on the page
Key Advantages
- ⚡ Fast: Automation happens locally on your machine, resulting in better performance without network latency
- 🔒 Private: Since automation happens locally, your browser activity stays on your device and isn't sent to remote servers
- 👤 Logged In: Uses your existing browser profile, keeping you logged into all your services
- 🥷🏼 Stealth: Avoids basic bot detection and CAPTCHAs by using your real browser fingerprint
- 🤖 AI-Ready: Compatible with AI applications like Cursor, Claude Code, VS Code, Windsurf, Zed, and more
🛠️ Installation
Requirements
- Node.js >= v18.0.0
- Cursor, Claude Code, VS Code, Windsurf, Zed or another MCP Client
- Chrome or Chromium-based browser with the @onpiste extension installed
Quick Start
- Install the @onpiste Chrome extension (if not already installed)
- Configure your AI application using one of the methods below
Install in Cursor
Go to: Settings -> Cursor Settings -> MCP -> Add new global MCP server
Paste the following configuration into your Cursor ~/.cursor/mcp.json file. You may also install in a specific project by creating .cursor/mcp.json in your project folder. See Cursor MCP docs for more info.
{
"mcpServers": {
"onpiste": {
"command": "npx",
"args": ["-y", "@onpiste/mcp@latest"]
}
}
}Install in Claude Code
Run this command to add the MCP server. See Claude Code MCP docs for more info.
claude mcp add onpiste -- npx -y @onpiste/mcp@latestOr manually edit your configuration file:
{
"mcpServers": {
"onpiste": {
"command": "npx",
"args": ["-y", "@onpiste/mcp@latest"]
}
}
}Install in VS Code
Add this to your VS Code MCP config file. See VS Code MCP docs for more info.
"mcp": {
"servers": {
"onpiste": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@onpiste/mcp@latest"]
}
}
}Install in Windsurf
Add this to your Windsurf MCP config file. See Windsurf MCP docs for more info.
{
"mcpServers": {
"onpiste": {
"command": "npx",
"args": ["-y", "@onpiste/mcp@latest"]
}
}
}Install in Zed
Add this to your Zed settings.json. See Zed Context Server docs for more info.
{
"context_servers": {
"onpiste": {
"source": "custom",
"command": "npx",
"args": ["-y", "@onpiste/mcp@latest"]
}
}
}Install in Claude Desktop
Open Claude Desktop developer settings and edit your claude_desktop_config.json file to add the following configuration. See Claude Desktop MCP docs for more info.
{
"mcpServers": {
"onpiste": {
"command": "npx",
"args": ["-y", "@onpiste/mcp@latest"]
}
}
}🔨 Available Tools
The MCP server provides a comprehensive set of browser automation tools:
🤖 AI Task Execution
run_task- Request the agent to complete a task within the browser environmentnavigate_to- Navigate to a specified URL with onpiste optimizations
🧭 Navigation
browser_go_back- Go back to the previous pagebrowser_go_forward- Go forward to the next pagebrowser_refresh- Refresh the current page
🖱️ Interaction
browser_click- Perform click on a web page elementbrowser_type- Type text into an editable elementbrowser_select_option- Select an option in a dropdown
⌨️ Keyboard Operations
browser_press_key- Press a single key on the keyboardbrowser_send_keys- Send keys to the page (supports key combinations like Control+A)
📜 Scrolling
browser_scroll_to_percent- Scroll to a percentage of the page or elementbrowser_scroll_by- Scroll by a specified number of pixelsbrowser_scroll_to_text- Scroll to specific text on the page
🗂️ Tab Management
browser_get_tabs- Get information about all open browser tabsbrowser_switch_tab- Switch to a different browser tabbrowser_open_tab- Open a new browser tabbrowser_close_tab- Close a browser tab
🔍 State Inspection
browser_snapshot- Capture accessibility snapshot of the current pagebrowser_get_url- Get the current page URLbrowser_get_title- Get the current page titlebrowser_get_console_logs- Get the console logs from the browserbrowser_get_state- Get the current browser state including page information
📸 Screenshots
browser_screenshot- Take a screenshot of the current page
⏱️ Wait Operations
browser_wait- Wait for a specified time in secondsbrowser_wait_for_element- Wait for an element to appear on the page
📝 Usage Examples
Once configured, you can interact with your browser through natural language commands in your AI assistant:
Navigate to github.com and search for "MCP servers"Take a screenshot of the current pageClick on the login button and fill in the formThe MCP server will automatically handle the browser automation through the @onpiste extension.