Connect your AI to NotesMosaic
Your own Claude, ChatGPT, Gemini, Cursor — any assistant that speaks MCP — can build, check, certify and publish games and apps in your NotesMosaic account. You sign in once and choose what it may do.
https://notesmosaic.com/mcpHow it works
- Add NotesMosaic to your AI app with the address above.
- Your app opens the NotesMosaic sign-in. Use the account you use in the app — Google, Apple or email.
- Press Allow. Then ask your AI to build something.
Disconnect any time: NotesMosaic app → Profile → Connected agents.
Pick your app
- Add it in one tap — claude.ai opens with NotesMosaic filled in: Add to Claude
- Or open Customize → Connectors yourself — on the web at claude.ai/customize/connectors, in Claude Desktop from the sidebar.
- Press +, then Add custom connector. Name it NotesMosaic and paste the address:
https://notesmosaic.com/mcp
- If Claude asks how to sign in, keep Sign in now with Claude's own identity — no client ID or secret is needed.
- Press Add, then Connect, and sign in to NotesMosaic.
Free (one custom connector), Pro, Max, Team and Enterprise. On Team and Enterprise an Owner adds it first under Organization settings → Connectors; then you press Connect.
Added on the web or in Desktop, it works in Claude on your phone too.
- Add NotesMosaic once, for every project:
claude mcp add --transport http --scope user notesmosaic https://notesmosaic.com/mcp
- In Claude Code type /mcp, choose notesmosaic, then Authenticate — your browser opens the NotesMosaic sign-in. From a shell:
claude mcp login notesmosaic.
Just the address
https://notesmosaic.com/mcp
Signed in to Claude Code with your Claude account? A NotesMosaic connector you added on claude.ai is already there.
- Turn on Developer mode: Settings → Security and login (older accounts: Settings → Apps → Advanced settings).
- Open Apps (chatgpt.com/plugins) and press + — Create MCP App. Name it NotesMosaic, paste the address under Connection and set Authentication to OAuth:
https://notesmosaic.com/mcp
- Press Create and sign in to NotesMosaic. The app waits under Drafts.
- In a chat, open + → Developer mode and pick NotesMosaic.
Developer mode is on chatgpt.com (the web) for Plus, Pro, Business, Enterprise and Edu; Free and Go are not on the list. On Business an admin turns it on; on Enterprise and Edu an admin grants it.
- Add NotesMosaic, then sign in — Codex opens your browser:
codex mcp add notesmosaic --url https://notesmosaic.com/mcp codex mcp login notesmosaic
- Or add it to
~/.codex/config.tomlyourself:[mcp_servers.notesmosaic] url = "https://notesmosaic.com/mcp"
Just the address
https://notesmosaic.com/mcp
The Codex IDE extension and the ChatGPT desktop app read the same config.
Codex signs in only when you run codex mcp login (or press Authenticate).
- Add NotesMosaic:
gemini mcp add -s user --transport http notesmosaic https://notesmosaic.com/mcp
- Or in
~/.gemini/settings.json— the key ishttpUrl, noturl:{ "mcpServers": { "notesmosaic": { "httpUrl": "https://notesmosaic.com/mcp" } } } - The sign-in opens by itself the first time (or type
/mcp auth notesmosaic). It needs a browser on the same computer.
Just the address
https://notesmosaic.com/mcp
Gemini Code Assist in VS Code reads the same settings.json; if it cannot sign in, use a personal token (below).
- On a computer, open gemini.google.com → Settings → Connected Apps → Custom apps → Add a custom app.
- Paste the address, press Next, then sign in to NotesMosaic and Allow:
https://notesmosaic.com/mcp
- Then, on any of your devices, type @ in a chat and pick NotesMosaic.
For now Google offers custom apps to personal Google accounts in the US, 18 and over, in English. Elsewhere, use Gemini CLI.
- Install it in one click: Add to Cursor
- Or in
~/.cursor/mcp.json:{ "mcpServers": { "notesmosaic": { "url": "https://notesmosaic.com/mcp" } } } - Cursor asks you to sign in the first time it connects — or open Settings → Tools & MCP.
Just the address
https://notesmosaic.com/mcp
- Install it in one click: Add to VS Code
- Or in
.vscode/mcp.json:{ "servers": { "notesmosaic": { "type": "http", "url": "https://notesmosaic.com/mcp" } } } - Or from a terminal:
code --add-mcp '{"name":"notesmosaic","type":"http","url":"https://notesmosaic.com/mcp"}' - Your browser opens the NotesMosaic sign-in the first time Copilot uses it.
Just the address
https://notesmosaic.com/mcp
Copilot Business and Enterprise: your organization must allow “MCP servers in Copilot” (it is off by default).
- Zed — in settings.json; Zed runs the sign-in itself:
{ "context_servers": { "notesmosaic": { "url": "https://notesmosaic.com/mcp" } } } - Devin Desktop (formerly Windsurf):
devin mcp add notesmosaic https://notesmosaic.com/mcp devin mcp login notesmosaic
- GitHub Copilot CLI — with a personal token (below):
copilot mcp add --transport http notesmosaic https://notesmosaic.com/mcp --header "Authorization: Bearer nm_pat_…"
- Mistral Vibe (formerly Le Chat): Connectors → + Add Connector → Custom MCP Connector → the address → Connect. An admin adds it; on Free, Pro and Student the account owner is the admin.
- Perplexity (Pro, Max, Enterprise): Account settings → Connectors → + Custom connector → Remote → the address → OAuth.
- Anything else that connects to remote MCP servers over HTTP with OAuth needs only the address:
https://notesmosaic.com/mcp
On your phone
Claude
Tap the button on your phone: claude.ai opens with NotesMosaic filled in. Press Add, then Connect, sign in to NotesMosaic and Allow.
If Claude asks you to sign in first, sign in, then tap the button again. Then, in the Claude app: + → Connectors → switch NotesMosaic on. Added on a computer, it is already in the app.
ChatGPT
ChatGPT runs NotesMosaic on a computer for now: add it at chatgpt.com in developer mode (the ChatGPT steps above).
ChatGPT’s phone app runs apps from its own directory, and NotesMosaic isn’t listed there yet.
Gemini
In your phone’s browser — not the Gemini app — open gemini.google.com → Menu → Settings → Connected Apps → Add a custom app and paste the address:
https://notesmosaic.com/mcp
Press Next, sign in and Allow. Then, in the Gemini app, type @ and pick NotesMosaic.
US, 18 and over, personal Google account.
Signing in on a phone
The sign-in opens over the app. Google, Apple and email all work there. Leave Keep me signed in ticked and reconnecting later is one tap.
If an app opens its own built-in browser instead, Google may refuse to sign in there — use email or Apple.
If your app can’t open a sign-in
A server, a script or an agent without a browser uses a personal token instead. In the NotesMosaic app: Profile → Connected agents → Personal tokens → New. It is shown once. Give it to your app as a header, Authorization: Bearer nm_pat_…:
Claude Code
claude mcp add --transport http --scope user notesmosaic https://notesmosaic.com/mcp --header "Authorization: Bearer nm_pat_…"
Codex — the variable holds the token alone
export NOTESMOSAIC_PAT=nm_pat_… codex mcp add notesmosaic --url https://notesmosaic.com/mcp --bearer-token-env-var NOTESMOSAIC_PAT
Cursor — in the server's entry in mcp.json
"headers": { "Authorization": "Bearer ${env:NOTESMOSAIC_PAT}" }Gemini CLI · Zed · others — in the server's entry
"headers": { "Authorization": "Bearer nm_pat_…" }A token is a password: keep it out of chats and shared files. Revoke it any time on the same screen.
What your AI can do
Each is named on the sign-in screen before you allow it. None of them moves money.
- profileSee your name, plan, app slots, storage and balances
- notes:readRead your notes
- notes:writeCreate and edit your notes
- games:readRead your games, their files and their check reports
- games:writeCreate games, upload bundles and edit their files
- games:publishPublish, update and unpublish your games in the community
- creator:readSee your games' plays, players and estimated earnings
Let it test on your computer
A coding assistant on your own computer — Claude Code, Codex, Cursor, Gemini CLI, VS Code — can run NotesMosaic’s check itself: it downloads our runner and opens the game in two browser windows on your screen for about a minute — or in none: tell it to run the check with --no-window and the same check runs out of sight. Your app asks you before each command. These are the only ones it needs:
curl -fsSL https://notesmosaic.com/mcp/runner.mjs -o runner.mjs npm i --no-save playwright npx playwright install chromium webkit node runner.mjs playtest <the run’s address> node runner.mjs certify <the run’s address>
Allow them once and it stops asking. The runner opens NotesMosaic’s own pages only, whatever follows those words.
Claude Code
.claude/settings.local.json in the folder you work in (only you, only there) or ~/.claude/settings.json (every folder). In a session, /permissions shows them; answering a prompt with "Yes, and don't ask again" adds one.
{
"permissions": {
"allow": [
"Bash(curl -fsSL https://notesmosaic.com/mcp/runner.mjs -o runner.mjs)",
"Bash(npm i --no-save playwright)",
"Bash(npx playwright install chromium webkit)",
"Bash(node runner.mjs playtest *)",
"Bash(node runner.mjs certify *)"
]
}
}"mcp__notesmosaic" ← one more line in the same list: every NotesMosaic tool without a prompt (a connector added on claude.ai is named mcp__claude_ai_NotesMosaic)
Only if you turned the sandbox on (/sandbox): in ~/.claude/settings.json, so these commands run outside it — the runner downloads two browsers and opens them on your screen.
{
"sandbox": {
"excludedCommands": [
"curl -fsSL https://notesmosaic.com/mcp/runner.mjs -o runner.mjs",
"npm i --no-save playwright",
"npx playwright install chromium webkit",
"node runner.mjs playtest *",
"node runner.mjs certify *"
]
}
}Codex
~/.codex/rules/default.rules (create it). Check a line with: codex execpolicy check --rules ~/.codex/rules/default.rules -- node runner.mjs certify https://…
prefix_rule(pattern = ["curl", "-fsSL", "https://notesmosaic.com/mcp/runner.mjs", "-o", "runner.mjs"], decision = "allow") prefix_rule(pattern = ["npm", "i", "--no-save", "playwright"], decision = "allow") prefix_rule(pattern = ["npx", "playwright", "install", "chromium", "webkit"], decision = "allow") prefix_rule(pattern = ["node", "runner.mjs", ["playtest", "certify"]], decision = "allow")
Gemini CLI
~/.gemini/settings.json
{
"tools": {
"allowed": [
"run_shell_command(curl -fsSL https://notesmosaic.com/mcp/runner.mjs -o runner.mjs)",
"run_shell_command(npm i --no-save playwright)",
"run_shell_command(npx playwright install chromium webkit)",
"run_shell_command(node runner.mjs playtest)",
"run_shell_command(node runner.mjs certify)"
]
}
}"trust": true ← in mcpServers.notesmosaic: every NotesMosaic tool without a prompt
VS Code (Copilot)
settings.json → chat.tools.terminal.autoApprove
{
"chat.tools.terminal.autoApprove": {
"/^curl -fsSL https:\\/\\/notesmosaic\\.com\\/mcp\\/runner\\.mjs -o runner\\.mjs$/": true,
"/^npm i --no-save playwright$/": true,
"/^npx playwright install chromium webkit$/": true,
"/^node runner\\.mjs (playtest|certify) \\S+( --no-window)?$/": true
}
}Cursor
~/.cursor/cli-config.json (the Cursor CLI). Its list names a program, never a whole command: these four lines let it run ANY curl, npm, npx or node command — leave it asking each time if that is more than you want.
{
"permissions": {
"allow": [
"Shell(curl)",
"Shell(npm)",
"Shell(npx)",
"Shell(node)"
]
}
}"Mcp(notesmosaic:*)" ← one more line in the same list: every NotesMosaic tool without a prompt
In a chat app — ChatGPT, Claude on the web or your phone — there is nothing to set up: when your assistant runs a check, it runs in a small panel inside the conversation, on the device you are using. Nothing is sent to your phone, and nothing waits for you to tap.
Try asking
- “Use NotesMosaic. Plan a small multiplayer game I can play on my phone, build it, certify it on my phone and launch it.”
- “Use NotesMosaic: show me my games and how many people played each one this week.”
- “Use NotesMosaic: open my latest game, add enemies that chase the player, check it on a phone and publish the new version.”
Your AI starts by telling NotesMosaic which model it is and how much budget you have; NotesMosaic plans the cheapest way that works — our engine, library and finished examples for a small model, your own assets for a big one.
If something is off
The sign-in page didn’t open
Claude Code: type /mcp, choose notesmosaic, then Authenticate. Codex: codex mcp login notesmosaic. Gemini CLI: /mcp auth notesmosaic. Anywhere else: remove NotesMosaic and add it again.
Claude says I have too many connectors
Claude Free has one custom connector. Remove another, or upgrade.
ChatGPT has no Create
Turn on Developer mode first (Plus, Pro, Business, Enterprise or Edu, on chatgpt.com).
Gemini has no Custom apps
For now it is for personal Google accounts in the US. Gemini CLI works everywhere.
My work account can’t add it
Claude Team and Enterprise: an Owner adds it first. ChatGPT Business: an admin turns on Developer mode. Copilot Business and Enterprise: the organization allows MCP servers.
A tool says it needs a permission
Connect again from your app — it asks for the permission, and you allow it on the sign-in screen.