openwisp-mcp
Provides tools for managing OpenVPN configuration templates within OpenWISP, allowing creation, retrieval, and application of reusable OpenVPN templates.
Manages OpenWrt-based network devices (routers, access points, switches) via the OpenWISP controller, enabling device registration, configuration updates, and retrieval of NetJSON configurations.
Provides tools for managing WireGuard VPN configuration templates within OpenWISP, allowing creation, retrieval, and application of reusable WireGuard VPN templates.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@openwisp-mcpWhat devices are currently online?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenWISP Model Context Protocol (MCP) Server
Eine standalone, performante Model Context Protocol (MCP) Server-Implementierung für die OpenWISP REST API.
Dieser MCP-Server ermöglicht KI-Assistenten (z.B. in McpHub, Claude Desktop, Cursor, VS Code) die direkte Steuerung, Überwachung und Konfiguration von OpenWISP-Netzwerk-Controllern, Geräten, Templates, Topologien und RADIUS-Sitzungen.
Entwickelt für die einfache Bereitstellung in McpHub (samanhappy/mcphub).
🚀 Highlights
Kein UI-Overhead: Reiner, leichtgewichtiger Backend-Server ohne Frontend.
Dual Transport Support:
STDIO Transport: Für die lokale Integration z.B. via
npxoder CLI in McpHub / Claude Desktop.Streamable SSE (Server-Sent Events) & HTTP JSON-RPC 2.0: Für Docker-, Remote- und Cloud-Run-Deployments.
Vollständige OpenWISP REST API Abdeckung:
Benutzer & Authentifizierung: Bearer-Token abrufen, Benutzer verwalten & auflisten.
Controller & Geräte: Router, Access Points und Switches registrieren, aktualisieren, löschen und NetJSON-Konfigurationen abrufen.
Templates: Reusable Konfigurations-Templates für WLAN (SAE/WPA3), VPN (WireGuard/OpenVPN) & System.
Netzwerk-Topologie: Mesh-Topologien (OLSR, Batman-adv), Nodes und Links abfragen.
RADIUS & Hotspot: Aktive WLAN-Accounting-Sitzungen und Bandbreitennutzung überwachen.
Integrierter Mock Sandbox-Modus: Sofort einsatzbereit zum Testen ohne laufende OpenWISP-Instanz.
Related MCP server: network-mcp-server
🛠️ Installation & Build
Voraussetzungen
Node.js v18+ oder v20+
npm
1. Repository klonen & Abhängigkeiten installieren
git clone https://github.com/dein-user/openwisp-mcp-server.git
cd openwisp-mcp-server
npm install2. Projekt bauen (Build)
Der Build-Prozess bündelt den TypeScript-Server in ein optimiertes CommonJS-Bundle (dist/server.cjs):
npm run build3. Server starten
Produktionsmodus (HTTP & SSE Server)
npm run startDer HTTP-Server läuft auf Port 3000 (über PORT Umgebungsvariable anpassbar).
Entwicklungsmodus
npm run devSTDIO CLI Modus (für direkte MCP-Client Einbindung)
npm run mcp⚙️ Umgebungsvariablen (Environment Variables)
Die Verbindung zur OpenWISP-Instanz wird über Umgebungsvariablen oder HTTP-Header gesteuert:
Variable | Beschreibung | Standardwert |
| Die Basis-URL der OpenWISP Controller Instanz (z.B. |
|
| OpenWISP API Bearer Token |
|
| Wenn |
|
| Der Server-Port |
|
📦 Deployment in McpHub (samanhappy/mcphub)
McpHub unterstützt sowohl lokale STDIO-Kommandos als auch Remote SSE-Endpunkte.
Option A: McpHub mit STDIO Transport
Füge den folgenden Server-Eintrag in deine McpHub-Konfiguration (mcp_settings.json oder .vscode/mcp.json) ein:
{
"mcpServers": {
"openwisp-mcp-server": {
"command": "npx",
"args": ["-y", "@openwisp/mcp-server"],
"env": {
"OPENWISP_BASE_URL": "https://deine-openwisp-instanz.com",
"OPENWISP_API_TOKEN": "DEIN_OPENWISP_BEARER_TOKEN",
"OPENWISP_MOCK_SANDBOX": "false"
}
}
}
}Option B: McpHub mit Remote SSE Transport
Wenn dieser Server z.B. in Docker, Cloud Run oder auf einem VPS gehostet wird:
{
"mcpServers": {
"openwisp-mcp-remote": {
"url": "https://dein-mcp-server.example.com/sse",
"headers": {
"x-openwisp-base-url": "https://deine-openwisp-instanz.com",
"x-openwisp-token": "DEIN_OPENWISP_BEARER_TOKEN"
}
}
}
}🐳 Docker Deployment
Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
ENV PORT=3000
ENV NODE_ENV=production
ENV OPENWISP_BASE_URL="https://openwisp.example.com"
ENV OPENWISP_API_TOKEN="YOUR_API_TOKEN"
EXPOSE 3000
CMD ["npm", "run", "start"]docker-compose.yml
version: '3.8'
services:
openwisp-mcp-server:
build: .
ports:
- "3000:3000"
environment:
- PORT=3000
- OPENWISP_BASE_URL=https://openwisp.example.com
- OPENWISP_API_TOKEN=YOUR_OPENWISP_API_TOKEN
- OPENWISP_MOCK_SANDBOX=false
restart: always📡 HTTP API & MCP Transport Endpunkte
Methode | Endpunkt | Beschreibung |
|
| Reines JSON-Metadaten-Dokument mit Serverstatus, MCP-Protokollversion & Tool-Übersicht. |
|
| Healthcheck Endpoint für Container & Load Balancer. |
|
| MCP JSON-RPC 2.0 Request-Handler ( |
|
| Streamable Server-Sent Events (SSE) Transport für McpHub Remote Proxying. |
|
| Liste aller definierten OpenWISP-Tools inklusive Schemas. |
|
| Direkte HTTP-Ausführung eines Tools zum schnellen manuellen Testen. |
📑 Verfügbare OpenWISP MCP Tools
Tool-Name | Kategorie | HTTP Method & OpenWISP API Endpunkt | Beschreibung |
| Users & Auth |
| API-Bearer-Token über Benutzernamen & Passwort abrufen. |
| Users & Auth |
| Benutzerkonten in OpenWISP auflisten & suchen. |
| Users & Auth |
| Details zu einem bestimmten Benutzer abrufen. |
| Users & Auth |
| Neues Benutzerkonto anlegen. |
| Users & Auth |
| Benutzerkonto löschen. |
| Organizations |
| Mandantenfähige Organisationen auflisten. |
| Devices & Controller |
| Network Devices (OpenWrt Router, APs) auflisten/filtern. |
| Devices & Controller |
| Gerätetechnische Details, MAC, IP & Status abrufen. |
| Devices & Controller |
| Neues Gerät im OpenWISP Controller registrieren. |
| Devices & Controller |
| Geräteeigenschaften oder zugewiesene Templates aktualisieren. |
| Devices & Controller |
| Geräteregistrierung entfernen. |
| Devices & Controller |
| Generierte NetJSON-Konfigurationsdateien herunterladen. |
| Devices & Controller |
| Gerätegruppen auflisten. |
| Templates |
| Konfigurations-Templates (WLAN, VPN, Firewall) auflisten. |
| Templates |
| Details & NetJSON Config eines Templates abrufen. |
| Templates |
| Neues wiederverwendbares NetJSON-Template erstellen. |
| Network Topology |
| Erfasste Mesh-Topologien auflisten. |
| Network Topology |
| Topologie-Graph mit Nodes & Links abrufen. |
| Network Topology |
| Knotenpunkte in einer Topologie auflisten. |
| Network Topology |
| Verbindungen (Links) & Metriken in einer Topologie auflisten. |
| RADIUS & WiFi |
| RADIUS Accounting-Sitzungen von WLAN-Gästen auflisten. |
| RADIUS & WiFi |
| Aggregierte Bandbreitennutzung abrufen. |
📜 Lizenz
Apache-2.0 License.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for managing VyOS routers via the VyOS HTTP API, allowing AI assistants to read config, set interfaces, firewall rules, VPNs, and more.171MIT
- Alicense-qualityCmaintenanceMCP server for network operations that lets AI assistants interact with Cisco/Juniper network devices through safe, well-defined tools like compliance audits and configuration backups.MIT
- AlicenseAqualityBmaintenanceA comprehensive MCP server for network device management via SSH/Telnet. Supports multiple vendors such as Cisco IOS and BDCOM, enabling AI assistants to execute commands and manage routers, switches, and firewalls.4MIT
- Alicense-qualityBmaintenanceAn MCP server that enables AI agents to manage Defined Networking / Managed Nebula infrastructure, supporting tasks like network topology design, host provisioning, and security auditing through natural language.4MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
MCP server for AI dialogue using various LLM models via AceDataCloud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marten-lucas/openwisp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server