内容
# ⚠️ 仓库存档
本项目不再维护或更新。由于时间和带宽有限,无法继续开发,我正在存档此仓库。
# Nautobot MCP



Nautobot MCP 将 MCP(模型上下文协议)服务器与 Nautobot 集成,提供用于网络自动化和管理的 AI 就绪工具和接口。
## 概述
Nautobot MCP 使 AI 助手或应用程序能够通过标准化协议与网络数据交互。该应用程序在 Nautobot 旁边运行 MCP 服务器,暴露可供 AI 系统使用的工具。
https://modelcontextprotocol.io/introduction
## 使用 Librechat 的演示 - 连接到 Nautobot MCP
https://github.com/user-attachments/assets/283d68c2-d35f-4506-b909-45c1850e7281
## 安装
### 1. 安装软件包
```bash
pip install nautobot-mcp
```
### 2. 将其添加到 Nautobot 配置中的 INSTALLED_APPS
```python
# 在您的 nautobot_config.py 中
PLUGINS = [
"nautobot_mcp",
# ... 其他插件
]
```
### 3. 配置
通过 Nautobot 配置系统配置应用程序:
```python
# 在您的 nautobot_config.py 中
PLUGINS_CONFIG = {
"nautobot_mcp": {
"MCP_PORT": 8005, # MCP 服务器端口
"MCP_HOST": "0.0.0.0", # 默认值为 0.0.0.0
"MCP_CUSTOM_TOOLS_DIR": "/path/to/your/custom/tools", # 自定义工具目录
"MCP_LOAD_CORE_TOOLS": False, # 加载内置工具
},
}
```
### 4. 运行 nautobot 升级后
```bash
nautobot-server post_upgrade
```
## 自定义工具
您可以通过在 `MCP_CUSTOM_TOOLS_DIR` 中定义的 Python 函数创建自己的自定义工具。
自定义工具示例:
```python
# 在 /path/to/your/custom/tools/my_tools.py 中
def some_tool(param1: str, param2: str) -> dict:
"""一些工具描述"""
# 您在此处实现
return {"result": f"工具结果为 {param1} 和 {param2}"}
```
MCP 服务器将自动发现并注册指定目录中的所有基于函数的工具。
## 部署选项
### 方法 1:手动启动
您可以手动启动 MCP 服务器:
```bash
nautobot-server start_mcp_server
```
### 方法 2:Systemd 服务(推荐用于生产)
在 `/etc/systemd/system/nautobot-mcp.service` 中创建 systemd 服务文件:
```ini
[Unit]
Description=Nautobot MCP 服务器
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
```
然后启用并启动服务:
```bash
sudo systemctl daemon-reload
sudo systemctl enable --now nautobot-mcp.service
```
## 查看可用工具
您可以在 Nautobot Web 界面中查看所有已注册的工具:
```
https://your-nautobot-server/plugins/nautobot-mcp/tools/
```
此页面显示所有可用的工具、其描述、模块路径和参数规范。

## 待办事项
- [ ] 添加一种方法,将工具执行路由到特定的 Nautobot 工作程序。
- [ ] 增强 Nautobot Web 界面中的工具视图,以显示工具使用统计信息。
- [ ] 创建一个运行 MCP 服务器的 Docker 容器。
- [ ] 添加测试。
## 许可证
该项目在 Apache License 2.0 下获得许可 - 有关详细信息,请参见 LICENSE 文件。