Use cases · 8 min read · Updated 6 September 2026
Build with Claude, Cursor and ChatGPT without remote-controlling the account
On Pro, Cursor, Claude Desktop or Codex call `generate_app` on NorthernGo’s official MCP — same cloud Generate as the editor, no NorthernGo credit, typically 1–3 min. They cannot publish. A `?prompt=` link fills the editor without MCP; you still press Generate. Import HTML (Premium or Pro) injects the runtime and uses no credits. `create_app` lands that same HTML as a new saved project. Your own Anthropic or OpenAI key — Premium or Pro — runs the generate pipeline without NorthernGo credits, with no Gemini fallback. WebGPU and Ollama still take priority if they are on.
What this is not
Lovable-style OAuth so an outside agent can publish your subdomain is not on NorthernGo. MCP cannot publish.
What Pro does offer: Cursor, Claude Desktop or Codex start the same cloud Generate as the editor, with an ngmcp_ key from My Projects → More → MCP. That is generate_app (no NorthernGo credit, poll generate_status, typically 1–3 min). You still publish yourself.
A Pro app can still connect to a remote MCP data source under the same panel — including a hosted Bokio adapter (company UUID + private integration token, no MCP URL). On a Pro rebuild the builder also reads that tool list into plan and logic. That is the published app calling tools, not Cursor driving Generate. The FAQ “How do I connect Bokio to my app” is the numbered recipe; “Can I connect an MCP server to my app” covers a generic Streamable HTTP URL.
A third, optional switch on that same panel — “This app as an MCP server” — lets other agents connect to this app’s collections, with a separate ngapp_ key. Off by default. Gemini Generate or MCP create_app / generate_app only, not Ollama or WebGPU. See “Can my generated app become an MCP server that others connect to”.
Public files at /agents.md and /skill.md tell Claude, Cursor and ChatGPT the same recipe.
Start a build from Cursor
- My Projects → More on any app card → MCP.
- Under “NorthernGo MCP for Cursor, Claude and Codex”, create an MCP key (shown once). Copy the JSON. Not a Firebase login token. Not the BYOK dialog.
- Cursor Settings → MCP (Customize → MCPs), or
.cursor/mcp.json. Not Integrations (GitHub/Slack). - In the chat: “Build a booking app for a salon in Lycksele on NorthernGo.” Cursor should call
generate_app, then pollgenerate_status. - Open the
?app=URL. Publish a subdomain in NorthernGo yourself.
If Cursor already wrote the HTML, ask it to call create_app instead (no credit).
This app as an MCP server
The generated HTML is static. It cannot host MCP. On Pro, after a Gemini Generate or MCP create_app / generate_app, opt in under My Projects → More → MCP. NorthernGo’s backend then speaks Streamable HTTP at https://northerngo-backend.onrender.com/api/app-mcp/{projectId} and exposes list_ / save_ / delete_ against the app’s NorthernGoDB collections. MCP is the protocol name; the three NorthernGo uses of it are spelled out there.
The key is ngapp_, shown once. Do not reuse ngmcp_. Anyone with it reads rows as the owner. Writes stay off until you allow them. Local Ollama and WebGPU apps are not eligible.
Five ways to land
- MCP
generate_app(Pro). Cursor starts NorthernGo’s cloud Generate. No NorthernGo credit. Typical wait 1–3 min. No publish. - Prompt link. A URL with
?prompt=or?q=fills the editor. Nothing generates until you press Generate. - Import HTML. A finished document from Claude, Cursor or ChatGPT becomes a NorthernGo preview. Premium or Pro, logged in. No NorthernGo credits.
- Own API key. Cloud generation in the editor talks to Anthropic or OpenAI with a key you paste locally. Premium or Pro. Same NorthernGo pipeline, different model bill. No NorthernGo credits on that request.
- MCP
create_app(Pro). Cursor, Claude Desktop or Codex with anngmcp_key saves finished HTML as a new project. Same 1.5 MB cap and HTML check as Import. No Generate. No new subdomain.
Pick one. Combining them is allowed — import HTML, then iterate with your own key — but you do not need all five to ship.
Prompt links
The editor reads prompt or q once, stores the text in session storage so a login does not wipe it, then strips the query from the address bar. The cap is 8,000 characters. It does not start a build on its own. A link that auto-generated would spend credits the visitor did not intend to spend, and it would make every shared URL a surprise invoice.
Encode the text. Spaces become + or %20. A working shape:
https://northerngo.com/?prompt=Booking+app+for+a+hair+salon+in+Lycksele.+Staff+can+see+the+week.+Customers+book+a+slot.
After the box is filled, Generate still chooses an engine. Default cloud is Gemini on your NorthernGo plan: five generations a month on Free, 25 on Premium, 50 on Pro. If you have the in-browser WebGPU route loaded, that runs first. If Ollama is on, it runs next. Your own key only matters when the request actually takes the cloud path.
Guests can land on the link. They still sign in before a cloud build. The stored prompt survives that hop.
Import HTML
Use this when the other tool already wrote the page. In the editor, the code icon in the prompt tools is Import HTML from Claude, Cursor or ChatGPT. You need Premium or Pro, and you must be logged in. On Free the icon shows a lock. The file is sent to NorthernGo, capped at 1.5 MB of text, and rejected if it does not look like HTML.
NorthernGo then injects the same runtime a generated app gets: window.NorthernGoUI, window.NorthernGoDB, legal chrome, theme tokens. That is the whole point of importing here instead of opening the file in a tab. A raw <html> from ChatGPT does not have login, an EU database or a delete-account path. After import, it does — if the markup has somewhere to hang those globals.
Write (or ask the other model to write) vanilla HTML, CSS and JavaScript. Tailwind utility classes are fine. Put the UI in a root such as #app. Persist data with window.NorthernGoDB.save(collection, data) and .get(collection), not localStorage, unless you explicitly want a local-only toy. Any app with login needs a working delete-account control, and a download-my-data control. Buttons that are not form submits need type="button". Do not redefine the NorthernGo globals, and do not ship a second Tailwind Play CDN if the runtime already injected one.
Import does not run the Architect / Builder / Critic loop. It does not invent missing features. If the HTML is a static mock, you get a static mock with SDK hooks. Iterate with Generate afterwards if you want the agents to rewrite it.
Own API key (Claude / GPT)
Cloud builds on NorthernGo use Gemini and count against the monthly allowance. If you already pay Anthropic or OpenAI, you can point those builds at your own key instead. That is bring-your-own-key, not local AI.
Open the account menu and choose Own API key (Claude / GPT) under Premium / Pro. On Free the item shows a lock; clicking it asks you to upgrade. Turn on Use my own key, pick Anthropic (Claude) or OpenAI (GPT), paste the key, optionally name a model. Defaults if you leave the model blank are claude-sonnet-4-5 and gpt-4.1. Aliases such as “claude” and “chatgpt” are accepted on the server; the UI stores anthropic or openai.
Your API key is not stored in NorthernGo’s database. With BYOK it is used from this browser for that API call and is not sent to NorthernGo’s AI meter. It does leave the device during a generate request: the editor posts it to NorthernGo’s generate endpoint, which forwards it as a header to Anthropic or OpenAI and then drops it. Do not describe that as “the key never touches our servers”. It transits. It is not retained.
When the key is on and long enough to be valid, a cloud generate skips the NorthernGo meter. A failed BYOK request does not fall back to Gemini. Falling back would surprise-charge a NorthernGo credit after you asked to use someone else’s model. You see the provider error instead.
What you lose on this path: Gemini image and icon generation that Premium and Pro otherwise attach to a build, and the layout-theme call that normally goes to Gemini (a heuristic theme is used instead). In-app calls such as window.NorthernGoAI.generate in a published app still go to NorthernGo’s cloud proxy and still need Premium or Pro on the app owner. BYOK is for building in the editor, not for swapping the model your visitors hit.
Engine order, in one list
The editor does not average the engines. It picks the first one that is actually on:
- WebGPU in the browser — unlimited on every plan, nothing leaves the machine for generation.
- Ollama on localhost — Pro, and the browser origin must be allowed.
- Cloud — Gemini with NorthernGo credits, or your Anthropic/OpenAI key if that toggle is on.
Turn WebGPU off if you intended the request to reach Claude. The status line during a BYOK build says it is running on your own key. If you still see a Gemini model name on the finished payload, the local engines were first.
The local versus cloud comparison is the longer version of that choice. BYOK is still the cloud column. Only the bill and the model family change.
Which path to use
Use MCP generate_app when Cursor (or Claude Desktop / Codex) is already connected with an ngmcp_ key and you want NorthernGo to write the HTML. That is the path agents.md prefers on Pro.
Use the prompt link when the other tool is good at specifying behaviour and you are not on MCP. The user still presses Generate.
Use Import HTML when Cursor or Claude already produced a page you like and you want preview, database and publish without asking NorthernGo to reinvent it. Good for design-heavy one-pagers and for people who iterate in an IDE first.
Use your own key when you want Claude or GPT inside NorthernGo’s generate loop — Architect, Builder, Critic, the same prompts — but you do not want Gemini and you do not want to burn the five Free credits. You still pay the provider. You still need a NorthernGo login. You do not get a private local build; traffic still goes out.
Use WebGPU or Ollama when the requirement is that the prompt never hits a hosted model at all. BYOK is not that. It is a different host.
Limits worth reading before you tweet this
NorthernGo is not an Anthropic or OpenAI reseller. Rate limits, outages and model deprecations are theirs. A key in the browser is visible to any extension that can read storage on northerngo.com, and to anyone who sits down at that profile. Remove it from the same dialog when you are done.
GitHub round-trip is not part of this handoff. ZIP export is still Premium and Pro. Publishing a live subdomain is still Premium and Pro. Free projects still run at northerngo.com/?app=. None of that changes because Claude wrote the first draft.
There is no API for an external agent to publish. Pro users can connect Cursor, Claude Desktop or Codex to NorthernGo's official MCP: generate_app runs the same cloud Generate as the editor (no NorthernGo credit, poll generate_status); create_app lands HTML you already wrote. Inventing an unofficial MCP against the generate endpoint would put your session token in a tool you do not control. Don’t.
The useful public claim is narrower and true: you can arrive from the tools you already use, and you can pay Anthropic or OpenAI for the cloud build if you prefer their models. The app you get is still vanilla HTML with an EU database, not a sandbox that only runs while Claude is connected.
Frequently asked questions
Can Claude or ChatGPT control my NorthernGo account?
They cannot publish. On Pro, Cursor, Claude Desktop or Codex can start a cloud Generate via generate_app (no NorthernGo credit). create_app lands finished HTML without Generate. Connecting Bokio or a remote MCP as a data source to an app you already built is a separate Pro feature under My Projects → More → MCP. A Gemini- or MCP-created app can itself become a hosted MCP server — that is a third, optional switch.
How do I connect Bokio to a NorthernGo app?
Pro. My Projects → More → MCP → Bokio: paste the company UUID and a private integration token from Bokio Settings → API Tokens. Rebuild, then open the live ?app= URL. The editor preview does not reach Bokio. Numbered steps are in the FAQ “How do I connect Bokio to my app”.
Can my generated app become an MCP server that others connect to?
Yes, optionally, on Pro. Off by default. After a Gemini Generate or MCP create_app / generate_app, enable “This app as an MCP server” under My Projects → More → MCP. That uses a separate ngapp_ key against /api/app-mcp/{projectId}. Local Ollama and WebGPU apps are not eligible. Do not reuse the platform ngmcp_ key.
Does using my own OpenAI or Anthropic key use NorthernGo credits?
No. Own API key is Premium and Pro. When it is on and the key is valid, that cloud generate skips the NorthernGo meter. You pay Anthropic or OpenAI instead. If WebGPU or Ollama is on, those still run first and the key is not used. A BYOK failure does not fall back to Gemini.
Does a ?prompt= link start generating by itself?
No. The prompt is filled in the editor, stored across login, then stripped from the URL. You still press Generate. The limit is 8,000 characters.
Is my API key stored on NorthernGo’s servers?
It is not stored in NorthernGo’s database. With BYOK it is used from your browser for that API call and is not sent to NorthernGo’s AI meter. During the generate request it transits NorthernGo’s generate endpoint to Anthropic or OpenAI, then is discarded.
Do I need to be logged in to import HTML?
You need to be logged in on Premium or Pro. Import HTML injects the NorthernGo runtime and does not use cloud credits. A prompt link can be opened while logged out; generating in the cloud still requires an account.
Build it yourself
NorthernGo turns a plain-text description into a working web app with a database, login and a live URL. Local AI generation runs on your own GPU, is unlimited, and is free on every plan.