SERVER= Set up Remote MCP server on this VM by following the exe.dev recipe at https://exe.dev/deploy/mcp-server.md from top to bottom. The values at the top of this message are mine: - SERVER: `new` for the notes starter; a GitHub repository (owner/name or URL) with an MCP server; or a stdio server's command (`npx -y @modelcontextprotocol/server-filesystem@2 ~/shared`) or Claude Desktop config Ask me for any that still say before you need them. The recipe's example VM name is my-mcp-server. This VM's name is the output of `hostname`: use it wherever the recipe writes my-mcp-server. Skip the step that creates the VM; you are on it. You are done when all of these are true. Check each one yourself: - An MCP server on Streamable HTTP at `https://my-mcp-server.exe.xyz/mcp` (`/servers//mcp` for stdio servers) as `mcp-server.service`, restarted on failure and reboot: the starter, your repository, or stdio servers behind mcp-proxy. - Private behind exe.dev: clients send a VM token in one header, and your server reads the caller from `X-ExeDev-Email` with no auth code. - `~/bin/mcp-check`, a small client that lists the tools and calls one, run against the server as exe.dev's proxy reaches it. - Code, `~/data`, and settings backed up nightly to `~/backups`, with a restore checked in a scratch directory. Read the whole recipe, closed details included, and follow "Set up by hand" in order, skipping VM creation; the walkthrough above it is for the owner. Ask for SERVER first if it says . For `new`, build the starter exactly as written; for a repository, follow "Or: a server from a repository"; for a stdio server or Claude Desktop config, "Or: stdio servers". Ask the owner for any secret a server needs and put it in ~/mcp-server.env, never in servers.json or the unit. If a private repository won't clone, give the owner the `integrations add github` command with this VM's name and wait. Set up mcp-gate only if the owner asks for claude.ai, ChatGPT, or their apps, following "Connect claude.ai and ChatGPT" on the VM; don't make the VM public, but give the owner the `share set-public` command. Delete notes you save while checking. Don't reboot or restore over live data: test the backup in a scratch directory as written. The VM can't open its own https://.exe.xyz; "Check it" goes through localhost. End with each MCP URL, a short name and the tools for each, and anything you adapted or the owner should change. Finish with the URLs I should open and these commands, which only I can run, from my own computer (with this VM's name in them): ssh exe.dev ssh-key generate-api-key --vm=my-mcp-server --label=mcp-clients --exp=90d claude mcp add --transport http --scope user notes https://my-mcp-server.exe.xyz/mcp --header "X-Exedev-Authorization: Bearer exe1.paste-yours-here" # or the name and URL Shelley gave you