返回 MCP 目录
public公开dns本地运行

nmstate-mcp

一个通过nmstate实现网络配置管理的MCP服务器项目,旨在结合LLM和MCP技术简化网络管理流程。

article

README

🚀 Nmstate MCP

Nmstate MCP 是一个借助 nmstate 应用网络配置的 MCP 服务器。其愿景是借助大语言模型(LLMs)和 MCP 的强大能力,让网络管理变得更加轻松。欢迎提交包含想法的问题反馈哦!当前代码仅为原型,后续可能需要更周全地重新编写。

🚀 快速开始

✨ 前置条件

  • npm(可选:用于 MCP-Superassistant)
  • python3
  • uv
  • python3-libnmstate

📦 安装指南

从 DNF Copr 安装

以下是通过 dnf 包管理器设置和运行项目的说明:

  1. 从 Copr 仓库安装
sudo dnf copr enable rrajesh/nmstate-mcp
sudo dnf install nmstate-mcp
  1. 运行设置脚本
nmstate-mcp-setup

目前,此脚本对应 setup_cursor.py,且当前仅支持 Cursor IDE。 3. 设置 inventory.yaml 设置 ~/.nmstate-mcp/inventory.yaml,以包含你想要配置的远程主机。nmstate-mcp 使用 Ansible 进行远程主机配置。

从源码安装

以下是从源码设置和运行项目的说明:

  1. 安装 libnmstate
sudo dnf install python3-libnmstate uv
  1. 创建使用系统站点包的虚拟环境以使用 libnmstate
uv venv --system-site-packages .venv
source .venv/bin/activate
  1. 下载依赖项
uv sync
  1. 运行服务器的命令
uv run --directory <项目目录路径> main.py

或者,如果你已经在项目目录中:

uv run main.py

使用此命令时,你无需手动激活 Python 虚拟环境。

💻 使用示例

配置 MCP 客户端

Claude Desktop 和 Cursor 以及其他可能的客户端支持这种 "mcpServers" 格式:

{
  "mcpServers": {
    "nmstate-mcp": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<你的项目路径>",
        "main.py"
      ]
    },
  }
}

对于 MCP SuperAssistant:运行代理服务器

这也将运行 nmstate mcp 服务器实现。请查看 mcpconfig.json,并根据你的目录设置进行编辑。 UV 运行文档:docs.astral.sh/uv/reference/cli/#uv-run

npx @srbhptl39/mcp-superassistant-proxy@latest --config ./mcpconfig.json

🔧 远程主机配置

前置条件

  • Ansible
  • SSH
  • 为了演示目的,你可以在虚拟机中设置无密码 sudo,或者想出其他认证方式。因为无法通过 Cursor 获取密码提示。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端