Skip to main content
Glama

MCP Nautobot Server

by aiopnet
MIT License
1

MCP-Nautobot

A Model Context Protocol (MCP) server for Nautobot network automation platform. This project allows AI assistants to interact with your Nautobot instance, providing access to network inventory data.

Disclaimer: This project is not officially affiliated with Anthropic, Claude, or Nautobot. It is an independent implementation of the Model Context Protocol for Nautobot integration.

Features

  • Asynchronous API: Built with modern async Python
  • MCP Compatible: Works with Claude and other MCP-compatible AI assistants
  • Nautobot Integration: Query your network inventory data directly
  • Site Information: Retrieve detailed site location data
  • Device Details: Access device specifications and configurations
  • Network Topology: Visualize network connections and relationships
  • Role-based Access: Control data access by user role
  • Flexible Configuration: Customizable data presentation

Requirements

  • Python 3.10+
  • Nautobot instance with API access
  • Nautobot API token with appropriate permissions

Installation

# Clone the repository git clone https://github.com/aiopnet/mcp-nautobot.git cd mcp-nautobot # Create and activate a virtual environment # If uv is not installed, follow instructions at: https://github.com/astral-sh/uv uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies uv pip install -e . # Requires pip 21.3+ for editable installs with pyproject.toml

Configuration

Copy the example environment file and update it with your settings:

cp .env.example .env # Edit .env with your favorite editor

Environment Variables

VariableRequiredDescriptionDefault
NAUTOBOT_URLYesURL of your Nautobot instanceNone
NAUTOBOT_TOKENYesAPI token with read permissionsNone
MCP_PORTNoPort for the MCP server to listen on8000
MCP_HOSTNoHost for the MCP server to bind to127.0.0.1
LOG_LEVELNoLogging level (DEBUG, INFO, WARNING, ERROR)INFO

⚠️ Security Note: Never commit your .env file to version control. It contains sensitive API tokens.

For advanced configuration options, see docs/CONFIGURATION.md.

Usage

Running the Server

# Start the MCP server python -m mcp_nautobot.server # Or using the provided CLI mcp-nautobot-server

The server will start on http://127.0.0.1:8000 by default.

Integrating with Claude Desktop

  1. Open Claude Desktop and navigate to Settings > Tools > Configure Custom Tools
  2. Add a new tool with the following details:
    • Name: Nautobot Network Data
    • Description: Access network inventory data from Nautobot
    • Schema Type: MCP
    • Endpoint URL: http://127.0.0.1:8000 (or your custom host/port)
  3. Save and test the connection

Now you can ask Claude questions about your network inventory:

  • "What sites do we have in the US West region?"
  • "Show me all devices in the Chicago datacenter"
  • "List all Cisco switches in our network"
  • "What's the IP address of the core router in Atlanta?"

Developer Guide

Testing

# Install development dependencies uv pip install -e ".[dev]" # Run tests pytest # Run tests with coverage pytest --cov=mcp_nautobot

Code Style and Linting

This project follows PEP 8 guidelines and uses Black and isort for formatting.

# Format code black mcp_nautobot tests isort mcp_nautobot tests # Lint code flake8 mcp_nautobot tests mypy mcp_nautobot

Roadmap

  • Device Configuration Retrieval: Access running device configurations
  • Topology Visualization: Generate network maps and diagrams
  • Multi-tenant Support: Enhanced role-based access control
  • Circuit Information: Data about WAN circuits and providers
  • Performance Data: Historical performance metrics integration

Contributing

Contributions are welcome! Please check out our Contributing Guide to get started.

If you encounter any issues or have feature requests, please open an issue.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

## Troubleshooting If you encounter issues, check the [Troubleshooting Guide](docs/TROUBLESHOOTING.md) or open an issue on GitHub.
-
security - not tested
A
license - permissive license
-
quality - not tested

A Model Context Protocol server that integrates with Nautobot to provide network automation and infrastructure data to AI assistants like Claude, allowing them to query and interact with network Source of Truth systems.

  1. Features
    1. Requirements
      1. Installation
        1. Configuration
          1. Environment Variables
        2. Usage
          1. Running the Server
          2. Integrating with Claude Desktop
        3. Developer Guide
          1. Testing
          2. Code Style and Linting
        4. Roadmap
          1. Contributing
            1. License
              1. Acknowledgements
                1. Troubleshooting

                  Related MCP Servers

                  • -
                    security
                    F
                    license
                    -
                    quality
                    A comprehensive suite of Model Context Protocol servers designed to extend AI agent Claude's capabilities with integrations for knowledge management, reasoning, advanced search, news access, and workspace tools.
                    Last updated -
                    5
                    TypeScript
                    • Apple
                  • A
                    security
                    A
                    license
                    A
                    quality
                    A Model Context Protocol server that enables Claude and other AI assistants to access and update Kintone data through natural language commands, supporting operations like record management, file handling, app administration, and space collaboration.
                    Last updated -
                    25
                    8
                    JavaScript
                    AGPL 3.0
                    • Apple
                  • A
                    security
                    F
                    license
                    A
                    quality
                    A Model Context Protocol server that connects Claude and other AI assistants to your Notion workspace, allowing AIs to interact with databases, pages, and blocks.
                    Last updated -
                    12
                    1
                    11
                    JavaScript
                    • Apple
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.
                    Last updated -
                    5
                    Python
                    • Linux
                    • Apple

                  View all related MCP servers

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/aiopnet/mcp-nautobot'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server