# webmcp.fast > webmcp.fast is a hosted MCP gateway. Run a small open-source daemon on your machine and every local MCP server you attach gets a stable, OAuth-protected URL that Claude, ChatGPT, Grok, Cursor or your own agent can use. No open ports, no tunnel software. Free tier: 1 handle, 1 device, 1 server, 1 connector. Each attached server gets its own address, https://.webmcp.fast///mcp, which is a complete remote MCP server (Streamable HTTP, OAuth 2.1). The daemon on the user's machine dials out; nothing listens on their machine. Operated by Proticom. Contact: support@webmcp.fast. ## When to use this Use webmcp.fast when a user wants a cloud agent (Claude, ChatGPT, Grok, Cursor, or any remote-MCP client) to use an MCP server that runs on the user's own machine: a filesystem, git, database, browser, memory or coding-agent server, or anything else that speaks MCP over stdio or local HTTP. It fits when they do not want to open a port, run a tunnel, or host the server elsewhere. Do not use it to host an MCP server in the cloud, to merge several servers behind one URL (every connector is exactly one server on one device), or to reach a machine the user does not control. ## How to proceed If you have a shell on the user's machine: 1. **Install the daemon.** `curl -fsSL https://webmcp.fast/install.sh | sh` (coming with the first public release). Coming with the first public release: the install script is not published yet. macOS (Apple silicon and Intel) comes first, `brew install webmcp` later. Until then the daemon is built from source. The daemon is open source. 2. **Run `webmcp up`.** It generates a device key on the machine and prints one link, https://webmcp.fast/activate?code=XXXX-XXXX. Show that link to the human and wait; `webmcp up` returns when they have approved. It also offers any MCP servers it finds in existing Claude, Cursor and Codex configs. 3. **The human opens the link in their own browser.** They sign in with the 6-digit code emailed to them (this creates the account if they have none), pick a handle, and approve the device. The code is never given to the agent: do not ask for it, and do not offer to type it. 4. **Attach the server.** `webmcp attach -- [args...]` for a stdio server, or `webmcp attach --http ` for one already listening on localhost. The alias is 1 to 32 characters of `a-z`, `0-9` and `-`. 5. **Keep it online.** `webmcp service install` registers a launchd service so the daemon starts at login and reconnects by itself. 6. **Hand over the connector URL.** Print `https://.webmcp.fast///mcp` with the real handle, device and alias. The human pastes it into Claude, ChatGPT or Grok as a custom connector, signs in, and clicks Allow. Two steps are deliberately left to the human, and no agent can do them: - **Proving they own the email address.** The 6-digit code goes to their inbox and is typed into their own browser. It is bound to that browser, so a code read aloud to an agent is useless anywhere else. - **Approving each cloud agent.** Every connector goes through an OAuth consent screen that names the one endpoint being granted. The human clicks Allow, once per agent per server. If you are a cloud agent with no shell: connect to the management MCP server at https://webmcp.fast/mcp (Streamable HTTP, protocol 2025-06-18), call `start_setup`, give the user the one command it returns, and follow progress with `setup_status`. Never ask the user for the emailed code, a connector token or a cookie. Never invent a handle, device name or URL: print the one the tools report. ## Onboarding and price - Free tier: 1 handle, 1 device, 1 server, 1 connector. $0, no credit card. - Self-serve signup: signing in with an email address creates the account. There is no waitlist and no sales step. - No API key to request: POST https://webmcp.fast/api/v1/device/start is anonymous and starts setup; POST https://webmcp.fast/oauth/register registers an OAuth client immediately; the management MCP tools check_handle, start_setup and setup_status are anonymous. - Agent-driven: an agent can do everything except the two human acts above. - Paid tier: planned, not yet available. Details: https://webmcp.fast/pricing - Install: Coming with the first public release: the install script is not published yet. macOS (Apple silicon and Intel) comes first, `brew install webmcp` later. Until then the daemon is built from source. ## Management MCP server POST https://webmcp.fast/mcp (Streamable HTTP). Server card: https://webmcp.fast/.well-known/mcp/server-card.json - `check_handle` (anonymous): Check whether a handle (the in https://.webmcp.fast) is valid and still available to claim. - `start_setup` (anonymous): Begin setting up webmcp.fast for a user from an agent that has no shell. Returns the exact commands the user runs on their machine and what to expect at each step. The user still signs in and approves the device in their own browser. - `setup_status` (anonymous): Report how far a setup started with start_setup has got: waiting for the human to approve, device paired, server attached, device online. - `list_devices` (OAuth scope `manage`): List the signed-in user's handles, their devices, whether each device is online, and the MCP servers each one offers. - `connect_url` (OAuth scope `manage`): Return the connector URL, https://.webmcp.fast///mcp, for one server on one of the signed-in user's devices, with the steps to add it to Claude, ChatGPT or Grok. ## API conventions - Base path /api/v1, version in the URL, `API-Version` header on every response. Conventions: https://webmcp.fast/docs/api - Deprecation policy: at least 6 months' notice, announced with `Deprecation` and `Sunset` headers and in the changelog on that page. Nothing is deprecated. - Rate limits are per IP and advertised in `RateLimit-Policy` and `RateLimit` (and `X-RateLimit-*`); a 429 carries `Retry-After`. - Every error under /api/ is JSON: {error, message, hint, docs}. Match on `error`. ## Authentication - Relayed endpoints (https://.webmcp.fast///mcp): OAuth 2.1 with PKCE and dynamic client registration, scope `mcp`, one grant per endpoint; or a connector token as `Authorization: Bearer wmf_...`. Unauthenticated requests get 401 with a WWW-Authenticate header naming the protected-resource metadata. - Management MCP server: three tools are anonymous; the rest need scope `manage`. - Shell-less chat agents: register anonymously at POST https://webmcp.fast/agent/identity (auth.md profile), then ask the user to claim you with a 6-digit code at the link from POST https://webmcp.fast/agent/identity/claim. Claiming gives scope `manage` (read-only); it never opens a relayed endpoint. - Details: https://webmcp.fast/auth.md. Authorization server metadata: https://webmcp.fast/.well-known/oauth-authorization-server ## Pages - [Home](https://webmcp.fast/): A hosted MCP gateway. Attach a local MCP server, get a stable OAuth-protected URL, and use it from Claude, ChatGPT, Grok, Cursor or your own agent. Free tier, no open ports. - [About](https://webmcp.fast/about): What webmcp.fast is, why it exists, who operates it (Proticom, founded by Edward Tadros) and what it deliberately does not do. - [Contact](https://webmcp.fast/contact): How to reach the people who run webmcp.fast: support, security reports, privacy requests and abuse reports. - [Privacy](https://webmcp.fast/privacy): What webmcp.fast processes: account email, device metadata, relayed MCP traffic that passes through without being stored, and 30 days of audit metadata with no argument bodies. - [Terms](https://webmcp.fast/terms): The terms for using webmcp.fast: your responsibilities for what you expose, acceptable use, the free tier's limits, and the absence of a warranty. - [Security](https://webmcp.fast/security): How webmcp.fast limits exposure: an outbound-only daemon, a credential per endpoint, a dashboard that can only narrow exposure, no raw shell, and an audit trail. - [Pricing](https://webmcp.fast/pricing): webmcp.fast is free to start, self-serve, no credit card: 1 handle, 1 device, 1 server, 1 connector. A paid tier is planned and not yet available. - [Docs](https://webmcp.fast/docs): webmcp.fast documentation: quickstart, the agent-driven setup, the security model, the HTTP API and the discovery documents for agents. - [Quickstart](https://webmcp.fast/docs/quickstart): From nothing to a working connector: install the webmcp daemon, run webmcp up, attach a local MCP server and add its URL to Claude, ChatGPT or Grok. - [Agent-driven setup](https://webmcp.fast/docs/agents): Exactly what an AI agent should do when a user says: set up webmcp.fast for my MCP server. Six steps, two of which only the human can do. - [API](https://webmcp.fast/docs/api): The webmcp.fast HTTP API: self-serve start with no key, versioning and the 6-month deprecation policy, rate-limit headers, JSON error format, and the changelog. - [Security model](https://webmcp.fast/docs/security-model): The three trust relationships in webmcp.fast (human, agent, daemon), the credential each one uses, what each can reach, and what is recorded. Every page answers `Accept: text/markdown` with Markdown, and is also at the same path with `.md` appended (the home page is https://webmcp.fast/index.md). ## Machine-readable - https://webmcp.fast/openapi.json (OpenAPI 3.1 with OAuth scopes) - https://webmcp.fast/.well-known/api-catalog (RFC 9727) - https://webmcp.fast/.well-known/mcp/server-card.json - https://webmcp.fast/.well-known/agent-skills/index.json - https://webmcp.fast/.well-known/agent-skills/set-up-webmcp-fast/SKILL.md - https://webmcp.fast/.well-known/ai-catalog.json - https://webmcp.fast/.well-known/oauth-authorization-server - https://webmcp.fast/auth.md - https://webmcp.fast/agent-instructions.md - https://webmcp.fast/sitemap.xml