> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trynito.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Nito MCP Server

> Run Nito's MCP server so Claude Desktop, Cursor, or your own agent can call the same Nito tools the plugin uses, over stdio, with no API key.

Nito ships an **MCP server** inside the command line tool. It proxies the hosted Nito tools over stdio, so any Model Context Protocol host, Claude Desktop, Cursor, or your own agent, can call Nito the way the plugin does. There is no separate package to install: the server is `nito agent mcp serve`.

<Note>
  Most users never need this. The plugin already connects to Nito for `/nito:` and `$nito:` commands. Reach for the MCP server when you want a **different** host, or your own agent, to call the same Nito tools directly. Optional at launch.
</Note>

## Quick Start

<Steps>
  <Step title="Install and sign in">
    Install the command line tool (see [Install in Claude Code](/get-started/install-claude-code)), then sign in once. Nito authenticates through `nito agent login` and stores a credential in your OS keychain, so no key or token goes into your host config.

    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["typescript","python","curl"]}}
    nito agent login
    nito agent status   # confirm you are connected
    ```
  </Step>

  <Step title="Add Nito to your MCP host config">
    Drop this into your host's MCP config file:

    ```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["typescript","python","curl"]}}
    {
      "mcpServers": {
        "nito": {
          "command": "nito",
          "args": ["agent", "mcp", "serve"]
        }
      }
    }
    ```

    Common config paths:

    | Host                     | Path                                                              |
    | :----------------------- | :---------------------------------------------------------------- |
    | Claude Desktop (macOS)   | `~/Library/Application Support/Claude/claude_desktop_config.json` |
    | Claude Desktop (Windows) | `%APPDATA%\Claude\claude_desktop_config.json`                     |
    | Cursor                   | `~/.cursor/mcp.json`                                              |
    | Other hosts              | see the host's own MCP settings                                   |
  </Step>

  <Step title="Restart your MCP host">
    Your agent now has the Nito tools available. Try asking it to list Nito-supported models or run a completion.
  </Step>
</Steps>

## The Tools

The server exposes exactly these tools, each with the `nito.` prefix. The set is fixed: no undocumented tools are exposed, and a missing required tool is reported rather than hidden.

| Tool                  | Input                                                                  | Returns                                                                      |
| :-------------------- | :--------------------------------------------------------------------- | :--------------------------------------------------------------------------- |
| `nito.auth_status`    | `{}`                                                                   | User, org, client, scope, and expiry metadata. Never raw tokens.             |
| `nito.account_status` | `{}` or `{"projection":"compact"}`                                     | Full safe account state, or the compact status-card fields only.             |
| `nito.models_list`    | `{}` or a bounded `query` / `limit` / `cursor` / `type` / `projection` | The compatible model catalog, or a paged picker projection.                  |
| `nito.chat_complete`  | Chat request fields                                                    | The final assistant response and its metadata. Non-streaming.                |
| `nito.chat_fusion`    | Prompt, two or three models, optional output and web controls          | Participants, synthesis, safe attestation fields, usage, and partial status. |

* **`nito.auth_status`** confirms who you are connected as and when the connection expires. It returns metadata only, never the credential itself.
* **`nito.account_status`** returns your plan and usage. The `compact` projection returns just the rendered status-card fields, including the eligible-Free monthly plugin-request limit, the remaining count, and the UTC reset, and omits identifiers, scopes, and token metadata.
* **`nito.models_list`** lists the catalog. Plain `{}` returns the full compatible list; `projection=picker` returns only `id`, `display_name`, and `privacy_tier`, plus `next_cursor`, `total`, and `catalog_revision` for paging.
* **`nito.chat_complete`** is a single, non-streaming completion. It applies the same model policy as the rest of Nito, so premium and privacy rules are enforced here too.
* **`nito.chat_fusion`** runs a multi-model Fusion and returns each participant plus the synthesis, along with safe attestation fields. It is available over OAuth sign-in.

<Note>
  `privacy_tier` is the API's name for the model's [privacy level](/privacy/levels). These docs say level; the field kept the older word.
</Note>

## Privacy and Limits Still Apply

The MCP server is a different transport, not a different set of rules. The privacy level still follows the model, premium and beta model policy is enforced on `nito.chat_complete`, and rate limits are returned as normal tool errors with canonical `rate_limited` codes when you go over. Prompts, tool arguments, and completions are never persisted or logged server-side; any conversation history lives on your machine.

## Running the Server

Your MCP host normally launches `nito agent mcp serve` for you from the config above, but you can run it directly to test it or to pass flags:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["typescript","python","curl"]}}
# Start the MCP server over stdio
nito agent mcp serve

# Use a specific agent profile
nito agent mcp serve --profile work

```

## Options

`nito agent mcp serve` accepts a couple of flags for advanced setups:

| Flag               | Effect                                               |
| :----------------- | :--------------------------------------------------- |
| `--profile <name>` | Use a specific agent profile instead of the default. |

To pin a profile in your host config instead:

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["typescript","python","curl"]}}
{
  "mcpServers": {
    "nito": {
      "command": "nito",
      "args": ["agent", "mcp", "serve", "--profile", "work"]
    }
  }
}
```

<Note>
  If your host reports the server as disconnected, check that `nito agent status` shows you signed in, and that `nito` is on the PATH your MCP host runs with. Hosts launched from the GUI sometimes have a different PATH than your shell.
</Note>

## How This Differs From the Plugin

The [Claude Code and Codex plugin](/get-started/what-the-plugin-is) already connect to Nito for you, so you do not need this to use `/nito:` or `$nito:` commands. Reach for `nito agent mcp serve` when you want a **different** MCP host, or your own agent, to call the same Nito tools directly.

## Related

<CardGroup cols={2}>
  <Card title="Nito CLI" icon="terminal" href="/cli/reference">
    Install, the command index, and the terminal front door.
  </Card>

  <Card title="Choosing a Model" icon="list-check" href="/commands/choosing-a-model">
    Which models the tools can reach, and their privacy levels.
  </Card>
</CardGroup>
