Homespun has two ways in. If you have a coding agent (Claude Code, Cursor,
Codex, …) the README install flow installs the CLI +
skill and you’re done. This page is for the other case: adding Homespun to an AI
chat app: Claude on the web, desktop, or your phone, ChatGPT, or any client
that supports remote MCP connectors, with no install at all.
You paste one URL, log in once, and Homespun shows up as a set of tools your chat
can call. From then on you can ask it to “build me an app for …” and it hands
you back a URL to a real interactive UI.
TL;DR. Add a custom connector pointing at:
https://homespun.dev/mcp
Authorize it with your email (magic link) and approve the consent screen. That’s it.
The chat gets Homespun’s full tool set: create_app, get_events,
send_to_app, the record/template/attachment tools, and the rest, the same
tools the @homespunapps/mcp server exposes. So
you can say things like:
“Make me a form to capture my trip details and give me the link.”
“Build a dashboard of these numbers I can open on my phone.”
“Give me an approve/reject app for this plan and wait for my answer.”
The chat builds the UI, hands you a homespun.dev URL, you open it on any
device, interact, and your structured answer flows straight back into the
conversation.
This is the only way to use Homespun from a phone or a pure chat app. On a phone
there’s no terminal and no way to run a local process, so the homespun CLI and the
stdio @homespunapps/mcp server simply don’t apply, since there’s nothing to install. You
add the connector once and use it. The connector runs entirely on Homespun’s hosted
relay; your chat only makes outbound HTTP calls to it.
A Homespun account on the hosted relay. You don’t need to create one in
advance. The first time you authorize, you’ll log in by email (magic link)
and the account is created on the spot.
Custom / remote MCP connectors must be supported by your chat app. Claude
supports them on the web, desktop, and mobile apps, no paid plan required
(the free plan works too). On other apps, check that they support “custom
connectors” or “remote MCP servers”. Coding agents like Claude Code have it
built in.
The connector URL is always:
https://homespun.dev/mcp
(Running your own relay? Use https://<your-relay-host>/mcp instead, the same
OAuth flow is built into every self-hosted relay.)
Name it Homespun and paste the URLhttps://homespun.dev/mcp.
Save, then click Connect. A browser window opens on the Homespun relay.
Log in with your email. You’ll get a magic link; click it to sign in.
On the consent screen (“Allow Claude to access your app account?”),
review it and click Allow. You’re redirected back to Claude.
The connector now shows Connected, and Homespun’s tools appear in the chat’s
tool list (the 🔌/tools menu).
Try it: start a chat and ask “Use Homespun to build me a quick contact form and
give me the link.” Claude creates the app, returns the URL, you fill it in,
and the submitted data comes back into the conversation.
The same connector works across every Claude surface tied to your account:
add it once on the web and it’s available on your phone too.
Then in Claude Code run /mcp, select homespun, and Authenticate. It
opens the browser for the same login + consent flow and stores the token. After
that, Homespun’s tools are available in the session.
Any coding agent (Claude Code, Cursor, Codex, Windsurf, and the rest) can also
skip the connector entirely. Paste this one line and it sets itself up:
Set me up with Homespun: read https://homespun.dev/skills/homespun/SKILL.md and follow it, then ask me what app I want to build.
Prefer streaming and local control? The CLI route gives you true
homespun watch streaming:
Terminal window
npmi-g@homespunapps/cli
homespunagentregister--namehome
agent register runs the device-authorization sign-in in your browser and
writes the resulting key to your Homespun config, so it is both the login and
the key-issuing step. See the README install section.
The remote connector and the local CLI are interchangeable, so use whichever
fits.
Any chat client that supports remote MCP / custom connectors can use Homespun.
the connector is a standard OAuth-protected Streamable-HTTP MCP endpoint, not a
Claude-specific integration.
ChatGPT: in the clients that expose custom connectors / MCP, add a new
connector with the URL https://homespun.dev/mcp and complete the OAuth
login + consent when prompted.
Other clients (and remote-MCP-capable IDE assistants): wherever the app
asks for a server URL for a remote/HTTP MCP connector, give it
https://homespun.dev/mcp. It will discover the auth endpoints
automatically and walk you through login + consent.
Cursor, Windsurf, Cline, VS Code Copilot: these configure MCP servers
from a JSON file rather than a settings screen. See the entry below.
Editors that take an mcpServers JSON block all accept the same entry. Add it,
reload the editor, and approve the sign-in the first time it calls the
connector:
The flow is identical everywhere: paste the URL → log in by email → approve
the consent screen. No API key to copy, no client secret to manage. The
client registers itself and uses PKCE.
One identity per chat. Each chat app you authorize gets a single Homespun
agent identity bound to your account; re-authorizing the same app reuses it,
so your apps and templates accumulate under one identity.
Disconnect any time. Remove the connector in your chat app’s settings (or
revoke it from the Homespun relay) and its access is revoked immediately. Your CLI
key and any other connectors are unaffected.
Tokens. Access tokens are short-lived (1h) and refresh automatically;
refresh tokens last 30 days. Everything is revocable.
Scope. A connection grants full agent access, parity with a CLI key
(create/read/update apps, records, templates, attachments).
Homespun’s relay is both the MCP resource server (/mcp) and its own OAuth
2.1 authorization server, in one container. When your chat first calls /mcp
without a token it gets a 401 pointing at the relay’s OAuth metadata; the
client self-registers (Dynamic Client Registration), you log in with the relay’s
magic-link flow and approve a consent screen, and the client receives an
access + refresh token. Each token is mapped to a per-human Homespun agent, so the
connector acts exactly like a CLI agent against the relay’s own API: same auth,
same validation, same scoping. PKCE (S256) is required, redirect URIs are exact-
match allowlisted, authorization codes are single-use, and tokens are opaque +
revocable. The full design is in
docs/architecture/remote-mcp-oauth.md.
“Connect” does nothing / no browser opens: make sure pop-ups aren’t
blocked, then retry. The relay must be reachable at
https://homespun.dev (check https://homespun.dev/healthz).
The consent screen says the client is “not verified by app”: that’s
expected. Homespun allows open client registration (so apps like Claude mobile can
connect), so it can’t pre-verify every client. Check the redirect host
shown on the consent screen is the app you’re actually authorizing before you
allow it.
My chat app has no “custom connector” option: not every chat app
supports remote MCP connectors yet. If yours doesn’t, use a coding agent with
the CLI/skill instead (see the README) or the local
stdio server (@homespunapps/mcp).
Tools don’t appear after connecting: reopen the chat’s tool/connector
menu; some clients need the conversation restarted to pick up a new connector.