Mcp Nautobot

Mcp Nautobot

🚀 MCP-Nautobot

MCP-Nautobot 是一个适用于 Nautobot 网络自动化平台的模型上下文协议(MCP)服务器。该项目允许 AI 助手与你的 Nautobot 实例进行交互,从而访问网络库存数据。

MCP Python 3.10+ License: MIT Code style: black

⚠️ 重要提示

本项目与 Anthropic、Claude 或 Nautobot 没有官方关联。它是用于 Nautobot 集成的模型上下文协议的独立实现。

✨ 主要特性

  • 异步 API:采用现代异步 Python 构建。
  • MCP 兼容:可与 Claude 及其他支持 MCP 的 AI 助手协同工作。
  • Nautobot 集成:可直接查询网络库存数据。
  • 站点信息:获取详细的站点位置数据。
  • 设备详情:访问设备规格和配置信息。
  • 网络拓扑:可视化网络连接和关系。
  • 基于角色的访问:通过用户角色控制数据访问。
  • 灵活配置:可自定义数据展示方式。

📦 安装指南

# 克隆仓库
git clone https://github.com/aiopnet/mcp-nautobot.git
cd mcp-nautobot

# 创建并激活虚拟环境
# 如果未安装 uv,请参考:https://github.com/astral-sh/uv
uv venv
source .venv/bin/activate  # 在 Windows 上使用:.venv\Scripts\activate

# 安装依赖
uv pip install -e .  # 使用 pyproject.toml 进行可编辑安装需要 pip 21.3+

📚 详细文档

配置

复制示例环境文件并根据你的设置进行更新:

cp .env.example .env
# 使用你喜欢的编辑器编辑 .env 文件

环境变量

属性 详情
NAUTOBOT_URL 必需。你的 Nautobot 实例的 URL,无默认值
NAUTOBOT_TOKEN 必需。具有读取权限的 API 令牌,无默认值
MCP_PORT 可选。MCP 服务器监听的端口,默认值为 8000
MCP_HOST 可选。MCP 服务器绑定的主机,默认值为 127.0.0.1
LOG_LEVEL 可选。日志记录级别(DEBUG、INFO、WARNING、ERROR),默认值为 INFO

⚠️ 重要提示

切勿将 .env 文件提交到版本控制中,因为它包含敏感的 API 令牌。

如需了解高级配置选项,请参阅 docs/CONFIGURATION.md。

使用方法

运行服务器

# 启动 MCP 服务器
python -m mcp_nautobot.server

# 或者使用提供的 CLI
mcp-nautobot-server

服务器默认将在 http://127.0.0.1:8000 启动。

与 Claude Desktop 集成

  1. 打开 Claude Desktop,导航至“设置”>“工具”>“配置自定义工具”。
  2. 添加一个新工具,详细信息如下:
    • 名称:Nautobot 网络数据
    • 描述:从 Nautobot 访问网络库存数据
    • 架构类型:MCP
    • 端点 URL:http://127.0.0.1:8000(或你的自定义主机/端口)
  3. 保存并测试连接

现在你可以向 Claude 询问有关网络库存的问题:

  • “我们在美国西部地区有哪些站点?”
  • “显示芝加哥数据中心的所有设备。”
  • “列出我们网络中的所有思科交换机。”
  • “亚特兰大核心路由器的 IP 地址是什么?”

开发者指南

测试

# 安装开发依赖
uv pip install -e ".[dev]"

# 运行测试
pytest

# 运行带覆盖率的测试
pytest --cov=mcp_nautobot

代码风格和 linting

本项目遵循 PEP 8 指南,并使用 Black 和 isort 进行格式化。

# 格式化代码
black mcp_nautobot tests
isort mcp_nautobot tests

# 代码 linting
flake8 mcp_nautobot tests
mypy mcp_nautobot

路线图

  • 设备配置检索:访问设备的运行配置。
  • 拓扑可视化:生成网络地图和图表。
  • 多租户支持:增强基于角色的访问控制。
  • 电路信息:有关广域网电路和提供商的数据。
  • 性能数据:集成历史性能指标。

贡献

欢迎贡献代码!请查看我们的 贡献指南 以开始贡献。

如果你遇到任何问题或有功能请求,请 提交一个 issue

📄 许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢

故障排除

如果你遇到问题,请查看 故障排除指南 或在 GitHub 上提交一个 issue。

  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-10-06 12:42

相似服务问题

相关AI产品