diff --git a/README.md b/README.md index 10413631..f089f271 100644 --- a/README.md +++ b/README.md @@ -65,9 +65,6 @@ Skyvern uses a swarm of agents to comprehend a website, and plan and execute its https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f - - - # Skyvern Cloud We offer a managed cloud version of Skyvern that allows you to run Skyvern without having to manage the infrastructure. It allows you to run multiple Skyvern instances in parallel and comes bundled with anti-bot detection mechanisms, proxy network, and CAPTCHA solvers. diff --git a/fern/images/claude_mcp_demo.mp4 b/fern/images/claude_mcp_demo.mp4 new file mode 100644 index 00000000..17cdf729 Binary files /dev/null and b/fern/images/claude_mcp_demo.mp4 differ diff --git a/fern/images/cursor_search_jobs.mp4 b/fern/images/cursor_search_jobs.mp4 new file mode 100644 index 00000000..0794dbbe Binary files /dev/null and b/fern/images/cursor_search_jobs.mp4 differ diff --git a/fern/images/windsurf_demo_fast.mp4 b/fern/images/windsurf_demo_fast.mp4 new file mode 100644 index 00000000..7fd74bf6 Binary files /dev/null and b/fern/images/windsurf_demo_fast.mp4 differ diff --git a/integrations/mcp/README.md b/integrations/mcp/README.md index 5ec92dbe..be47ab82 100644 --- a/integrations/mcp/README.md +++ b/integrations/mcp/README.md @@ -38,6 +38,19 @@ You can connect your MCP-enabled applications to Skyvern in two ways: skyvern run server ``` +## Examples +### Skyvern allows Claude to look up the top Hackernews posts today + +https://github.com/user-attachments/assets/0c10dd96-c6ff-4b99-ad99-f34a5afd04fe + +### Cursor looking up the top programming jobs in your area + +https://github.com/user-attachments/assets/084c89c9-6229-4bac-adc9-6ad69b41327d + +### Ask Windsurf to do a form 5500 search and download some files + +https://github.com/user-attachments/assets/70cfe310-24dc-431a-adde-e72691f198a7 + ## Supported Applications `skyvern init` helps configure the following applications for you: - Cursor @@ -64,4 +77,4 @@ Use the following config if you want to set up Skyvern for any other MCP-enabled } } } -``` \ No newline at end of file +``` diff --git a/skyvern/cli/commands.py b/skyvern/cli/commands.py index d45e0461..d021e76c 100644 --- a/skyvern/cli/commands.py +++ b/skyvern/cli/commands.py @@ -23,18 +23,22 @@ load_dotenv() cli_app = typer.Typer() run_app = typer.Typer() +setup_app = typer.Typer() cli_app.add_typer(run_app, name="run") +cli_app.add_typer(setup_app, name="setup") mcp = FastMCP("Skyvern") @mcp.tool() async def skyvern_run_task(prompt: str, url: str) -> dict[str, str]: - """Execute automated browser actions to accomplish a user's goal on a website. + """Use Skyvern to execute anything in the browser. Useful for accomplishing tasks that require browser automation. This tool uses Skyvern's browser automation to navigate websites and perform actions to achieve the user's intended outcome. It can handle tasks like form filling, clicking buttons, data extraction, and multi-step workflows. + It can even help you find updated data on the internet if your model information is outdated. + Args: prompt: A natural language description of what needs to be accomplished (e.g. "Book a flight from NYC to LA", "Sign up for the newsletter", "Find the price of item X", "Apply to a job") @@ -578,6 +582,7 @@ def setup_mcp_config() -> str: def setup_claude_desktop_config(host_system: str, path_to_env: str) -> bool: """Set up Claude Desktop configuration with given command and args.""" if not is_claude_desktop_installed(host_system): + print("Claude Desktop is not installed. Please install it first.") return False try: @@ -673,6 +678,7 @@ def setup_cursor_config(host_system: str, path_to_env: str) -> bool: return False +@setup_app.command(name="mcp") def setup_mcp() -> None: """Configure MCP for different Skyvern deployments.""" host_system = detect_os()