Sanitize public installation metadata
This commit is contained in:
+12
@@ -20,6 +20,18 @@ Thumbs.db
|
|||||||
/tmp/
|
/tmp/
|
||||||
*.tmp
|
*.tmp
|
||||||
|
|
||||||
|
# Local configuration and secrets
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
!.env.example
|
||||||
|
mua.conf
|
||||||
|
credentials*
|
||||||
|
secrets*
|
||||||
|
*.key
|
||||||
|
*.pem
|
||||||
|
*.p12
|
||||||
|
*.pfx
|
||||||
|
|
||||||
# Build artifacts
|
# Build artifacts
|
||||||
node_modules/
|
node_modules/
|
||||||
build/
|
build/
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
MCP-Server für Unraid: Docker-Container, Netzwerk und System-Tools.
|
MCP-Server für Unraid: Docker-Container, Netzwerk und System-Tools.
|
||||||
Kompiliertes Bun-Binary (TypeScript), läuft als SysVinit-Service auf Unraid.
|
Kompiliertes Bun-Binary (TypeScript), läuft als SysVinit-Service auf Unraid.
|
||||||
|
|
||||||
- **MCP-Endpunkt:** `http://<unraid-ip>:3002/mcp` (Streamable HTTP, POST-only, JSON-RPC 2.0)
|
- **MCP-Endpunkt:** `http://UNRAID-IP:3002/mcp` (Streamable HTTP, POST-only, JSON-RPC 2.0)
|
||||||
- **Health-Check:** `http://<unraid-ip>:3002/health` (offen, ohne Auth)
|
- **Health-Check:** `http://UNRAID-IP:3002/health` (offen, ohne Auth)
|
||||||
- **Config-Server:** `http://127.0.0.1:3013/config` (localhost + separater Admin-Token)
|
- **Config-Server:** `http://127.0.0.1:3013/config` (localhost + separater Admin-Token)
|
||||||
- **Auth:** API-Key (Bearer-Token) für `/mcp`
|
- **Auth:** API-Key (Bearer-Token) für `/mcp`
|
||||||
- **Tools:** 35 (Docker, Community Applications, Netzwerk, Unraid-System und optionale Toolbox)
|
- **Tools:** 35 (Docker, Community Applications, Netzwerk, Unraid-System und optionale Toolbox)
|
||||||
@@ -22,7 +22,7 @@ Kurzform für Hermes:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
hermes mcp add unraid \
|
hermes mcp add unraid \
|
||||||
--url http://192.168.1.2:3002/mcp \
|
--url http://UNRAID-IP:3002/mcp \
|
||||||
--auth header \
|
--auth header \
|
||||||
--connect-timeout 30
|
--connect-timeout 30
|
||||||
hermes mcp test unraid
|
hermes mcp test unraid
|
||||||
@@ -38,7 +38,7 @@ erneute MUA-Installation nötig.
|
|||||||
|
|
||||||
```
|
```
|
||||||
┌─────────────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────────────┐
|
||||||
│ Unraid (192.168.1.2) │
|
│ Unraid (UNRAID-IP) │
|
||||||
│ │
|
│ │
|
||||||
│ /usr/local/bin/mua (kompiliertes Bun-Binary) │
|
│ /usr/local/bin/mua (kompiliertes Bun-Binary) │
|
||||||
│ ├── MCP-Server 0.0.0.0:3002 (Bearer-Auth) │
|
│ ├── MCP-Server 0.0.0.0:3002 (Bearer-Auth) │
|
||||||
@@ -99,10 +99,10 @@ Oder manuell:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# .txz von Gitea laden
|
# .txz von Gitea laden
|
||||||
curl -O http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.24.r022-x86_64-1.txz
|
curl -O https://git.casaderoll.de/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.29.r027-x86_64-1.txz
|
||||||
|
|
||||||
# Installieren
|
# Installieren
|
||||||
upgradepkg --install-new mua-2026.08.24.r022-x86_64-1.txz
|
upgradepkg --install-new mua-2026.08.29.r027-x86_64-1.txz
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Service starten
|
### 2. Service starten
|
||||||
@@ -116,7 +116,7 @@ Der Service startet automatisch bei jedem Boot (SysVinit).
|
|||||||
### 3. Health-Check
|
### 3. Health-Check
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl http://192.168.1.2:3002/health
|
curl http://UNRAID-IP:3002/health
|
||||||
# → {"status":"ok","version":"2026.08.24.r022","auth":"required"}
|
# → {"status":"ok","version":"2026.08.24.r022","auth":"required"}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -141,7 +141,7 @@ MUA ist ein **Standard-MCP-Server** (Streamable HTTP, POST-only, JSON-RPC 2.0).
|
|||||||
Jeder MCP-Client kann es nutzen — URL + Bearer-Token reichen:
|
Jeder MCP-Client kann es nutzen — URL + Bearer-Token reichen:
|
||||||
|
|
||||||
```
|
```
|
||||||
URL: http://192.168.1.2:3002/mcp
|
URL: http://UNRAID-IP:3002/mcp
|
||||||
Auth: Authorization: Bearer <dein-api-key>
|
Auth: Authorization: Bearer <dein-api-key>
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -159,7 +159,7 @@ direkt mit diesem MUA-Endpunkt.
|
|||||||
# Direkte Anbindung ohne MCPHub
|
# Direkte Anbindung ohne MCPHub
|
||||||
mcp_servers:
|
mcp_servers:
|
||||||
unraid:
|
unraid:
|
||||||
url: http://192.168.1.2:3002/mcp
|
url: http://UNRAID-IP:3002/mcp
|
||||||
headers:
|
headers:
|
||||||
Authorization: Bearer <dein-api-key>
|
Authorization: Bearer <dein-api-key>
|
||||||
timeout: 1800
|
timeout: 1800
|
||||||
@@ -175,24 +175,24 @@ keine eigene SSH- oder MUA-Konfiguration.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Health-Check (ohne Auth)
|
# Health-Check (ohne Auth)
|
||||||
curl http://192.168.1.2:3002/health
|
curl http://UNRAID-IP:3002/health
|
||||||
|
|
||||||
# MCP-Initialisierung (mit Auth)
|
# MCP-Initialisierung (mit Auth)
|
||||||
curl -X POST http://192.168.1.2:3002/mcp \
|
curl -X POST http://UNRAID-IP:3002/mcp \
|
||||||
-H "Authorization: Bearer <dein-api-key>" \
|
-H "Authorization: Bearer <dein-api-key>" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-H "Accept: application/json, text/event-stream" \
|
-H "Accept: application/json, text/event-stream" \
|
||||||
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
|
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
|
||||||
|
|
||||||
# Tool-Liste
|
# Tool-Liste
|
||||||
curl -X POST http://192.168.1.2:3002/mcp \
|
curl -X POST http://UNRAID-IP:3002/mcp \
|
||||||
-H "Authorization: Bearer <dein-api-key>" \
|
-H "Authorization: Bearer <dein-api-key>" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-H "Accept: application/json, text/event-stream" \
|
-H "Accept: application/json, text/event-stream" \
|
||||||
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
|
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
|
||||||
|
|
||||||
# Tool aufrufen
|
# Tool aufrufen
|
||||||
curl -X POST http://192.168.1.2:3002/mcp \
|
curl -X POST http://UNRAID-IP:3002/mcp \
|
||||||
-H "Authorization: Bearer <dein-api-key>" \
|
-H "Authorization: Bearer <dein-api-key>" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-H "Accept: application/json, text/event-stream" \
|
-H "Accept: application/json, text/event-stream" \
|
||||||
@@ -202,7 +202,7 @@ curl -X POST http://192.168.1.2:3002/mcp \
|
|||||||
### Ohne API-Key → 401
|
### Ohne API-Key → 401
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST http://192.168.1.2:3002/mcp \
|
curl -X POST http://UNRAID-IP:3002/mcp \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
|
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
|
||||||
# → 401 Unauthorized
|
# → 401 Unauthorized
|
||||||
|
|||||||
+3
-3
@@ -30,7 +30,7 @@ Ein geeigneter kurzer Auftrag lautet:
|
|||||||
Der offene Health-Endpunkt benötigt keinen API-Key:
|
Der offene Health-Endpunkt benötigt keinen API-Key:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsS http://192.168.1.2:3002/health
|
curl -fsS http://UNRAID-IP:3002/health
|
||||||
```
|
```
|
||||||
|
|
||||||
Erwartet wird JSON mit `"status":"ok"` und `"auth":"required"`. Dann läuft
|
Erwartet wird JSON mit `"status":"ok"` und `"auth":"required"`. Dann läuft
|
||||||
@@ -63,7 +63,7 @@ Im Hermes-Container liegt die CLI in dieser Installation unter
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
hermes mcp add unraid \
|
hermes mcp add unraid \
|
||||||
--url http://192.168.1.2:3002/mcp \
|
--url http://UNRAID-IP:3002/mcp \
|
||||||
--auth header \
|
--auth header \
|
||||||
--connect-timeout 30
|
--connect-timeout 30
|
||||||
```
|
```
|
||||||
@@ -84,7 +84,7 @@ HTTP-Server angelegt werden:
|
|||||||
| Feld | Wert |
|
| Feld | Wert |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Name | `unraid` |
|
| Name | `unraid` |
|
||||||
| URL | `http://192.168.1.2:3002/mcp` |
|
| URL | `http://UNRAID-IP:3002/mcp` |
|
||||||
| Authentifizierung | Header/Bearer |
|
| Authentifizierung | Header/Bearer |
|
||||||
| Token | MUA-API-Key ohne `Bearer ` |
|
| Token | MUA-API-Key ohne `Bearer ` |
|
||||||
| Connect timeout | `30` Sekunden |
|
| Connect timeout | `30` Sekunden |
|
||||||
|
|||||||
+4
-4
@@ -4,10 +4,10 @@
|
|||||||
<!ENTITY author "Michael">
|
<!ENTITY author "Michael">
|
||||||
<!ENTITY version "2026.08.29.r027">
|
<!ENTITY version "2026.08.29.r027">
|
||||||
<!ENTITY launch "Settings/mua">
|
<!ENTITY launch "Settings/mua">
|
||||||
<!ENTITY pluginURL "http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/plugin/mua.plg">
|
<!ENTITY pluginURL "https://git.casaderoll.de/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/plugin/mua.plg">
|
||||||
<!ENTITY pluginLOC "/boot/config/plugins/&name;">
|
<!ENTITY pluginLOC "/boot/config/plugins/&name;">
|
||||||
<!ENTITY emhttpLOC "/usr/local/emhttp/plugins/&name;">
|
<!ENTITY emhttpLOC "/usr/local/emhttp/plugins/&name;">
|
||||||
<!ENTITY txzURL "http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.29.r027-x86_64-1.txz">
|
<!ENTITY txzURL "https://git.casaderoll.de/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.29.r027-x86_64-1.txz">
|
||||||
<!ENTITY txzSHA256 "f7fcbc3b3de260f6df0d413ac072d0f3e674bc25425e6a50b8a11b78a4e5007c">
|
<!ENTITY txzSHA256 "f7fcbc3b3de260f6df0d413ac072d0f3e674bc25425e6a50b8a11b78a4e5007c">
|
||||||
]>
|
]>
|
||||||
|
|
||||||
@@ -18,8 +18,8 @@
|
|||||||
pluginURL="&pluginURL;"
|
pluginURL="&pluginURL;"
|
||||||
icon="cubes"
|
icon="cubes"
|
||||||
min="7.0.0"
|
min="7.0.0"
|
||||||
support="http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent"
|
support="https://git.casaderoll.de/michael/MUA-Mikes-Unraid-Agent"
|
||||||
project="http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent"
|
project="https://git.casaderoll.de/michael/MUA-Mikes-Unraid-Agent"
|
||||||
>
|
>
|
||||||
|
|
||||||
<CHANGES>
|
<CHANGES>
|
||||||
|
|||||||
Reference in New Issue
Block a user