MCP ExplorerExplorer

Nautobot App Mcp

@gt732on 9 months ago
14 NOASSERTION
FreeCommunity
AI Systems
Nautobot plugin that enables AI assistants to interact with network data through the Model Context Protocol (MCP).

Overview

What is Nautobot App Mcp

nautobot-app-mcp is a Nautobot plugin that integrates the Model Context Protocol (MCP) server with Nautobot, enabling AI assistants to interact with network data through standardized protocols.

Use cases

Use cases include automating network tasks, creating custom tools for network data analysis, and enhancing AI assistant capabilities in managing network infrastructure.

How to use

To use nautobot-app-mcp, install the package via pip, add it to the INSTALLED_APPS in your Nautobot configuration, configure the MCP settings, and run the nautobot post upgrade command.

Key features

Key features include integration with AI systems, customizable tools for network management, and a standardized protocol for data interaction.

Where to use

nautobot-app-mcp can be used in network automation and management environments, particularly where AI-driven solutions are being implemented.

Content

⚠️ Repository Archived

This project is no longer maintained or updated. I am archiving this repository due to limited time and bandwidth to continue development.

Nautobot MCP

Nautobot
Python
License

This Nautobot app integrates the MCP (Model Context Protocol) server with Nautobot, providing AI-ready tools and interfaces for network automation and management.

Overview

Nautobot MCP enables AI assistants or applications to interact with your network data through a standardized protocol. The app runs an MCP server alongside Nautobot that exposes tools which can be used by AI systems.

https://modelcontextprotocol.io/introduction

Demo using Librechat - Connected to Nautobot MCP

https://github.com/user-attachments/assets/283d68c2-d35f-4506-b909-45c1850e7281

Installation

1. Install the package

pip install nautobot-mcp

2. Add to INSTALLED_APPS in your Nautobot configuration

# In your nautobot_config.py
PLUGINS = [
    "nautobot_mcp",
    # ... other plugins
]

3. Configuration

Configure the app through Nautobot’s configuration system:

# In your nautobot_config.py
PLUGINS_CONFIG = {
    "nautobot_mcp": {
        "MCP_PORT": 8005,  # MCP server port
        "MCP_HOST": "0.0.0.0",  # Default is 0.0.0.0
        "MCP_CUSTOM_TOOLS_DIR": "/path/to/your/custom/tools",  # Directory for custom tools
        "MCP_LOAD_CORE_TOOLS": False,  # Load built-in tools
    },
}

4. Run nautobot post upgrade

nautobot-server post_upgrade

Custom Tools

You can create your own custom tools by defining Python functions in the directory specified in MCP_CUSTOM_TOOLS_DIR.

Example custom tool:

# In /path/to/your/custom/tools/my_tools.py

def some_tool(param1: str, param2: str) -> dict:
    """Some tool description"""
    # Your implementation here
    return {"result": f"Tool result for {param1} and {param2}"}

The MCP server will automatically discover and register all function-based tools in the specified directory.

Deployment Options

Method 1: Manual Start

You can start the MCP server manually:

nautobot-server start_mcp_server

Method 2: Systemd Service (Recommended for Production)

Create a systemd service file at /etc/systemd/system/nautobot-mcp.service:

[Unit]
Description=Nautobot MCP Server
After=network-online.target
Wants=network-online.target

[Service]
User=nautobot
Group=nautobot
WorkingDirectory=/opt/nautobot
ExecStart=/opt/nautobot/venv/bin/nautobot-server start_mcp_server
Restart=on-failure
RestartSec=30
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Then enable and start the service:

sudo systemctl daemon-reload
sudo systemctl enable --now nautobot-mcp.service

Viewing Available Tools

You can view all registered tools in the Nautobot web interface at:

https://your-nautobot-server/plugins/nautobot-mcp/tools/

This page shows all available tools, their descriptions, module paths, and parameter specifications.

Tools

TODO

  • [ ] Add a way to route tool execution to a specific Nautobot worker.
  • [ ] Enhance the tool view in the Nautobot web interface to show tool usage statistics.
  • [ ] Create a docker container to run the MCP server.
  • [ ] Add tests.

License

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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers