MacServe.Log in or sign upSign upGo to panelPanel

Let an AI assistant run your server

Connect Claude, Codex or Cursor to MacServe, choose exactly which Macs and permissions it gets, and take that access back at any time.

Connect an assistant (early access)

Remote MCP address: https://macserve.io/mcp. Start authorization in your assistant, sign in to MacServe, choose the Macs and permissions, then return to the assistant. Only approve a request you started; client names are supplied by the client, not independently verified.

The browser and official MCP SDK integration are tested. Individual Codex, Claude Code and Cursor full hosting journeys remain release acceptance items; these guides are setup instructions, not a claim that every client has passed. There is no advertised one-click installation.

Set up Codex

Add the remote server using the CLI below. If it doesn’t start authorization automatically, run codex mcp login macserve. For the full hosting workflow, request platform:read,ssh:write,connections:write,domains:write using the login command’s --scopes option, then approve those capabilities and the selected Mac in the browser. Your client may apply its own tool approval policy.

codex mcp add macserve --url https://macserve.io/mcp
codex mcp login macserve --scopes platform:read,ssh:write,connections:write,domains:write

Official Codex MCP documentation ↗

Set up Claude Code

Add the HTTP server, open Claude Code and run /mcp to authenticate. Follow the browser approval and return to the client. The approval screen offers every hosting capability with the recommended ones preselected, so one sign-in covers a hosting session; later changes are made in AI access → Edit access without signing in again. If a capability was left unchecked and is needed later, Claude Code opens the browser approval for that capability. Use the MCP menu to inspect connection errors; do not paste MacServe passwords or private keys into chat.

claude mcp add --transport http macserve https://macserve.io/mcp

Official Claude Code MCP guide ↗

Set up Cursor

Add this entry to your project’s .cursor/mcp.json, preserving other servers. Open Cursor’s MCP settings and connect/authenticate MacServe. Approve selected Macs and capabilities in the browser. A client-side tool disable or approval setting is separate from your MacServe grant.

{
  "mcpServers": {
    "macserve": { "url": "https://macserve.io/mcp" }
  }
}

Official Cursor MCP guide ↗

If your client will not accept the address

MacServe is a remote MCP server: it is reached at an address, not by running a program on your Mac. Some clients offer one configuration form for both kinds and pre-fill the command fields, which produces errors such as serverURL cannot be specified with command, args, or env. That is the client refusing a configuration that describes both kinds at once.

Clear command, args and env completely and leave only the address. An empty string in those fields still counts as set in some clients; the keys have to be absent, not blank.

A client that only supports local programs and offers no address field needs a bridge, a small program it launches that relays to the address. mcp-remote is the common one, and the command below is what such a client expects. It is third-party software from npm, not part of MacServe: it carries your authorization, so install it from a source you trust and prefer a client with native remote support where you have the choice.

npx -y mcp-remote https://macserve.io/mcp

What the assistant can do

MacServe turns your Mac into a server. The assistant can guide setup from the beginning, including downloading and installing the app with your authorization when it can execute on the intended Mac. Otherwise it gives you the local installation steps. You still approve account linking, resources and macOS prompts. Once linked, MCP manages approved Macs, public connections, domains, resources, SSH public keys and permitted billing/account activity.

Your agent keeps its private SSH key and uses its own SSH client for Linux software installation on your server. DNS-provider changes, OS consent, purchases and sensitive identity changes are separate user handoffs. New Macs are never added to an existing grant automatically. Connections can be paused, archived and restored, but archived ports remain reserved. Read the account profile to check email availability; any password or inbox confirmation stays in the secure browser.

Edit or revoke access

Open AI access in the panel to see permissions, approved Macs, last use, expiry and recorded activity. Choose Edit access, select the Macs and capabilities, then Save access changes. The hosting-and-server-management preset includes SSH, publishing, domains, restart and CPU/RAM changes; account and billing permissions stay separate. Changes apply to the existing authorization on the next call, without another sign-in while it remains valid.

A reinstalled or newly linked Mac must be selected explicitly. Removing a Mac or permission blocks future platform operations. Revoke platform access invalidates the grant. Neither action removes installed SSH keys or ends existing SSH sessions; manage keys separately under the Mac’s SSH settings.

How long access lasts

You choose how long access lasts when you approve it: 30 days, 90 days (recommended), 180 days or 1 year. Change it later under Edit access → Access duration; the panel shows the end date and days left, and the assistant can read the same date with macserve_get_access_status. Access is never extended automatically. When it ends, reconnect MacServe in the assistant; nothing on your Mac is removed.

New access tokens last up to one hour. The client renews them automatically using its rotating refresh token; you do not need to do anything. If a renewal reply is lost in transit, the client may safely retry with the token it still holds. MacServe revokes access only when a renewal token is reused after its replacement was already used, which is the sign of a copied token or two clients racing on one stored credential. If tools do not appear after first authorization, reconnect in the client or start a new conversation if that client requires it; do not launch a nested AI process for every call.

Agent workflow and tool reference ↗