Model Context Protocol

Publish from Claude.

A hosted MCP server, no install, no npm. Add one URL to your client and ask Claude to publish your pages.

Get connected in 3 steps 0 / 3
Add the connector. Pick your app below and add yapp.page/mcp. Copying the URL or command checks this off.
Sign in, then switch Yapp ON. In Claude: open a new chat, click the button, toggle Yapp ON. This is the step everyone misses. Tap here once you have done it.
Publish a test page. Ask: "Publish a page that says hello world on yapp" and you get a live link back in seconds. Checks itself off when your first page shows up in My pages.
You are connected. Anything you ask for in chat can be live on a link: pages, mini tools, photo galleries.

01 What this is

yapp.page exposes an MCP endpoint at https://yapp.page/mcp. Once your AI client, Claude or ChatGPT, knows about it, you can ask it to "build a portfolio page and publish it", and it will. You get back a live URL and an edit code in one step.

Nothing to install locally. The server is hosted; the client talks to it over HTTP.

Prefer raw HTTP? The same page lifecycle is available as a token-authenticated REST API, curl-friendly, for scripts, backends, and CI.

02 Install

Pick your client. Add the URL once, you're done.

Run this in your terminal. It writes to ~/.claude.json.

claude mcp add --transport http yapp https://yapp.page/mcp

Works the same in claude.ai and the Claude desktop app. It's a UI step, no config file.

This opens claude.ai with the name and URL already filled in. Claude will tell you the values came from an external link, so check them and click Add. Then finish the two steps below.

Connecting Yapp needs a computer. Claude's phone apps can use a connector once it's set up, but they can't add one yet. Open this page on your desktop, connect there, and Yapp will show up on your phone afterwards.

  1. Click Sign in next to Yapp → choose your Google account → allow. The tab closes itself.
  2. Open a new chat, click the ➕ (plus) button, and switch Yapp ON.
Rather add it by hand?
  1. Open Settings → Connectors.
  2. Click “+ Add custom connector”.
  3. Name it Yapp, paste the URL https://yapp.page/mcp, click Add.
+
The step everyone misses. Signing in is not enough. Claude only sees Yapp's tools after you open a new chat, click the in the message box, and toggle Yapp ON. If Claude says it can't publish, this is almost always why.
Sign in to claude.ai in your browser first. The Sign in step opens a new tab. If you're not already logged in there, it'll ask you to log in before it can connect Yapp.
Skip claude_desktop_config.json. That file is only for local servers, so a remote connector added there won't connect.

In Cursor: Settings → MCP → Add new server. Paste this JSON:

{ "mcpServers": { "yapp": { "type": "http", "url": "https://yapp.page/mcp" } } }

ChatGPT connects to MCP servers through Developer Mode (available on Plus, Pro, Business, Enterprise & Edu). There's no config file. You add it in the UI:

  1. In ChatGPT, open Settings → Security and login and turn Developer Mode ON.
  2. Open Settings → Plugins, or go straight to chatgpt.com/plugins.
  3. Click the plus button to create a new developer-mode app.
  4. Set MCP Server URL to https://yapp.page/mcp.
  5. Set the Authentication dropdown to OAuth, then click Create. ChatGPT opens a browser to sign you in (see the next section).

