Skip to main content

Connect ChatGPT or Claude

ChatGPT and Claude can both connect to the same Selfmade Ninja Labs MCP service. You add it once in the AI app, sign in with your Labs account, and from then on the assistant can work with the real state of your labs — not with whatever you paste into the chat.

This page covers the web and desktop chat apps. For editor and terminal clients (Claude Code, Codex, Gemini CLI, Cursor, VS Code…), see Connect an AI assistant.

Before you connect

You needWhy
A Selfmade Ninja Labs accountThe assistant acts as this account and sees only what it can
ChatGPT or Claude on a surface that supports custom remote MCPNot every plan or app surface offers it — see each section below
Permission from your workspace, if you use a company or school workspaceAdministrators can block custom apps and connectors

The address to use in both apps:

https://labs.selfmade.ninja/mcp
One endpoint, two clients

MCP is an open standard, not a ChatGPT or Claude feature. There is one Labs endpoint and both apps connect to it with their own sign-in flow. You do not need anything separate for each.

Why connect a chat app

Without MCP, an assistant can only explain how Labs works in general. With it, the assistant can:

ObserveList your labs, domains, devices and services; read files, processes and logs
DiagnoseCompare live evidence and explain a failure instead of guessing from symptoms
BuildWrite and run code, scripts, security tooling or agents inside a real lab
OperateDeploy, redeploy and reconfigure — when you ask it to and your plan allows it

What it can actually do depends on your plan — see What you can ask.

Connect ChatGPT

Custom MCP apps are available in the ChatGPT web app. OpenAI treats full MCP support (including actions that change things) as a beta, and availability depends on your plan and workspace. Labels in ChatGPT change from time to time; look for the closest match.

1. Turn on Developer mode

In ChatGPT: Settings → Security and login → Developer mode. On some accounts it is under Settings → Apps → Advanced settings, or controlled by your workspace administrator.

If you cannot find Developer mode, the Labs endpoint is not the problem — your plan, role or workspace policy decides whether the feature is available.

2. Create the app

  1. Open the Apps area of ChatGPT and choose to create or add a custom app / MCP connection.
  2. Name: Selfmade Ninja Labs.
  3. MCP server URL: https://labs.selfmade.ninja/mcp
  4. Authentication: choose OAuth. Never put your Labs password in a prompt or a field that asks for a token.
  5. If ChatGPT offers Scan tools (or similar), run it. A browser window opens for the Labs sign-in — sign in and approve the client.
  6. Read the trust and permission warnings, then Create.

3. Check it works

Start a new conversation, enable Selfmade Ninja Labs from the apps/tools menu, and ask something read-only:

List my Selfmade Ninja Labs and tell me which ones are currently deployed.

Then:

Show me the connection information for my Essentials lab. Do not change anything.

If the answers reflect your real labs, the connection works.

Connect Claude

Claude supports remote MCP servers as custom connectors on claude.ai, Claude Desktop and Cowork, on Free, Pro, Max, Team and Enterprise plans. Free accounts can add one custom connector.

Personal accounts (Free, Pro, Max)

  1. Open Claude and go to Customize → Connectors.
  2. Click + next to Connectors, then Add custom connector.
  3. Name: Selfmade Ninja Labs.
  4. URL: https://labs.selfmade.ninja/mcp
  5. Click Add, then complete the sign-in: a browser window asks you to sign in to Labs and approve Claude.

Team and Enterprise workspaces

An Owner or Primary Owner adds the connector for everyone first:

  1. Organization settings → Connectors → Add.
  2. Choose Custom → Web.
  3. Enter https://labs.selfmade.ninja/mcp and click Add.

Each member then goes to Customize → Connectors, finds Selfmade Ninja Labs, and clicks Connect to sign in with their own Labs account.

Use it in a conversation

  1. Click + at the lower left of the message box.
  2. Open Connectors and switch on Selfmade Ninja Labs.
  3. Start read-only:

List my deployed Selfmade Ninja Labs and tell me which ones are currently available.

