网络基础设施数据服务

NetBox MCP Server是一个连接NetBox并暴露网络基础设施数据的MCP服务器,用于与Claude和其他兼容MCP的LLMs一起使用。

  • by ardecode
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ardecode/netbox-mcp-server

使用说明

NetBox MCP服务器

一种模型上下文协议(MCP)服务器,连接到NetBox并公开网络基础设施数据,供Claude和其他兼容MCP的LLM使用。

概述

此服务器在NetBox和兼容MCP的LLM(如Claude)之间提供了一个桥梁,允许您:

  • 查询和分析您的网络基础设施数据
  • 检查设备配置和连接
  • 检查虚拟化集群和虚拟机
  • 分析VLAN、IP地址分配等
  • 生成网络拓扑信息
  • 检测群集中的NVMe存储

服务器公开:

  • 工具:执行操作的功能

需求

  • Python 3.10或更高版本
  • 具有API访问权限的NetBox实例
  • 具有读取权限的NetBox API令牌
  • httpx HTTP请求库
  • mcp 用于模型上下文协议的Python SDK

安装

使用紫外线(推荐)

# Create a virtual environment
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install required packages
uv add mcp httpx

使用pip

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install required packages
pip install mcp httpx

用法

直接运行服务器

python netbox_server.py --url https://your-netbox-instance.example.com --token your-api-token

您还可以设置环境变量,而不是使用命令行参数:

export NETBOX_URL="https://your-netbox-instance.example.com"
export NETBOX_TOKEN="your-api-token"
python netbox_server.py

与Claude Desktop集成

要与Claude Desktop集成,请执行以下操作:

  1. 从以下位置安装Claude Desktop https://claude.ai/download
  2. 打开克劳德菜单,选择“设置…”
  3. 点击左侧边栏中的“开发人员”
  4. 点击“编辑配置”
  5. 将NetBox服务器配置添加到 claude_desktop_config.json:
{
  "mcpServers": {
    "netbox": {
      "command": "python",
      "args": [
        "/path/to/netbox_server.py",
        "--url",
        "https://your-netbox-instance.example.com",
        "--token",
        "your-api-token"
      ]
    }
  }
}
  1. 保存文件并重新启动Claude Desktop

可用特征

工具

服务器提供以下工具:

  • get_all_clusters -获取所有包含关键信息的集群列表
  • get_cluster_virtual_machines -获取特定集群中的所有虚拟机
  • get_cluster_interfaces -从群集中的所有VM获取所有接口

Claude的查询示例

服务器连接到Claude Desktop后,您可以提出以下问题:

  • “显示NetBox实例中所有集群的列表”
  • “显示主群集中的所有虚拟机”

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