Add your description here
Project description
MCP Server UniFi
A server implementation for managing and controlling UniFi network devices through MCP (Management Control Protocol). This server enables natural language interactions with your UniFi network using AI agents like Goose and Claude by wrapping the UniFi Network API.
Features
- Query UniFi sites and devices using natural language through AI agents
- Local server implementation that connects to your UniFi Network application
- Compatible with both Goose AI and Claude Desktop
- Secure API key-based authentication
Prerequisites
- Python 3.8 or higher
uvpackage manager- UniFi Network application
- UniFi API key (obtained from UniFi console)
Setup
-
Create an API key:
- Go to your UniFi console at https://unifi.ui.com
- Navigate to Settings » Control Plane » Integrations
- Click "Create API Key"
-
Clone and set up the repository:
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
- Install dependencies:
uv sync
- Configure environment variables:
export UNIFI_API_KEY="your_api_key_here"
Running the Server
Start the MCP development server:
uv run mcp dev main.py
The MCP Inspector will be available at http://localhost:5173 for testing and debugging.
AI Agent Integration
Goose AI Setup
- Open Goose and go to Settings » Extensions » Add custom extension
- Configure the extension:
- ID: unifi
- Name: unifi
- Description: Get information about your UniFi network
- Command:
/Users/username/.local/bin/uv --directory /path/to/mcp-server-unifi run main.py - Environment Variables: Set UNIFI_API_KEY to your API key
Claude Desktop Setup
- Open Claude and go to Settings » Developer » Edit Config
- Add to your
claude_desktop_config.json:
{
"mcpServers": {
"unifi": {
"command": "/Users/username/.local/bin/uv",
"args": [
"--directory",
"/path/to/mcp-server-unifi",
"run",
"main.py"
]
}
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_zcking_mcp_server_unifi-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_zcking_mcp_server_unifi-0.1.0.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ed7c954d618cf866684fc2dd61932fa215f7b42f3b6e977b5c55ff155580436
|
|
| MD5 |
57bb33fc160d5f98a32600591f9db9fb
|
|
| BLAKE2b-256 |
935a19a016effaf6855f367735b53e385cd6a54dc279b6f7b35261e2f587ebdf
|
File details
Details for the file iflow_mcp_zcking_mcp_server_unifi-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_zcking_mcp_server_unifi-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0635f0dbc7a2cf1b68f79b09ca95e7d87d7cd8889b7df23aae093693b34d9a66
|
|
| MD5 |
be599e77f2dc34d0bed26f97d7613c63
|
|
| BLAKE2b-256 |
e5ba29b13f89516a6999c706a4825bc47082014c3122cd1ba6aa4535cafd4ed1
|