Installing the Nautobot MCP Server (Quick Start)¶
Here you will find detailed instructions on how to install and configure the Nautobot MCP Server within your environment using the pip package from Artifactory.
Use this guide to get the Nautobot MCP Server running quickly for local use or testing.
Production deployment? If you're deploying on a server and need automatic startup and restart on failure, follow the Production Installation guide instead.
Prerequisites¶
- Python 3.11, 3.12, or 3.13 - Installed on your system (including
pip) - Artifactory Access - Credentials to install from Network to Code's private PyPI repository
- Nautobot Instance - Version 2.x or higher with API access
Install Guide¶
1. Configure pip for Network to Code Artifactory¶
Before installing, you need to configure pip to use Network to Code's private Artifactory PyPI repository.
Create or edit your pip configuration file:
Linux/macOS: ~/.config/pip/pip.conf
[global]
extra-index-url = https://<USERNAME>:<API_TOKEN>@nautobot.jfrog.io/artifactory/api/pypi/nautobot-mcp-server/simple
Windows: %APPDATA%\pip\pip.ini
[global]
extra-index-url = https://<USERNAME>:<API_TOKEN>@nautobot.jfrog.io/artifactory/api/pypi/nautobot-mcp-server/simple
Replace <USERNAME> and <API_TOKEN> with your Artifactory credentials.
Alternative: Set the PIP_EXTRA_INDEX_URL environment variable instead:
export PIP_EXTRA_INDEX_URL=https://<USERNAME>:<API_TOKEN>@nautobot.jfrog.io/artifactory/api/pypi/nautobot-mcp-server/simple
2. Install the Package¶
It is recommended to install the package in a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install nautobot-mcp-server
3. Set Up Configuration¶
Create a .env file with your configuration:
cat > .env << "EOF"
# Nautobot MCP Server Configuration
#
# Only NAUTOBOT_BASE_URL is required. All other settings have sensible defaults.
# Uncomment and modify any setting you want to change.
# ============================================
# Nautobot Connection Settings
# ============================================
# REQUIRED: URL of your Nautobot instance
NAUTOBOT_BASE_URL=https://your-nautobot-instance.com
# Verify SSL certificates when connecting to Nautobot (default: true)
# Set to false for self-signed certificates (not recommended for production)
# NAUTOBOT_VERIFY_SSL=true
# Timeout for Nautobot API requests in seconds (default: 60)
# NAUTOBOT_TIMEOUT=60
# ============================================
# MCP Server Settings
# ============================================
# Name of the MCP server shown in MCP client connections (default: nautobot-mcp-server)
# MCP_SERVER_NAME=nautobot-mcp-server
# Transport protocol for MCP communication (default: streamable-http)
# Options: streamable-http (recommended), sse
# MCP_TRANSPORT=streamable-http
# Host address to bind the server to (default: 0.0.0.0)
# MCP_SERVER_HOST=0.0.0.0
# Port number for the MCP server (default: 8000)
# MCP_SERVER_PORT=8000
# Logging level (default: INFO)
# Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
# LOG_LEVEL=INFO
# ============================================
# MCP Client Cache Settings
# ============================================
# Seconds before a cached per-user client pair is re-initialized (default: 3600)
# MCP_CLIENT_TTL=3600
# Maximum number of per-user client pairs to cache (default: 100)
# MCP_CLIENT_CACHE_SIZE=100
# ============================================
# Query Safety Limits
# ============================================
# Maximum number of fields allowed in a single GraphQL query (default: 100)
# MAX_FIELDS=100
# Maximum nesting depth allowed in GraphQL queries (default: 5)
# MAX_DEPTH=5
# Maximum number of objects returned per GraphQL list query (default: 250)
# MAX_GRAPHQL_LIMIT=250
# Maximum number of pages to auto-paginate in REST API requests (default: 5, 0 = unlimited)
# MAX_PAGE_LIMIT=5
# Maximum concurrent Nautobot API requests per user token (default: 5)
# MAX_CONCURRENT_REQUESTS_PER_USER=5
EOF
Edit the .env file and configure your settings:
All other settings have sensible defaults and can be left as-is or adjusted as needed. See Configuration for all available options.
4. Run the Server¶
Start the MCP server:
The server will start and listen on http://{MCP_SERVER_HOST}:{MCP_SERVER_PORT} (http://0.0.0.0:8000 by default).
5. Verify Deployment¶
You should see output similar to:
2026-02-19 15:00:53,708 - __main__ - INFO - Starting MCP server with streamable-http transport on 0.0.0.0:8000...
2026-02-19 15:00:54,028 - __main__ - INFO - Nautobot MCP Server starting (Nautobot URL: https://your-nautobot-instance.com)
INFO Starting MCP server 'nautobot-mcp-server' with transport 'streamable-http' on http://0.0.0.0:8000/mcp
Test that the endpoint is responding:
You should receive a 401 Unauthorized or "invalid token" response. This is expected - it confirms the server is running and enforcing authentication.
Additional Resources¶
- Configuration - All configuration options, transport types, and TLS/reverse proxy setup
- Upgrade Guide - How to upgrade to a new version
- Troubleshooting - Common issues and solutions