Skip to content

Connecting Nautobot MCP Server to Claude Desktop

This guide walks you through connecting an already-running Nautobot MCP Server to Claude Desktop.

Prerequisites

  • Claude Desktop installed (download from claude.ai, see MCP setup guide)
  • Node.js installed (required for npx command)
  • Nautobot MCP Server running and accessible (see Install Guide for setup)
  • Your Nautobot API token (each user provides their own)

Configure Claude Desktop

We use mcp-remote as a bridge to translate between the server's HTTP protocol and the stdio interface that Claude Desktop expects. Both streamable-http and sse transports are supported.

Edit your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Add one of the following MCP server configurations based on your Nautobot MCP Server deployment:

Local Development Server (HTTP)

For local use without TLS:

{
  "mcpServers": {
    "Nautobot": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "http://localhost:8000/mcp",
        "--allow-http",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer YOUR_NAUTOBOT_API_TOKEN"
      }
    }
  }
}

Configuration:

  • http://localhost:8000/mcp - Direct HTTP access (use /mcp for streamable-http or /sse for SSE transport)
  • --allow-http - Required for non-HTTPS connections
  • AUTH_HEADER - Set to Bearer YOUR_NAUTOBOT_API_TOKEN with your Nautobot API token

Remote Server (Trusted Certificate)

For servers with a publicly trusted or internally trusted TLS certificate:

{
  "mcpServers": {
    "Nautobot": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "https://mcp.yourcompany.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer YOUR_NAUTOBOT_API_TOKEN"
      }
    }
  }
}

Configuration:

  • https://mcp.yourcompany.com/mcp - Your server's URL (use /mcp for streamable-http or /sse for SSE transport)
  • AUTH_HEADER - Set to Bearer YOUR_NAUTOBOT_API_TOKEN with your Nautobot API token

Remote Server (Private CA Certificate)

For servers with a certificate signed by a private or internal CA:

{
  "mcpServers": {
    "Nautobot": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "https://mcp.internal.company.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer YOUR_NAUTOBOT_API_TOKEN",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

Configuration:

  • https://mcp.internal.company.com/mcp - Your server's URL (use /mcp for streamable-http or /sse for SSE transport)
  • AUTH_HEADER - Set to Bearer YOUR_NAUTOBOT_API_TOKEN with your Nautobot API token
  • NODE_TLS_REJECT_UNAUTHORIZED=0 - Disables TLS certificate verification
  • Alternative: Add your CA certificate to the system trust store and remove NODE_TLS_REJECT_UNAUTHORIZED from the env section

Restart Claude Desktop

Close and reopen Claude Desktop. The Nautobot MCP server should now be available.

Verify Connection

In Claude Desktop, you should see Nautobot listed when clicking the + button in the chat input area then highlighting Connectors.

Claude Desktop Nautobot

You can also verify by navigating to Settings -> Developer in the desktop app and checking the status of the Nautobot MCP server.

Claude Desktop Developer Settings

Troubleshooting

Server Not Showing Up or Showing "Failed" in Claude Desktop

  1. Check Node.js installation - Verify Node.js is installed by running node --version
  2. Check the configuration file location - Make sure you're editing the correct claude_desktop_config.json
  3. Validate JSON syntax - Use a JSON validator to ensure your config is valid
  4. Verify server is running - Check that the Nautobot MCP Server is running and accessible
  5. Check the endpoint - Ensure the URL ends with /mcp for streamable-http transport or /sse for SSE transport
  6. Verify your token - An invalid Nautobot API token will prevent successful connection
  7. Restart Claude Desktop - Completely quit and reopen the application

Why mcp-remote?

Claude Desktop doesn't support direct HTTP streaming protocols - it requires a stdio interface. The mcp-remote package acts as a bridge: - It connects to your server's endpoint via HTTP - It provides a stdio interface that Claude Desktop expects - It translates messages between the two protocols

Windows: Connection Fails with Authorization Header

On Windows, spaces in --header args are split by cmd.exe, breaking the connection. The configurations above use AUTH_HEADER as an env var to work around this - spaces in env vars are handled safely.

Example Usage in Claude Desktop

Once configured, you can ask Claude to query your Nautobot instance:

"Get all active devices in Texas with their names, locations, and device types"

"Show me all interfaces on devices in the NYC location"

"Find the first 10 VLANs with ID between 100 and 200"

"List the primary IP addresses for devices in the production environment, limit to 20 results"

Claude will use the Nautobot MCP Server to query your Nautobot instance.