Overview
The Model Context Protocol is an open standard for connecting AI applications to external systems. Skyvern’s MCP implementation allows MCP-enabled applications like Claude Desktop, Cursor, and Windsurf to:- Navigate and interact with websites
- Fill out forms automatically
- Download files from web portals
- Extract information from web pages
- Complete multi-step web workflows
Supported Applications
- Claude Desktop: Anthropic’s desktop app with MCP support
- Cursor: AI-powered code editor
- Windsurf: Code editor by Codeium
- Any custom MCP-enabled application
Prerequisites
- Python 3.11 environment
- An MCP-enabled application (Claude Desktop, Cursor, or Windsurf)
- Skyvern API key (for cloud mode) from app.skyvern.com
Installation
Run setup wizard
The setup wizard guides you through configuration:During setup, you’ll choose:
- Skyvern Cloud: Connect to app.skyvern.com (recommended)
- Local Mode: Run Skyvern server locally
Configuration
Theskyvern init wizard automatically configures the following applications:
- Claude Desktop
- Cursor
- Windsurf
- Custom MCP applications
Manual Configuration
For other MCP-enabled applications, add this configuration:- SKYVERN_BASE_URL:
- Cloud:
https://api.skyvern.com - Local:
http://localhost:8000
- Cloud:
- SKYVERN_API_KEY:
- Cloud: Get from app.skyvern.com/settings
- Local: Find in
.envfile after runningskyvern init
- PATH_TO_PYTHON: Full path to your Python 3.11 executable
Usage Examples
Claude Desktop
After setup, you can ask Claude to perform web tasks:- “Look up the top Hackernews posts today”
- “Fill out the contact form at example.com with my details”
- “Extract pricing information from competitor-site.com”
- “Download the latest report from the portal”
Cursor
Cursor can help automate browser tasks during development:- “Look up the top programming jobs in San Francisco”
- “Test the signup flow on our staging site”
- “Extract data from this table and save as CSV”
Windsurf
Windsurf integrates Skyvern for web automation:- “Do a form 5500 search and download some files”
- “Check if our demo form is working correctly”
- “Scrape product listings from this page”
Setup for Specific Applications
Claude Desktop
- Run
skyvern init - Select Claude Desktop from the application list
- Choose Cloud or Local mode
- Restart Claude Desktop
- Verify by asking: “Can you browse the web with Skyvern?”
Cursor
- Run
skyvern init - Select Cursor from the application list
- Choose Cloud or Local mode
- Restart Cursor
- Open the MCP panel to verify Skyvern is connected
Windsurf
- Run
skyvern init - Select Windsurf from the application list
- Choose Cloud or Local mode
- Restart Windsurf
- Check MCP servers in settings to verify
Custom MCP Application
- Run
skyvern init - Select Custom MCP App
- The wizard will display the configuration JSON
- Copy the configuration to your app’s MCP settings
- Restart your application
Cloud vs. Local Mode
Cloud Mode (Recommended)
Setup:- Get API key from app.skyvern.com
- Run
skyvern initand select Cloud
- No local server management
- Managed infrastructure
- Always up-to-date
- Scales automatically
- Requires internet connection
- Usage-based pricing
- Data processed in cloud
Local Mode
Setup:- Run
skyvern initand select Local - Start server with
skyvern run server
- Full control and privacy
- No usage limits
- Can customize LLM providers
- Data stays local
- Requires local setup and maintenance
- Must keep server running
- Manual updates needed
MCP Tools Available
When Skyvern MCP is configured, the following tools become available to your AI application:run_browser_task
Executes a browser automation task. Parameters:url(required): Starting URLgoal(required): Natural language description of the taskpayload(optional): Form data to submitschema(optional): JSON schema for data extraction
get_browser_task_status
Retrieves the status of a previously started task. Parameters:task_id(required): ID from run_browser_task
Tips and Best Practices
- Restart your app after setup: MCP configurations require application restart
- Check Python version: Must be 3.11 (run
python --version) - Keep API keys secure: Never commit API keys to version control
- Test with simple tasks first: Verify setup with easy tasks before complex ones
- Monitor task execution: Use the Skyvern dashboard to watch task progress
Common Issues
MCP server not found
Solution:- Restart your MCP application
- Verify configuration file location:
- Claude:
~/Library/Application Support/Claude/claude_desktop_config.json(Mac) - Cursor:
.cursor/mcp_config.json - Windsurf: Check Windsurf settings
- Claude:
- Run
skyvern initagain to reconfigure
Python version error
Solution:- Skyvern MCP requires Python 3.11
- Install Python 3.11:
brew install python@3.11(Mac) or download from python.org - Update PATH_TO_PYTHON in config to point to Python 3.11
Authentication fails
Solution:- Verify API key from app.skyvern.com/settings
- Check for extra whitespace in API key
- Ensure
SKYVERN_BASE_URLis correct:- Cloud:
https://api.skyvern.com - Local:
http://localhost:8000
- Cloud:
Local server won’t start
Solution:- Check if port 8000 is already in use
- Verify all dependencies installed:
pip install skyvern - Check logs for specific error messages
- Try running
skyvern initagain
Tasks fail or timeout
Solution:- Check the task recording in Skyvern dashboard
- Simplify the task goal
- Verify the target website is accessible
- Check your API rate limits (Cloud mode)
Debugging
View MCP Logs
Claude Desktop:Test Configuration
Test if MCP is working:Verify API Connection
For cloud mode:Advanced Configuration
Custom LLM (Local Mode Only)
In local mode, you can configure custom LLM providers:- After
skyvern init, edit.envfile - Set LLM provider environment variables
- Restart Skyvern server
Proxy Settings
If you’re behind a proxy:Support
For MCP integration help:- Check the GitHub README
- Review MCP specification
- Email support@skyvern.com
- Join the community Discord
Next Steps
Creating Tasks
Learn how to write effective browser automation tasks
Python SDK
Use Skyvern programmatically with Python
Self-Hosting
Run Skyvern on your own infrastructure
API Reference
Full API documentation