--- title: MCP Server subtitle: Connect AI assistants to browser automation via Model Context Protocol slug: going-to-production/mcp --- The Skyvern MCP server lets AI assistants like Claude Desktop, Cursor, and Windsurf control a browser. Your AI can fill out forms, extract data, download files, and run multi-step workflows, all through natural language. Requires Python 3.11, 3.12, or 3.13. ## What you can do The MCP server exposes 31 tools across 5 categories: | Category | Key tools | What they do | |----------|-----------|--------------| | **Session management** | `session_create`, `session_close`, `session_list`, `session_connect` | Open, manage, and reuse browser sessions | | **Browser actions** | `act`, `navigate`, `click`, `type`, `scroll`, `select_option`, `press_key`, `wait` | Control the browser with natural language or CSS/XPath selectors | | **Data extraction** | `extract`, `screenshot`, `evaluate` | Pull structured data from pages, capture screenshots, run JavaScript | | **Validation** | `validate` | Check page conditions using AI (returns true/false) | | **Workflows** | `workflow_create`, `workflow_run`, `workflow_status`, `workflow_get`, `workflow_update`, `workflow_delete` | Build and execute multi-step automations | Your AI assistant decides which tools to call based on your instructions. For example, asking "go to Hacker News and get the top post title" triggers `session_create`, `navigate`, `extract`, and `session_close` automatically. ## Setup ### Option A: Setup wizard (recommended) ```bash pip install skyvern skyvern init ``` The wizard will: 1. Ask whether to use Skyvern Cloud or a local server 2. Configure your LLM provider (if local) 3. Detect your MCP clients (Claude Desktop, Cursor, Windsurf) 4. Write the MCP configuration file for each client automatically If you chose local mode, start the server before using MCP: ```bash skyvern run server ``` ### Option B: Manual configuration Add this to your MCP client's configuration file: ```json { "mcpServers": { "Skyvern": { "env": { "SKYVERN_BASE_URL": "https://api.skyvern.com", "SKYVERN_API_KEY": "YOUR_SKYVERN_API_KEY" }, "command": "/usr/bin/python3", "args": ["-m", "skyvern", "run", "mcp"] } } } ``` Replace `/usr/bin/python3` with the output of `which python3` on your machine. For local mode, set `SKYVERN_BASE_URL` to `http://localhost:8000` and find your API key in the `.env` file after running `skyvern init`. | Client | Path | |--------|------| | **Claude Desktop** (macOS) | `~/Library/Application Support/Claude/claude_desktop_config.json` | | **Claude Desktop** (Linux) | `~/.config/Claude/claude_desktop_config.json` | | **Cursor** | `~/.cursor/mcp.json` | | **Windsurf** | `~/.codeium/windsurf/mcp_config.json` | ## See it in action **Claude Desktop** looking up the top Hacker News posts: **Cursor** finding programming jobs: **Windsurf** searching Form 5500 and downloading files: ## Troubleshooting The Skyvern MCP server requires Python 3.11, 3.12, or 3.13. Check your version with `python3 --version`. If you have multiple Python versions installed, make sure the `command` in your MCP config points to a supported version: ```bash which python3.11 # Use this path in your MCP config ``` You can also use `pipx` to install in an isolated environment: ```bash pipx install skyvern ``` Make sure the Skyvern server is running before using MCP tools: ```bash skyvern run server ``` Confirm the server is reachable at `http://localhost:8000`. If you changed the port, update `SKYVERN_BASE_URL` in your MCP config to match. Verify that the `command` path in your MCP config is correct: ```bash which python3 ``` Use the full absolute path (e.g., `/usr/bin/python3` or `/Users/you/.pyenv/shims/python3`), not just `python3`. Restart your MCP client after editing the config file. ## Next steps Learn the API for running browser automations Get started with the Skyvern SDK