webserver-mcp
Click on "Deploy 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., "@webserver-mcpadd a new blog post titled 'Hello World' to the site"
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.
webserver-mcp
Simple Python MCP server that lets agents edit a hosted website with natural
language. It exposes file tools over MCP and serves ./files/ over HTTP.
All file operations are sandboxed to <cwd>/files/ — paths are sanitized and
any attempt to escape (.., absolute paths) is rejected.
MCP tools
Tool | Purpose |
| List files under |
| Read full file or a line range |
| Regex search, returns |
| Full write or line-range replace/insert (creates file) |
| Delete file or dir |
| Move/rename |
Related MCP server: sitebox
Run
The server always runs as one HTTP app (uvicorn) serving both:
/— the public static site from./files/(no auth, end users view it)/mcp— the OAuth-protected MCP admin channel agents use to edit it
Auth (OAuth 2.0)
/mcp is guarded by a built-in, in-memory OAuth 2.0 provider so clients that
require OAuth (e.g. Claude.ai web) can connect. It implements metadata
discovery (RFC 8414 / 9728), Dynamic Client Registration (RFC 7591), and the
authorization-code grant with PKCE. Login is a single shared password
(MCP_PASSWORD) entered on a small web form. State is in memory, so a restart
just forces clients to re-authorize.
Run directly
pip install .
export MCP_PASSWORD=<shared-login-password> # required, server exits without it
export PUBLIC_URL=https://mcp.example.com # https origin clients reach (no trailing /)
export HOST=0.0.0.0 PORT=8000 # optional, defaults 127.0.0.1:8000
python server.pyRun with Docker
docker build -t webserver-mcp .
docker run -p 8000:8000 \
-e MCP_PASSWORD=<shared-login-password> \
-e PUBLIC_URL=https://mcp.example.com \
-v "$PWD/files:/app/files" \
webserver-mcpThe ./files volume persists site edits across container restarts.
Remote MCP client config (streamable-http)
Point the client at the /mcp URL with no Authorization header — it will
run the OAuth flow itself and open the login form in a browser:
{
"mcpServers": {
"webserver-mcp": {
"type": "streamable-http",
"url": "https://mcp.example.com/mcp"
}
}
}For Claude.ai web: add it as a custom connector with the same /mcp URL.
Config via env:
Var | Default | Meaning |
| — | shared OAuth login password, required (server exits without it) |
| derived from request | public https origin; required behind TLS/a proxy so OAuth metadata advertises correct URLs and the host passes DNS-rebinding checks |
|
| access-token lifetime (seconds) |
|
| bind address |
|
| bind port |
Production: terminate TLS in front (nginx/Caddy) and set PUBLIC_URL to the
public https URL. The password is compared with hmac.compare_digest
(constant-time). Tokens live only in memory.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP for creating, checking, deploying, and hosting static sites for AI agents.
Deploy AI-generated HTML/CSS/JS to instant public HTTPS URLs from any MCP-compatible agent.
Build, edit, host, and publish websites from AI assistants. Setup: https://mcp.orivox.org/
Hosting for AI agents: publish a live website in one tool call, ephemeral or forever.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables external AI agents to edit and manage a self-hosted website via a token-gated MCP server, including page content, data, media, and sandboxed functions with validation and rollback.3-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to upload, list, read, and delete static web pages via the Model Context Protocol, with REST API and optional authentication and TTL.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to deploy HTML pages and manage them (list, archive, move, rename) in a versioned library via MCP tools.20 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server for self-hosted static site publishing on Cloudflare Workers. Enables AI coding agents to deploy pages with a single 'publish' tool and get live URLs, with support for atomic updates, versioning, and per-site passwords.0MIT