MCP server
Connect Claude, Claude Code, Cursor, VS Code or ChatGPT to Norcube through the remote MCP server. Sign-in and consent, scopes, organizations, billing, revoking access, and the errors you'll see.
The Norcube MCP server lets AI clients that speak the Model Context Protocol call Norcube tools on your behalf: run a database backup before a deploy, prove a backup restores, check whether a domain is really free. It's a remote server, so there's nothing to install or host.
| Endpoint | https://mcp.norcube.com/mcp |
|---|---|
| Transport | Streamable HTTP |
| Auth | OAuth 2.1 sign-in through Norcube Auth |
| API keys | Not needed (and not accepted) |
| Permissions | Your own Norcube IAM, plus the scopes you pick |
The tools in this release:
| Tool | Product | Scope | What it does |
|---|---|---|---|
whoami | Account | org.read | Who the connection acts as, and which orgs it can reach. |
list_organizations | Account | org.read | The organizations granted to this connection. |
backup_list_datasources | Backup | backup.read | Datasources in the organization. |
backup_list_jobs | Backup | backup.read | A datasource's backup jobs and their restore-check results. |
backup_get_status | Backup | backup.read | Status of a backup job. |
backup_run | Backup | backup.write | Start an on-demand backup; returns a job id. |
backup_restore_check_overview | Backup | backup.read | Restore-check settings and recent results. |
backup_run_restore_check | Backup | backup.verify | Test-restore a backup into a throwaway database. |
backup_get_restore_check | Backup | backup.read | Result of a restore check. |
domainradar_check_domain | DomainRadar | domainradar.check | Live check of one domain. |
domainradar_check_domains | DomainRadar | domainradar.check | Start a bulk check; returns a job id. |
domainradar_get_bulk_check | DomainRadar | domainradar.check | Progress and paged results of a bulk check. |
domainradar_list_bulk_checks | DomainRadar | domainradar.check | Your recent bulk checks, including ones from the dashboard. |
domainradar_list_saved_domains | DomainRadar | domainradar.check | Saved domains with their latest stored check. |
domainradar_list_brand_watchers | DomainRadar | domainradar.check | Brand-monitor watchers. |
domainradar_list_brand_hits | DomainRadar | domainradar.check | Lookalike domains seen in new TLS certificates, with scores. |
domainradar_list_name_jobs | DomainRadar | domainradar.check | AI name-generation jobs. |
domainradar_get_name_job | DomainRadar | domainradar.check | One name-generation job and its generated names. |
langsync_list_namespaces | LangSync | langsync.read | Namespaces with languages, progress and term counts. |
langsync_get_namespace | LangSync | langsync.read | One namespace and its language codes. |
langsync_list_terms | LangSync | langsync.read | Terms with translations, filtered and paged. |
langsync_list_glossary | LangSync | langsync.read | The organization's glossary. |
langsync_add_term | LangSync | langsync.write | Add a term, optionally AI-translating it. |
langsync_set_translation | LangSync | langsync.write | Write one translation in one language. |
langsync_translate_missing | LangSync | langsync.write | Start AI translation of missing values. |
A client only sees the tools its connection's permissions allow: a connection without DomainRadar shows no DomainRadar tools at all. Per-tool details live with each product: Backup MCP tools, DomainRadar MCP tools and LangSync MCP tools. Full restores, deleting backups, backup downloads and the other Norcube products aren't exposed through MCP.
Connect your client
# available in every project
claude mcp add --transport http norcube https://mcp.norcube.com/mcp
# or only in this repository (writes .mcp.json, commit it to share)
claude mcp add --transport http --scope project norcube https://mcp.norcube.com/mcpThen run /mcp inside Claude Code, pick norcube, and complete the
sign-in in your browser. A project-scoped server gets its own
connection, which is how you bind a repository to one
organization.
In claude.ai or Claude Desktop, open Settings → Connectors, add a custom connector, and use:
https://mcp.norcube.com/mcpLeave the OAuth client fields empty. Click Connect, sign in, and enable the connector in a chat.
Add the server to .cursor/mcp.json in your project (or the global
~/.cursor/mcp.json):
{
"mcpServers": {
"norcube": {
"url": "https://mcp.norcube.com/mcp"
}
}
}Enable norcube in Cursor's MCP settings; Cursor opens the sign-in in
your browser.
ChatGPT can add remote MCP servers as custom connectors (depending on your plan and workspace settings, this may require developer mode or an admin to allow custom connectors). Create a connector with the URL below and OAuth authentication:
https://mcp.norcube.com/mcpAny other MCP client that supports remote servers with OAuth works the same way: give it the URL and let it run the sign-in.
Sign-in and consent
The first time a client connects, it registers itself with Norcube Auth and opens your browser:
Sign in to Norcube as usual (including two-factor authentication if you have it on). The client never sees your password.
Check who is asking. The consent screen shows the client's name and the host it will redirect back to.
Pick the organization. One organization is selected by default; you can select several (see Organizations).
Choose the permissions (scopes), then approve. Only permissions your role allows are offered (see below). The client receives a token limited to the organizations and scopes you picked.
Scopes
| Scope | Unlocks | Default |
|---|---|---|
org.read | whoami, list_organizations | Always granted |
backup.read | Listing datasources and backup jobs, job status, restore-check overview and results | Pre-checked |
backup.write | backup_run (starting backups) | Off; tick it to allow |
backup.verify | backup_run_restore_check (restore checks) | Off; tick it to allow |
domainradar.check | Every DomainRadar tool: live checks (metered) and reading your stored DomainRadar data | Pre-checked |
langsync.read | langsync_list_namespaces, langsync_get_namespace, langsync_list_terms, langsync_list_glossary | Pre-checked |
langsync.write | langsync_add_term, langsync_set_translation, langsync_translate_missing | Off; tick it to allow |
Scopes only ever narrow what you can do. Consent can't grant the client more than your own role allows in each organization.
Consent only offers what your role allows
Each permission is offered only if your Norcube role grants the actions behind it in at least one of the organizations you picked:
| Scope | Your role needs |
|---|---|
org.read | Nothing (always available) |
backup.read | ListDatasources and ListBackupJobs |
backup.write | RunManualBackup |
backup.verify | CreateRestore |
domainradar.check | CheckDomain and CreateBulkCheck |
langsync.read | ListNamespaces and ListTerms |
langsync.write | UpdateTermTranslation |
- Several organizations. A permission your role has in only some of the picked organizations is labelled Only in <org> and works only there. The product checks your role in that organization on every call, so the token can't be used to act elsewhere.
- Not available. Permissions the client asked for but you can't grant appear greyed out as Not available with your role.
Organizations
What you pick on the consent screen decides how tools find their organization:
- One organization (the default): every tool uses it
automatically. Tools don't take an
organizationargument. - Several organizations: tools take an
organizationargument (the organization id), and the agent must name one of the organizations you granted.list_organizationsreturns their ids, names and slugs.
Per-project binding in Claude Code. Add the server with
--scope project in each repository and approve a single organization
for each. The acme-api repository then always acts on Acme, and your
side project on your personal org, without the agent ever choosing.
Permissions, billing and usage
The MCP server holds no business logic. Each tool call is exchanged inside Norcube for a short-lived token for the target product and then calls the same API the dashboard uses, so:
- IAM applies unchanged. If your role can't run a backup in the
dashboard,
backup_runfails the same way. - Read-only is enforced twice. A connection without
backup.writeis refused by the MCP tools, and the Backup API itself also rejects any change made with a read-only connection token. Restore checks need their ownbackup.verifypermission the same way;backup.writealone doesn't allow them. - The billing gate applies. Organizations that are blocked for an unpaid balance get an error on paid operations, exactly as in the dashboard.
- Usage is metered normally. DomainRadar checks are metered at the usual rates; backups count against your Backup plan, and restore checks work like Test now in the dashboard. Listing stored data (saved domains, bulk checks, brand hits, generated names, backup jobs) costs nothing. There's no separate MCP charge.
Changing a connection's access
Open Account settings → Connected apps in the dashboard and click Edit on a connection. You can add or remove organizations and permissions without reconnecting the client. Edits stay within what the AI client originally asked for and what your role allows.
- Removals take effect on the client's next tool call.
- Additions apply within about 5 minutes, when the client next refreshes its token.
- New permissions available appears when your role now allows something the connection doesn't have yet.
- Permissions your role no longer covers are marked Not available with your current role.
- The client's tool list follows the permissions. After an edit, reconnect the client or reload its tools to see added tools.
- An edit can only add permissions the client asked for when it first connected. If a newer permission (such as Run restore checks) isn't offered for an older connection, remove the server from the client and add it again.
Revoking access
In the same Account settings → Connected apps list, each connected client is shown with its scopes and organizations; Revoke removes it. Revocation takes effect on the client's next tool call, not when a token happens to expire.
Errors you'll see
Tool errors come back as readable messages the agent can relay.
| Situation | What it means and what to do |
|---|---|
| Missing scope | The connection wasn't granted the scope the tool needs (the message names it). Edit the connection in Account → Connected apps and add that scope (or reconnect and tick it). |
| Read-only for Backup | "This Norcube connection is read-only for Backup. Edit the connection in Account → Connected apps…": the Backup API refused a change because the connection lacks backup.write (or backup.verify for restore checks). Add it by editing the connection. |
organization required/unknown | The token spans several organizations and the call didn't name one, or named one you didn't grant. |
| Billing blocked (402) | The organization is blocked for an unpaid balance. Settle the invoice in the dashboard. |
| Permission denied (403) | Your IAM role in that organization doesn't allow the action. Ask an owner or admin to change your role. |
| Rate limited | Too many calls in a short window, either at the MCP server or the product's own limits. Wait and retry. |
| Connection revoked / expired | The client must sign in again; most clients prompt automatically. |
| Internal error with a reference | Something failed on our side. Quote the support reference when you contact us. |
Related
- Backup MCP tools: datasources, on-demand backups, restore checks, the before-deploy workflow.
- DomainRadar MCP tools: live checks, saved domains, brand monitoring and generated names.
- CLI: the same platform from your terminal.
- Members and IAM: the roles every tool call is checked against.