# Install Nomid MDM

> Connect an AI agent to a company's Nomid MDM fleet through Nomid's MCP server. Nomid manages company-owned Android devices and PICO VR headsets. It does not manage iPhones, iPads, Macs or Windows PCs.

Server URL: `https://api.nomid.tech/emm/api/mcp` (MCP Streamable HTTP)

## Before you start

- A person creates the Nomid account and company: https://www.nomidmdm.com/en/signup. You cannot create accounts.
- A person signs in or creates the API key. Never ask for a password, and never print a key.
- If you cannot change your own MCP settings, give the person the steps for their app below.
- Give the person these steps in their language. Keep commands, URLs and tool names exactly as written.

## Claude (web and Desktop)

1. On an individual plan, open Customize › Connectors, click "+ Add" and choose "Add custom connector".
2. Enter a name, for example Nomid, and the Nomid server URL, then click Add.
3. Sign in with Nomid when Claude asks. Claude works as you, within your role and policy scope and your company's settings. Nomid's sign-in offers read access, device commands and provisioning; what you get depends on what your assistant requests, what you approve on the consent page, and your role and company settings. Policy changes and destructive commands need those scopes requested explicitly by the assistant, or an API key with those permissions.

On Team and Enterprise plans, an Owner adds the connector under Organization settings › Connectors. Members then click Connect.

## Claude Code

1. Add the Nomid server in your terminal.

```sh
claude mcp add --transport http nomid-mdm https://api.nomid.tech/emm/api/mcp
```

2. Run /mcp in Claude Code, select the Nomid server and sign in with Nomid. Nomid's sign-in offers read access, device commands and provisioning; what you get depends on what your assistant requests, what you approve on the consent page, and your role and company settings. Policy changes and destructive commands need those scopes requested explicitly by the assistant, or an API key with those permissions.

## ChatGPT

1. In ChatGPT, add Nomid as a custom connector or MCP server, using the Nomid server URL.
2. Sign in with Nomid when ChatGPT asks you to authenticate. ChatGPT works as you, within your role and policy scope and your company's settings. Nomid's sign-in offers read access, device commands and provisioning; what you get depends on what your assistant requests, what you approve on the consent page, and your role and company settings. Policy changes and destructive commands need those scopes requested explicitly by the assistant, or an API key with those permissions.

Availability depends on your ChatGPT plan and workspace settings. If you cannot add a connector, ask your workspace administrator.

## Codex

1. In the Nomid portal, open Settings and select the API tab.
2. Click Create API Key and enter a name that identifies the assistant, for example Claude Code read-only.
3. Choose the permissions described below. If you want the key to stop working on a given date, set an expiration date.
4. Copy the key when it is shown. It is displayed only once.

Enable the device and policy read permissions (DEVICES_READ and POLICIES_READ). This is enough for every read tool and is the recommended starting point.

Store the key in an environment variable named NOMID_API_KEY and never commit it to a repository. The URL in each example is the production endpoint.

Add this to ~/.codex/config.toml. Codex reads the token from the named environment variable. It does not expand variables written inside the file.

```toml
[mcp_servers.nomid]
url = "https://api.nomid.tech/emm/api/mcp"
bearer_token_env_var = "NOMID_API_KEY"
```

## Cursor

1. In the Nomid portal, open Settings and select the API tab.
2. Click Create API Key and enter a name that identifies the assistant, for example Claude Code read-only.
3. Choose the permissions described below. If you want the key to stop working on a given date, set an expiration date.
4. Copy the key when it is shown. It is displayed only once.

Enable the device and policy read permissions (DEVICES_READ and POLICIES_READ). This is enough for every read tool and is the recommended starting point.

Store the key in an environment variable named NOMID_API_KEY and never commit it to a repository. The URL in each example is the production endpoint.

Add this to .cursor/mcp.json. Cursor expands environment variables in the header value, as shown.

```json
{
  "mcpServers": {
    "nomid-mdm": {
      "url": "https://api.nomid.tech/emm/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:NOMID_API_KEY}"
      }
    }
  }
}
```

## Other MCP clients

Any MCP client that supports Streamable HTTP servers with custom headers can connect with the endpoint URL and an Authorization: Bearer header.

## Check the connection

Ask for a summary of the fleet, which calls `get_fleet_summary`. A refusal names the permission that is missing. Tell the person which one; do not work around it.

## What the connection can do

- Connecting an agent is included on the Free plan, including with an API key.
- With Sign in with Nomid, reading devices and policies works from the first sign-in, unless the company has turned AI agents off.
- Device commands, provisioning QR codes and policy changes follow the company's settings under AI agent access in the Nomid portal. They are on for a new company, and a company can turn them off. Destructive commands are a separate opt-in, off for a new company.
- With an API key, the key's permissions decide: `POLICIES_WRITE` plus `POLICIES_READ` for policy changes, and `DEVICES_COMMAND_DESTRUCTIVE` for destructive commands. Both also need those company settings.
- With Sign in with Nomid, the client has to request their scopes explicitly: `mcp:policies:write` and `mcp:devices:destructive`.
- Nomid enforces company settings and permissions. Asking the person before a command is your job: nothing on the server checks it.

## Next

- Every tool, its permission and the rules for commands and policy changes: https://www.nomidmdm.com/agents/nomid-mcp.md
- What an agent can do with Nomid: https://www.nomidmdm.com/skill.md
- Human-readable documentation: https://www.nomidmdm.com/en/developers/mcp
- Setup pages for people: https://www.nomidmdm.com/{language}/claude and https://www.nomidmdm.com/{language}/chatgpt, where {language} is one of: en, es, br (Brazilian Portuguese), pt, pl, el, fr, de.