Codex CLI (OpenAI's terminal agent) authenticates with a bearer token, not a browser sign-in.

  1. Create a Personal Access Token in Settings → Connect AI clients (you'll need to sign in first).
  2. Copy the token, then run the two commands below.
export YAPP_TOKEN=<your token> codex mcp add yapp --url https://yapp.page/mcp --bearer-token-env-var YAPP_TOKEN
Tools turn on automatically in Codex; there's no ➕ step. Keep your token secret; it has the same access as your account.

Almost there. The next section covers the one-time sign-in (or, for Codex CLI, the token). After that, ask your AI to publish a page.

i
You don't paste a key anywhere, except Codex CLI, which uses a token. For Claude, Cursor and ChatGPT you only provide the URL, then sign in through the browser. Covered next.

03 Sign in

+
One last step in Claude: after signing in, open a new chat, click the button, and switch Yapp ON. This is the most-missed step. If the tools don't show up, it's this. (Claude Code, Cursor & Codex CLI do this automatically; ChatGPT enables it in Developer Mode.)

You add the connection first, then sign in. The client opens a browser for you. For every client except Codex CLI (which uses a token), you only add the address, never a key.

The buttons look slightly different in each app, but the steps are the same:

Claude (Web & Desktop)

  1. In Settings → Connectors, click Sign in next to Yapp.
  2. A browser tab opens on yapp.page. Choose your Google account and click allow.
  3. The tab closes by itself. Back in Claude, open a new chat and switch Yapp ON with the button, then it's ready to use.

ChatGPT

  1. Because you set Authentication to OAuth, ChatGPT opens a browser tab on yapp.page as soon as you create the app.
  2. Choose your Google account and click allow.
  3. The tab closes and the app shows as connected. yapp's tools are now available in Developer Mode chats, just ask ChatGPT to build and publish a page.

Claude Code (terminal)

  1. You already ran the install command above, so the server is registered.
  2. Start a new session with claude. Inside the session, type /mcp. You will see "yapp" in the list.
  3. Select "yapp" and choose "Authenticate". Claude Code prints a link in your terminal (and tries to open it for you).
  4. Open the link in your browser if it did not open on its own. Sign in with Google and click allow.
  5. The browser shows a "Connected" confirmation. Go back to your terminal. yapp tools are now available.

You do not have to run /mcp up-front. If you skip it, Claude Code will ask you to sign in the first time it tries to use a yapp tool.

Cursor

  1. After saving the JSON in Settings, Cursor lists "yapp" under MCP servers.
  2. Click the row, then click "Sign in".
  3. Approve in the browser tab that opens. Cursor reconnects on its own.

Codex CLI

  1. Codex doesn't do browser sign-in. It uses a token. Sign in, then create a Personal Access Token in Settings → Connect AI clients.
  2. Run the two commands shown in the Codex CLI tab above. Tools are available immediately, no ➕ step.
i
You do not need an account before you install. You can paste the config above even if you have never visited yapp.page. The client figures out that sign-in is needed and asks you for it the first time you use a tool. There is nothing to set up in advance.

Why bother signing in? After you sign in, every page Claude publishes is saved to your account. You can see them all on My pages, edit them from any device, and they stay live for 30 days on the free plan (longer on paid plans). Without sign-in, pages are anonymous and auto-delete after 30 minutes.

To disconnect later: remove the server from the client config, or click "Disconnect" in the connector list. You can also end active sessions from Settings.

04 Try a prompt

Paste any of these into Claude. The page is live by the time Claude finishes typing.

Build a one-page portfolio for a frontend designer and publish it on yapp.page.
Make a wedding RSVP page with the slug jane-and-tom and password june14. Give me the edit code so I can update it later.
Update my page with id jane-and-tom using edit code XYZ, change the venue to "The Old Mill".

05 Save the edit code

If you are signed in (section 03), you can skip this section. Pages you publish are saved to your account, so Claude can update or delete them without an edit code.

You still need the edit code when:

  • You want to edit a page that was published anonymously (no sign-in).
  • You want to edit a page from a different account than the one that published it.
  • You want to let someone else update a specific page without giving them access to your account.
i
How to give Claude an edit code: tell it something like "my edit code for jane-and-tom is XYZ" at the start of the conversation. It will remember for as long as the chat lasts.

The edit code is shown in the success card on the homepage (under Manage, then Edit from another device) and in My pages.

06 Tools Claude gets

For the curious, here's the full surface area. Required arguments are bold.

publish_page (html, assets?, slug?, expires?, password?)
Publish HTML + optional images. Assets accept base64, local path, or url. Returns the live URL plus an editKey.
publish_file (fileUrl | fileBase64 + filename, slug?, expires?, password?)
Host a PDF, image, or ZIP as-is, like a manual upload. PDF → viewer, image → viewer, ZIP → site or download. Returns the live URL plus an editKey.
update_page (id, html, editKey, assets?)
Replace contents. URL stays the same.
delete_page (id, editKey)
Remove a page.
get_page_stats (id)
Views, traffic, referrers. Public, no editKey needed.

Also listed on Smithery.