Allows querying and listing Cisco network devices and switches through the Nautobot integration
Provides integration for issue tracking and contributions through GitHub's platform
Supports testing the MCP server implementation with pytest, including coverage reporting
Built with Python 3.10+ and leverages modern async capabilities for the server implementation
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
Configuration
Copy the example environment file and update it with your settings:
Environment Variables
Variable | Required | Description | Default |
---|---|---|---|
NAUTOBOT_URL | Yes | URL of your Nautobot instance | None |
NAUTOBOT_TOKEN | Yes | API token with read permissions | None |
MCP_PORT | No | Port for the MCP server to listen on | 8000 |
MCP_HOST | No | Host for the MCP server to bind to | 127.0.0.1 |
LOG_LEVEL | No | Logging 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
The server will start on http://127.0.0.1:8000 by default.
Integrating with Claude Desktop
- Open Claude Desktop and navigate to Settings > Tools > Configure Custom Tools
- 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)
- 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
Code Style and Linting
This project follows PEP 8 guidelines and uses Black and isort for formatting.
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
- This project implements the Model Context Protocol
- Built for integration with Nautobot
- Not officially affiliated with Anthropic or Claude
This server cannot be installed
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.
Related MCP Servers
- -securityFlicense-qualityA 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 -5TypeScript
- AsecurityAlicenseAqualityA 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 -258JavaScriptAGPL 3.0
- AsecurityFlicenseAqualityA 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 -12111JavaScript
- -securityFlicense-qualityA 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 -5Python