Web2MCP
Turn any website into a standalone MCP server.
AI Agent Auto-Install: Point your agent to this repo and say "install web2mcp" — it will read this README, detect your MCP client (Kilo/Claude Desktop), and configure itself automatically.
Features
- Discovery - Analyze websites: JSON-LD, API endpoints, HTML forms, headings, links
- OpenAPI Detection - Auto-detect and parse OpenAPI/Swagger specs
- Code Generation - Generate complete MCP server projects from any website
- Credential Management - Encrypted storage for API keys, tokens, cookies, OAuth
- Multi-Protocol - Works with any HTTP API (REST, GraphQL, etc.)
Quick Install (AI Agent)
If you're an AI agent installing this for a user:
# Detect OS and MCP client, then auto-configure
git clone https://github.com/Xzeroone/web2mcp.git /tmp/web2mcp
cd /tmp/web2mcp
# Install Python package
pip install -e .
# Detect MCP client and configure
if [ -f ~/.config/kilo/kilo.jsonc ]; then
# Kilo config - add web2mcp entry
cat >> ~/.config/kilo/kilo.jsonc << 'EOF'
,
"web2mcp": {
"type": "local",
"command": ["python", "-m", "web2mcp"],
"enabled": true
}
EOF
elif [ -f ~/Library/Application\ Support/Claude/claude_desktop_config.json ]; then
# Claude Desktop config
echo '{"mcpServers": {"web2mcp": {"command": "python", "args": ["-m", "web2mcp"]}}}' >> ~/Library/Application\ Support/Claude/claude_desktop_config.json
fi
Manual Install
Prerequisites
- Python 3.10+
- pip
Option 1: pip (No build required)
pip install web2mcp
Option 2: Local Install from Source
git clone https://github.com/Xzeroone/web2mcp.git
cd web2mcp
pip install -e .
Option 3: pip install from git
pip install git+https://github.com/Xzeroone/web2mcp.git
Then configure your MCP client:
Kilo (Recommended) ``jsonc // ~/.config/kilo/kilo.jsonc { "mcp": { "web2mcp": { "type": "local", "command": ["python", "-m", "web2mcp"], "enabled": true } } } ``
Claude Desktop ``json // ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "web2mcp": { "command": "python", "args": ["-m", "web2mcp"] } } } ``
Available Tools
| Tool | Description | |------|-------------| | web2mcp_discover | Analyze a website | | web2mcp_request | Make HTTP requests with auto-injected auth | | web2mcp_auth_store | Manage credentials (save/load/list/delete) | | web2mcp_auth_oauth | OAuth 2.0 flow helper | | web2mcp_api_spec | Parse OpenAPI/Swagger specs | | web2mcp_schema | Infer JSON schema from endpoints | | web2mcp_sitemap | Parse sitemap.xml | | web2mcp_forms | Extract HTML forms | | web2mcp_readme | Fetch GitHub READMEs | | web2mcp_generate | Generate a standalone MCP server |
Usage
As an MCP Server (stdio)
web2mcp
# or
python -m web2mcp
Generate an MCP Server for Any Site
# Generate an MCP server for GitHub
web2mcp_generate url=https://api.github.com name=mcp-github
# Generate an MCP server for Stripe
web2mcp_generate url=https://api.stripe.com name=mcp-stripe
# Output to specific directory
web2mcp_generate url=https://api.example.com output_dir=./my-mcps
Store Credentials
# Save API key
web2mcp_auth_store domain=api.github.com action=save headers='{"Authorization": "Bearer ghp_xxx"}'
# Save OAuth token
web2mcp_auth_store domain=api.stripe.com action=save oauth_token=sk_live_xxx oauth_type=Bearer
# List stored credentials
web2mcp_auth_store action=list
How It Works
- Discover - Web2MCP analyzes the target website
- Detect - Looks for OpenAPI specs at standard locations (
/openapi.json,/swagger.json, etc.) - Generate - Creates a complete MCP server project with typed tools per endpoint
- Use - Install, build, and run the generated MCP server
Generated MCP Servers
The generated MCP servers:
- Are standalone Python projects
- Share web2mcp's credential store (auth set up once works everywhere)
- Auto-inject credentials for every request
- Include typed tools for each API endpoint (if OpenAPI spec found)
- Fall back to generic HTTP tools if no spec available
Development
pip install -e ".[dev]"
python -m web2mcp
License
MIT












