UniFi网络管理服务器

一个通过MCP协议管理和控制UniFi网络设备的服务器实现,支持通过AI代理(如Goose和Claude)进行自然语言交互。

  • by zcking
  • Python
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 zcking/mcp-server-unifi

使用说明

MCP服务器UniFi

一种通过MCP(管理控制协议)管理和控制UniFi网络设备的服务器实现。该服务器通过包装UniFi网络API,使用Goose和Claude等人工智能代理,实现与UniFi网的自然语言交互。

特性

  • 通过AI代理使用自然语言查询UniFi站点和设备
  • 连接到UniFi网络应用程序的本地服务器实现
  • 兼容Goose AI和Claude Desktop
  • 基于API密钥的安全身份验证

先决条件

  • Python 3.8或更高版本
  • uv 包管理器
  • UniFi网络应用程序
  • UniFi API密钥(从UniFi控制台获取)

设置

  1. 创建API密钥:

    • 转到您的UniFi主机https://unifi.ui.com
    • 导航到设置»控制平面»集成
    • 单击“创建API密钥”
  2. 克隆并设置存储库:

git clone https://github.com/zcking/mcp-server-unifi
cd mcp-server-unifi
uv venv
source .venv/bin/activate  # On Unix/macOS
# or
.venv\Scripts\activate  # On Windows
  1. 安装依赖项:
uv sync
  1. 配置环境变量:
export UNIFI_API_KEY="your_api_key_here"

运行服务器

启动MCP开发服务器:

uv run mcp dev main.py

MCP检查员将在http://localhost:5173用于测试和调试。

AI代理集成

Goose AI设置

  1. 打开Goose并转到设置»扩展»添加自定义扩展
  2. 配置扩展:
    • ID:unifi
    • 产品名称:unifi
    • 说明:获取有关UniFi网络的信息
    • 命令: /Users/username/.local/bin/uv --directory /path/to/mcp-server-unifi run main.py
    • 环境变量:将UNIFI_API_KEY设置为API密钥

Claude桌面设置

  1. 打开Claude并转到设置»开发人员»编辑配置
  2. 添加到您的 claude_desktop_config.json:
{
    "mcpServers": {
        "unifi": {
            "command": "/Users/username/.local/bin/uv",
            "args": [
                "--directory",
                "/path/to/mcp-server-unifi",
                "run",
                "main.py"
            ]
        }
    }
}