Web2Actions
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Web2Actionscapture my CRM's traffic and expose it as MCP tools"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Web2Actions
Turn any website into an MCP server your AI agent can use — no API required.
Almost every website has data and actions, but few expose a clean public API. Web2Actions watches a site's browser traffic, reverse-engineers its real endpoints, and packages them into named tools your AI agent can call over Model Context Protocol (MCP) — the open standard for connecting agents to tools.
Concepts
Connector — a JSON file describing a website's capabilities as a list of tools (name, what it does, its inputs, its risk level, and the HTTP call behind it). This is the artifact Web2Actions produces and everything else operates on.
MCP server — the thing that exposes a connector's tools to an AI agent. Web2Actions serves any connector as a standard MCP server, so your agent can call the site's tools like any other tool.
Capture — the one step where a human is involved. A real browser opens; you log in and use the site as you normally would, and Web2Actions records the network traffic. It never guesses buttons or clicks for you.
Agent — an LLM (your choice of provider) that reads the captured traffic and reverse-engineers it into a connector.
Not supported: MFA / CAPTCHA / anti-bot challenges. If a site requires those, Web2Actions detects it and stops with a clear message rather than producing a broken connector.
Related MCP server: ApiTap
Install
pip install -e .
playwright install chromium # downloads the browser used by `capture`The full flow (90 seconds)
# 1. Model — one-time, saves your choice (see "LLM providers" below)
web2actions model gemini/gemini-2.5-flash
# 2. Capture — opens a browser; log in + use the site, then press Enter
web2actions capture https://app.example.com -o traffic.json
# 3. Analyze — an LLM turns the traffic into a connector (one tool per page/endpoint)
web2actions analyze traffic.json --url https://app.example.com -o connector.json
# 4. Validate + Serve — check it, then expose as MCP
web2actions validate connector.json
web2actions serve connector.jsonThat's it. After step 4, point your AI agent's MCP client at the server and the site's tools are callable.
Commands
model — choose your LLM
web2actions model # show the current model
web2actions model gemini/gemini-2.5-flash # set & remember a model (one-time)See LLM providers for how models/providers work.
capture — record a site's traffic
web2actions capture https://app.example.com -o traffic.jsonOpens a browser. Log in, use the site, then press Enter in the terminal. Traffic
is saved to traffic.json.
analyze — traffic → connector
web2actions analyze traffic.json --url https://app.example.com -o connector.jsonThe agent reads the traffic and writes a connector — one tool per page/endpoint
you visited. Add --assume to skip the clarifying questions it may ask.
validate — check a connector
web2actions validate connector.json # -> VALIDserve — expose a connector as MCP
web2actions serve connector.jsonServes over stdio. Authenticated apps: pass a local auth session so tool calls are authenticated:
# auth.json — {"token": "..."} and/or {"cookies": {"sessionid": "abc"}}
web2actions serve connector.json --auth auth.jsonKeep auth.json local with chmod 600 — it never goes into the connector or logs.
Start without capturing (try an example)
web2actions validate connector-spec/examples/simple-crm.json
web2actions serve connector-spec/examples/simple-crm.jsonLLM providers
Web2Actions uses litellm, which talks to 100+ providers through one
interface. You only ever set a model once with web2actions model; everything
else uses it.
Supported: OpenAI, Anthropic, Google Gemini, OpenRouter, DeepSeek, Groq, xAI, Mistral, and local servers (Ollama / llama.cpp / vLLM).
# Set any provider + model (the prefix = provider, the rest = model)
web2actions model openai/gpt-4o-mini
web2actions model anthropic/claude-sonnet-4
web2actions model gemini/gemini-2.5-flash
web2actions model openrouter/anthropic/claude-sonnet-4
web2actions model deepseek/deepseek-chat
# Use a local model (no API key)
web2actions model ollama/llama3API keys: each cloud provider reads its standard environment variable —
OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY,
etc. Local servers (Ollama/llama.cpp) need no key. Export the key for the
provider you use:
export GEMINI_API_KEY="your-key"Override for one command: pass --model to use a different model just for
that run:
web2actions analyze traffic.json --model openai/gpt-4o-miniHow it works under the hood
Capture records every request the browser makes while you use the site — across any domain (a site's real API may live on a separate host, e.g. a Supabase backend).
Analyze sends that traffic to your LLM, which picks out the real data-loading calls and names them as tools — one per page/endpoint. It works for almost any backend (REST, GraphQL, form-based, server-rendered pages).
Validate checks the connector against our schema (names, methods, risk).
Serve runs it as an MCP server, so an agent can call the site's tools.
Works for almost any website — custom REST APIs, GraphQL, Supabase-backed apps, form-based apps, server-rendered pages. Sites behind MFA/CAPTCHA are refused with a clear message.
Repository layout
connector-spec/— the connector schema + validatorcapture/— browser session, traffic recorder, noise filter, auth fileagent/— the reverse-engineering harness + provider-agnostic LLM backendgenerate/— (legacy) LLM extractionvalidate/— live tool smoke tests + risk taggingmcp-runtime/— the MCP server that serves any connectorcli/— theweb2actionscommand
License
Apache-2.0. Built on top of the open-source CLI-Anything and CLI-Anything-Web projects.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables real browser automation as tools in Cursor, Claude Desktop, Windsurf, and any MCP-compatible client, allowing AI agents to interact with web pages through natural language.24MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that turns any website into an API by capturing or importing API endpoints, enabling AI agents to interact with web services without a browser, with 20-100x token cost reduction versus browser automation.165125Apache 2.0
- AlicenseNot gradedqualityCmaintenanceCaptures browser network traffic, analyzes API patterns, and exposes analysis tools through an MCP server for AI-assisted workflows.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to call web APIs extracted from HAR files, turning browser traffic into MCP tools.181MIT
Related MCP Connectors
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rashidrashiii/web2actions'
If you have feedback or need assistance with the MCP directory API, please join our Discord server