Skip to main content

MCP

MCP for IT and admins

The Nomic MCP server lets members use Nomic from AI clients such as Cursor, Claude Code, and GitHub Copilot in VS Code. It has no accounts, permissions, or connection list of its own. A client connects with a member's Nomic API key, and everything it does goes through the Nomic HTTP API under that member's identity. If you already govern API keys, you already govern MCP.

How access works​

  • Each client authenticates with an npk_ API key in an Authorization header. The server does not support OAuth or shared service credentials.
  • A key belongs to one member. Tool calls run with that member's project and file access, and spend counts against that member.
  • The key's scopes decide which tools the client sees. Admin tools appear only when the key has admin scopes and its owner is currently an organization admin. If the owner stops being an admin, the key loses its admin tools.
  • Every call is checked again by the API. A client cannot reach a project or file that the key's owner cannot open in the app.
  • Revoking a key, or disabling its owner, cuts the client off on its next request.

Choose scopes​

Members create keys in Developer → API Keys. New keys default to the developer scope. Admins can also select admin or any of the granular admin scopes.

UseScopes
A member running agents and searching filesdeveloper
An admin reviewing spend and usagedeveloper, admin:analytics:read
An admin answering access questionsadmin:users:read, admin:audit:read
A security automation that can cut off accessadmin:users:write, admin:api-keys:write
Full admin accessdeveloper, admin

Give each key the narrowest scopes that fit. Most members need only developer. Reserve admin:users:write and admin:api-keys:write for keys that need to disable users or revoke keys, because both are destructive.

See MCP tools for the scope behind each tool, and Scopes for the full list.

Roll out to your team​

  1. Point members to Nomic MCP server. The Developer → MCP page on your instance shows your server URL and configuration for Cursor, Claude Code, and VS Code.
  2. Ask each member to create their own key, one per client or machine. Don't share one key across people. Shared keys hide who did what in the audit log and give everyone the key owner's access.
  3. If you share configuration through a repository or a managed settings file, reference each person's key instead of including one. Cursor and Claude Code read it from an environment variable, and VS Code prompts for it and stores it securely. Nomic MCP server shows each format.
  4. If your organization limits which MCP servers clients may use, for example with Cursor's MCP allowlist, allow https://<your-domain>.nomic.ai/mcp.

Network requirements​

Clients connect over HTTPS to https://<your-domain>.nomic.ai/mcp. No other host is involved. Tools that wait on an agent hold a streaming response open for up to 15 minutes, so proxies and firewalls must not cut off long-lived HTTPS responses from that address.

Monitor activity​

Admin → Audit logs records changes such as disabled users, project changes, and revoked keys. Set Source to MCP to see only the changes made through an MCP client. Each entry names the member and the API key. Reads such as file searches are not audited.

Admin → Analytics includes agents started from MCP clients, attributed to the key's owner. Analytics does not separate MCP runs from runs started in the app or through the HTTP API.

Developer → API Keys lists your own keys with their scopes and when each was last used. To list every key in the organization, use the list_api_keys tool or GET /api-keys.

For security tooling, poll audit logs with an admin:audit:read key.

Revoke access​

To rotate a key, create the new key, update the client, confirm it connects, then revoke the old key in Developer → API Keys.

To cut off one client, revoke its key. Members revoke their own keys in Developer → API Keys, and admins can revoke any key with revoke_api_key. Revoking is immediate and permanent, and other keys keep working.

To cut off a person, disable their account in the members table or with disable_user. Disabling revokes every key they own, so all of their MCP clients stop working at once. Re-enabling the account does not restore the keys. With Directory Sync, deactivating the person in your identity provider has the same effect.

Examples​

These need an admin key with the scopes shown in Choose scopes.

Review spend​

The review-org-usage prompt runs this review for you. You can also ask in your own words:

Claude CodeNomic MCP server

Review our Nomic usage for the last 7 days. Who are the heaviest users, and did any agents fail?

  1. list_daily_spend{ "startDate": "2026-09-28", "endDate": "2026-10-04", "by": "user" }

    Seven days of spend, split by user.

  2. list_user_analytics{ "limit": 25 }

    Usage, spend caps, and last activity for 25 members.

  3. list_workflow_analytics{ "period": "7d", "sort": "spend" }

    Workflow runs and average spend per run.

  4. list_org_agents{ "status": "failed", "limit": 50 }

    Four failed agents this week.

Spend was steady except on Thursday, when two members ran the submittal review workflow across a full drawing set. They account for 41% of the week's spend, and both are within their spend caps. Four agents failed, all from one workflow that points at a file that has since been deleted.

Offboard a member​

CursorNomic MCP server

Jordan Lee left today. Disable their Nomic account and confirm their API keys are gone.

  1. list_users{ "email": "jordan.lee" }

    One match: jordan.lee@acme.com.

  2. get_user{ "id": "0199a0b3-…" }

    Active, with 2 API keys.

  3. disable_user{ "id": "0199a0b3-…", "reason": "Offboarding" }

    Disabled. 2 API keys revoked.

Jordan's account is disabled and both of their API keys are revoked. The change is in the audit log with the reason "Offboarding."

The client asks for approval before disable_user runs, because the tool is marked destructive. Check the user ID before you approve.

Incident response​

If you suspect a key is exposed:

  1. Revoke the key. Its owner can revoke it in Developer → API Keys, and an admin can revoke any key with revoke_api_key.
  2. If you are not sure which key is exposed, or the account itself may be compromised, disable the user. That revokes all of their keys.
  3. In Admin → Audit logs, set Source to MCP and filter to the user to review what changed.
  4. Check Admin → Analytics for agent runs and spend you don't expect.

See Identity & access for broader account security.