README
🚀 Nmstate MCP
Nmstate MCP 是一个借助 nmstate 应用网络配置的 MCP 服务器。其愿景是借助大语言模型(LLMs)和 MCP 的强大能力,让网络管理变得更加轻松。欢迎提交包含想法的问题反馈哦!当前代码仅为原型,后续可能需要更周全地重新编写。
🚀 快速开始
✨ 前置条件
npm(可选:用于 MCP-Superassistant)python3uvpython3-libnmstate
📦 安装指南
从 DNF Copr 安装
以下是通过 dnf 包管理器设置和运行项目的说明:
- 从 Copr 仓库安装
sudo dnf copr enable rrajesh/nmstate-mcp
sudo dnf install nmstate-mcp
- 运行设置脚本
nmstate-mcp-setup
目前,此脚本对应 setup_cursor.py,且当前仅支持 Cursor IDE。
3. 设置 inventory.yaml
设置 ~/.nmstate-mcp/inventory.yaml,以包含你想要配置的远程主机。nmstate-mcp 使用 Ansible 进行远程主机配置。
从源码安装
以下是从源码设置和运行项目的说明:
- 安装 libnmstate
sudo dnf install python3-libnmstate uv
- 创建使用系统站点包的虚拟环境以使用 libnmstate
uv venv --system-site-packages .venv
source .venv/bin/activate
- 下载依赖项
uv sync
- 运行服务器的命令
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 获取密码提示。
Scan to join WeChat group