Inspect my Essentials lab and explain what is running on it. Do not change anything.

Claude connects from the cloud

Claude's remote connectors reach the MCP server from Anthropic's servers, not from your computer. That is why the public Labs address above is used; a server reachable only on your laptop, LAN or VPN would not work as a connector.

Write good requests

You do not need to name tools. Ask for an outcome and let the assistant pick the tools.

Instead ofAsk
"Call list_labs.""Which of my machine labs are deployed right now?"
"Fix my lab.""Inspect my Essentials lab, find why the site is down, and propose a fix without changing anything."
"Deploy it.""Confirm which lab and settings you will use, tell me the impact, then deploy when I say yes."
"Delete the old domain.""Find the domain and the lab using it. Do not delete anything until I confirm."

A strong request has three parts:

  1. The goal — what you want to achieve.
  2. The scope — which lab, project, domain or service.
  3. The boundary — only inspect, propose, or actually change.

Inspect my Essentials lab. Find the project serving on port 80, explain its structure, and do not modify any files.

A safe way to make changes: inspect → explain → propose → execute → verify

For anything that matters, move in stages:

StepAsk
Inspect"Inspect my lab and identify the current problem. Do not make changes."
Explain"Explain the likely cause, the evidence you found, and what would need to change."
Propose"Give me the safest fix, the files or settings that would change, and any side effects."
Execute"Apply the fix. First re-check it is the same lab and nothing unrelated will be overwritten."
Verify"Verify the change. Tell me whether the original problem is resolved. Make no further changes."

This keeps observation, diagnosis, your approval, the change and the check clearly separate — and each step is recorded in your history.

Prompts to start with

AreaPrompt
Lab overview"List my labs and summarise their current status."
Troubleshooting"My lab is not responding. Check its status, logs, listening ports and processes, and give me a diagnosis without changing anything."
Domains and HTTPS"List my domains and which lab each is attached to. Flag any certificate or routing problem."
Projects"Find the project directories in my lab and tell me each one's language and Git status."
Safe code changes"Inspect the project, explain the change needed, then wait for my approval before editing any file."
End-to-end"Investigate this end to end: read-only first, find the root cause, propose a fix, and only apply it after I approve."

More in Worked examples.

Permissions and safety

Connecting does not give the assistant more than you have. Three layers decide what it can do, and the effective access is what all three allow:

LayerDecides
The AI appWhich connectors and actions it lets the model use
The MCP connectionWhich Labs tools are exposed to your plan
Your Labs accountWhich labs, domains and services you can reach

Good practice:

  • Connect only to the official address above. Ignore anything claiming to be a "Labs-compatible" server.
  • Use the sign-in flow. Never paste your Labs password, SSH private key, WireGuard private key or tokens into a chat.
  • Prefer read-only requests first; review before any change to something that matters; verify afterwards.
  • Ask the assistant to name the exact lab or domain before anything destructive.
  • Only work on systems you are authorised to test. A connected lab does not make an unauthorised target fair game.
  • Remote MCP servers can be targets of prompt injection. Treat a connector as software with privileges, and review what it did in History and safety.

Troubleshooting

ProblemCheck
The app or connector option does not appearYou are on a supported surface (ChatGPT web; Claude web/desktop), the developer or connector feature is on, your plan includes it, and your workspace has not blocked custom apps.
Tool scanning or adding failsThe URL is exactly https://labs.selfmade.ninja/mcp. Retry and finish the sign-in when the browser window opens.
It keeps asking you to sign in againReconnect the app. If you disconnected it in Labs (Account Settings → Security → MCP clients), it must be approved again.
A tool you expected is missingYour plan may not include it — a Free account can read but not deploy. See What you can ask.
Tools changed after an updateManaged workspaces may freeze a connector's tool list. Refresh or re-review the connector.

More on security

How the connection is secured (sign-in, permissions, guard rails and history) is explained in How MCP connections are secured. The blog post Connect Selfmade Ninja Labs MCP to ChatGPT and Claude walks through the same setup with screenshots.

Provider references

Next steps