此项目不再维护或更新。由于时间和带宽有限,我将归档此仓库。
此Nautobot应用集成了MCP(模型上下文协议)服务器与Nautobot,提供了用于网络自动化和管理的AI就绪工具和接口。
Nautobot MCP使AI助手或应用程序能够通过标准化协议与您的网络数据进行交互。该应用在Nautobot旁边运行一个MCP服务器,暴露可以被AI系统使用的工具。
https://modelcontextprotocol.io/introduction
https://github.com/user-attachments/assets/283d68c2-d35f-4506-b909-45c1850e7281
pip install nautobot-mcp
# 在您的nautobot_config.py中
PLUGINS = [
"nautobot_mcp",
# 其他插件...
]
通过Nautobot的配置系统来配置应用:
# 在您的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, # 加载内置工具
},
}
nautobot-server post_upgrade
您可以通过在MCP_CUSTOM_TOOLS_DIR指定的目录中定义Python函数来创建自己的自定义工具。
自定义工具示例:
# 在/path/to/your/custom/tools/my_tools.py中
def some_tool(param1: str, param2: str) -> dict:
"""一些工具描述"""
# 您的实现代码
return {"result": f"Tool result for {param1} and {param2}"}
MCP服务器会自动发现并注册指定目录中的所有基于函数的工具。
您可以手动启动MCP服务器:
nautobot-server start_mcp_server
在/etc/systemd/system/nautobot-mcp.service创建一个systemd服务文件:
[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
然后启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable --now nautobot-mcp.service
您可以在Nautobot Web界面的以下位置查看所有已注册的工具:
https://your-nautobot-server/plugins/nautobot-mcp/tools/
此页面显示所有可用工具、它们的描述、模块路径和参数规格。
本项目根据Apache许可证2.0版发布 - 详情见LICENSE文件。