webmcp.fast

Agent-driven setup

This page is written for an AI agent. A user has said something like "set up webmcp.fast for my filesystem server". Here is exactly how to proceed.

When to use webmcp.fast

Use it when the user wants a cloud agent (Claude, ChatGPT, Grok, or any remote-MCP client) to use an MCP server that runs on their own machine, and they do not want to open a port, run a tunnel or host the server somewhere. Do not use it to host a server in the cloud, to aggregate several servers behind one URL, or to reach a machine the user does not control.

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 <alias> -- <command> [args...] for a stdio server, or webmcp attach <alias> --http <local url> 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://<handle>.webmcp.fast/<device>/<server>/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.

Useful checks: webmcp status shows the pairing and the attached servers, and webmcp service status shows whether the background service is running.

The two human acts

Two steps are deliberately left to the human, and no agent can do them:

Tell the user up front that these two moments are coming, so that the email and the consent screen are expected.

If you are a cloud agent with no shell

Connect to the management MCP server at https://webmcp.fast/mcp (Streamable HTTP). Its card is at https://webmcp.fast/.well-known/mcp/server-card.json.

Call check_handle if the user has a handle in mind, then start_setup. It returns the one command for the user to run in a terminal on their machine. From there the flow is the same: they open the link, sign in, approve. Poll setup_status to follow along, then give them the connector URL to add to your own harness.

Seeing the user's devices without a sign-in window

list_devices and connect_url need scope manage. If your harness can open a browser for the user, OAuth does that. If it cannot, register yourself: POST https://webmcp.fast/agent/identity with {"type": "anonymous"}, then POST https://webmcp.fast/agent/identity/claim with your claim_token and the user's email. Give the user the link and the 6-digit code it returns; they sign in and type your code into the page (never ask them for the code webmcp.fast emails them). Poll the token endpoint until they approve, and the access token you get works on list_devices and connect_url for that account, read-only. It can never reach one of their MCP servers. The full recipe, with every error, is auth.md.

Free tier

Setup is self-serve and free: 1 handle, 1 device, 1 server, 1 connector, no credit card. If the user already uses their one server slot, webmcp attach reports that the new server is held back. Say so rather than retrying. A paid tier is not yet available.

Rules for agents

Machine-readable versions

llms.txt, agent instructions, SKILL.md, OpenAPI, auth.md.