- Reset master to upstream/main (16,697 commits) - Overlay 2,271 local-only files (skills, tools, workspace, configs, apps) - Restore IDENTITY.md and USER.md templates - Build verified, gateway running, Discord working Co-Authored-By: Claude Opus 4.6 <[email protected]>
514 lines
11 KiB
Markdown
514 lines
11 KiB
Markdown
# MCP Server Analyse for OpenClaw Setup
|
|
|
|
**Dato:** 2026-02-17
|
|
**System:** ubu-server-laptop (192.168.1.220)
|
|
|
|
## Hvad er MCP?
|
|
|
|
Model Context Protocol (MCP) er Anthropic's open standard for at forbinde AI assistenter til eksterne datakilder og værktøjer via et standardiseret interface. Tænk på det som USB for AI - en universel forbindelse.
|
|
|
|
**Fordele:**
|
|
|
|
- ✅ Standardiseret interface (én måde at forbinde alle værktøjer)
|
|
- ✅ Sikker adgang til eksterne data (OAuth, API keys)
|
|
- ✅ Ingen cloud setup (100% selvhostet muligt)
|
|
- ✅ Fungerer med OpenClaw via `mcporter` CLI
|
|
|
|
## Nuværende MCP Status
|
|
|
|
### ✅ Allerede Installeret
|
|
|
|
- **mcporter** - CLI til at køre/manage MCP servere
|
|
- **Google Workspace MCP** (legacy) - Gmail, Calendar, Drive, Docs, Sheets
|
|
|
|
### 🎯 Top Prioritet (Høj Værdi)
|
|
|
|
#### 1. **Home Assistant MCP** ⭐⭐⭐
|
|
|
|
**GitHub:** https://github.com/voska/hass-mcp
|
|
**Brug:** Smart home automation via OpenClaw
|
|
|
|
**Hvad det giver dig:**
|
|
|
|
- Styr Shelly devices via AI ("sluk lys i stuen")
|
|
- Læs temperaturer fra Roborock/sensors
|
|
- Automatiser rutiner baseret på context
|
|
- Troubleshoot smart home setup
|
|
|
|
**Installation:**
|
|
|
|
```bash
|
|
npm install -g @voska/hass-mcp
|
|
mcporter config add home-assistant \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "@voska/hass-mcp" \
|
|
--scope home
|
|
```
|
|
|
|
**Integration med OpenClaw:**
|
|
|
|
```bash
|
|
# Via mcporter skill
|
|
openclaw agent --message "Hvad er temperaturen i stuen?" --thinking low
|
|
|
|
# Direkte via mcporter
|
|
mcporter call home-assistant.get_state entity_id=sensor.living_room_temperature
|
|
```
|
|
|
|
---
|
|
|
|
#### 2. **DBHub (Universal Database MCP)** ⭐⭐⭐
|
|
|
|
**GitHub:** https://github.com/bytebase/dbhub
|
|
**Brug:** MariaDB Kanban database access
|
|
|
|
**Hvad det giver dig:**
|
|
|
|
- Natural language SQL queries til Kanban board
|
|
- Schema inspection og analyse
|
|
- Database troubleshooting via AI
|
|
- Multi-database support (MariaDB, MySQL, PostgreSQL, SQL Server)
|
|
|
|
**Installation:**
|
|
|
|
```bash
|
|
npm install -g @bytebase/dbhub
|
|
mcporter config add dbhub \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "@bytebase/dbhub" \
|
|
--scope home
|
|
```
|
|
|
|
**Config:**
|
|
|
|
```json
|
|
{
|
|
"connections": {
|
|
"kanban": {
|
|
"type": "mariadb",
|
|
"host": "localhost",
|
|
"port": 3306,
|
|
"user": "kanban_user",
|
|
"password": "CBqg4EwryiaMHLdxeKQh2G1x2",
|
|
"database": "kanban_board"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
**Brug:**
|
|
|
|
```bash
|
|
# Hent alle high-priority tasks
|
|
mcporter call dbhub.query connection=kanban sql="SELECT * FROM tasks WHERE priority='high'"
|
|
|
|
# Schema analyse
|
|
mcporter call dbhub.get_schema connection=kanban
|
|
```
|
|
|
|
---
|
|
|
|
#### 3. **Docker MCP** ⭐⭐
|
|
|
|
**GitHub:** https://github.com/QuantGeekDev/docker-mcp
|
|
**Brug:** Manage containers, compose, logs
|
|
|
|
**Hvad det giver dig:**
|
|
|
|
- List/start/stop containers via AI
|
|
- Docker compose operations
|
|
- Container log streaming
|
|
- Resource monitoring
|
|
|
|
**Installation:**
|
|
|
|
```bash
|
|
npm install -g docker-mcp-server
|
|
mcporter config add docker \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "docker-mcp-server" \
|
|
--scope home
|
|
```
|
|
|
|
---
|
|
|
|
#### 4. **Kubernetes MCP** ⭐⭐
|
|
|
|
**GitHub:** https://github.com/Flux159/mcp-server-kubernetes
|
|
**Brug:** Hvis du kører K8s clusters
|
|
|
|
**Hvad det giver dig:**
|
|
|
|
- Manage pods, deployments, services
|
|
- Cluster troubleshooting
|
|
- Resource inspection
|
|
|
|
**Installation:**
|
|
|
|
```bash
|
|
npm install -g mcp-server-kubernetes
|
|
mcporter config add k8s \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "mcp-server-kubernetes" \
|
|
--scope home
|
|
```
|
|
|
|
---
|
|
|
|
### 🔧 Medium Prioritet (Productivity)
|
|
|
|
#### 5. **GitHub Repos Manager MCP** ⭐⭐
|
|
|
|
**GitHub:** https://github.com/kurdin/github-repos-manager-mcp
|
|
**Brug:** GitHub automation (issues, PRs, CI runs)
|
|
|
|
**Hvad det giver dig:**
|
|
|
|
- Create/manage issues via AI
|
|
- PR automation
|
|
- CI/CD monitoring
|
|
- 80+ tools for GitHub management
|
|
|
|
**Installation:**
|
|
|
|
```bash
|
|
npm install -g github-repos-manager-mcp
|
|
mcporter config add github \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "github-repos-manager-mcp" \
|
|
--scope home
|
|
```
|
|
|
|
**Config:** Kræver GitHub Personal Access Token
|
|
|
|
---
|
|
|
|
#### 6. **Linear MCP** ⭐
|
|
|
|
**GitHub:** https://github.com/tacticlaunch/mcp-linear
|
|
**Brug:** Hvis du bruger Linear til project management
|
|
|
|
**Alternative:** Kanban board (du har allerede)
|
|
|
|
---
|
|
|
|
#### 7. **Notion MCP** ⭐
|
|
|
|
**GitHub:** https://github.com/danhilse/notion_mcp
|
|
**Brug:** Hvis du bruger Notion til notes/todos
|
|
|
|
---
|
|
|
|
#### 8. **Obsidian MCP** ⭐
|
|
|
|
**GitHub:** (find på awesome-mcp-servers)
|
|
**Brug:** Hvis du bruger Obsidian til notes
|
|
|
|
---
|
|
|
|
### 🌐 Web & API
|
|
|
|
#### 9. **Jina Reader MCP** ⭐⭐
|
|
|
|
**GitHub:** https://github.com/wong2/mcp-jina-reader
|
|
**Brug:** Fetch web content as clean Markdown
|
|
|
|
**Hvad det giver dig:**
|
|
|
|
- Better web scraping than `web_fetch`
|
|
- Clean Markdown output
|
|
- Reader mode for articles
|
|
|
|
**Installation:**
|
|
|
|
```bash
|
|
npm install -g mcp-jina-reader
|
|
mcporter config add jina \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "mcp-jina-reader" \
|
|
--scope home
|
|
```
|
|
|
|
---
|
|
|
|
#### 10. **Puppeteer MCP** ⭐
|
|
|
|
**GitHub:** Se awesome-mcp-servers
|
|
**Brug:** Advanced browser automation (alternative til OpenClaw browser tool)
|
|
|
|
---
|
|
|
|
### 📧 Communication (Already Covered)
|
|
|
|
- ✅ **Google Workspace MCP** - Gmail, Calendar, Drive (du har allerede)
|
|
- ❌ **IMAP MCP** - Redundant (du har himalaya skill)
|
|
- ❌ **Email MCP** - Redundant (du har gmail-reader skill)
|
|
|
|
---
|
|
|
|
### 🏠 Smart Home (Already Covered via Skills)
|
|
|
|
- ✅ **Home Assistant Skill** (du har allerede via REST API)
|
|
- ⭐ **Home Assistant MCP** - Upgrade med bedre integration
|
|
|
|
---
|
|
|
|
### 🔐 Security & Infrastructure
|
|
|
|
#### 11. **Tailscale MCP** (hvis det findes)
|
|
|
|
**Brug:** Manage Tailscale network
|
|
|
|
#### 12. **Nginx MCP** (hvis det findes)
|
|
|
|
**Brug:** Manage nginx configs
|
|
|
|
---
|
|
|
|
## MCP vs. OpenClaw Skills
|
|
|
|
| Feature | MCP Servere | OpenClaw Skills |
|
|
| ------------- | -------------------------------- | --------------------- |
|
|
| **Standard** | ✅ Universal (MCP standard) | ⚠️ OpenClaw-specific |
|
|
| **Hosting** | ✅ Selvhostet | ✅ Selvhostet |
|
|
| **OAuth** | ✅ Built-in (via mcporter) | ⚠️ Manual (secrets/) |
|
|
| **Discovery** | ✅ Central registry | ⚠️ Manual |
|
|
| **Multi-AI** | ✅ Fungerer med alle MCP clients | ❌ Kun OpenClaw |
|
|
| **Setup** | ⚠️ Kræver Node.js/npm | ✅ Direkte i OpenClaw |
|
|
|
|
**Konklusion:** MCP er bedre til **tredjeparts services** (Gmail, Linear, etc.). OpenClaw skills er bedre til **custom automation** og **tight integration**.
|
|
|
|
---
|
|
|
|
## Installation Guide
|
|
|
|
### Forudsætninger
|
|
|
|
1. **mcporter CLI** (allerede installeret):
|
|
|
|
```bash
|
|
which mcporter
|
|
# /home/alex/.local/bin/mcporter (via npm global)
|
|
```
|
|
|
|
2. **Node.js + npm** (allerede installeret):
|
|
|
|
```bash
|
|
node --version # v22.22.0
|
|
npm --version
|
|
```
|
|
|
|
### Quick Start (Top 3)
|
|
|
|
#### 1. Home Assistant MCP
|
|
|
|
```bash
|
|
npm install -g @voska/hass-mcp
|
|
|
|
mcporter config add home-assistant \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "@voska/hass-mcp" \
|
|
--scope home
|
|
|
|
# Test
|
|
mcporter call home-assistant.get_state entity_id=sensor.living_room_temperature
|
|
```
|
|
|
|
#### 2. DBHub (MariaDB)
|
|
|
|
```bash
|
|
npm install -g @bytebase/dbhub
|
|
|
|
mcporter config add dbhub \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "@bytebase/dbhub" \
|
|
--scope home
|
|
|
|
# Config ~/.config/dbhub/config.json:
|
|
{
|
|
"connections": {
|
|
"kanban": {
|
|
"type": "mariadb",
|
|
"host": "localhost",
|
|
"port": 3306,
|
|
"user": "kanban_user",
|
|
"password": "CBqg4EwryiaMHLdxeKQh2G1x2",
|
|
"database": "kanban_board"
|
|
}
|
|
}
|
|
}
|
|
|
|
# Test
|
|
mcporter call dbhub.query connection=kanban sql="SELECT COUNT(*) FROM tasks"
|
|
```
|
|
|
|
#### 3. Docker MCP
|
|
|
|
```bash
|
|
npm install -g docker-mcp-server
|
|
|
|
mcporter config add docker \
|
|
--command "npx" \
|
|
--arg "-y" \
|
|
--arg "docker-mcp-server" \
|
|
--scope home
|
|
|
|
# Test
|
|
mcporter call docker.list_containers
|
|
```
|
|
|
|
---
|
|
|
|
## Integration med OpenClaw
|
|
|
|
### Via mcporter Skill
|
|
|
|
OpenClaw har allerede en `mcporter` skill. Du kan kalde MCP servere direkte:
|
|
|
|
```bash
|
|
# Via OpenClaw agent
|
|
openclaw agent --message "Hvad er temperaturen i stuen via Home Assistant?"
|
|
|
|
# Agent prompt example:
|
|
"Use mcporter to call the home-assistant MCP server and get the temperature from sensor.living_room_temperature"
|
|
```
|
|
|
|
### Via Custom Skills
|
|
|
|
Du kan wrappe MCP calls i OpenClaw skills:
|
|
|
|
```bash
|
|
# Example: /home/alex/clawd/skills/home-temp/SKILL.md
|
|
---
|
|
name: home-temp
|
|
description: Get current home temperature via Home Assistant MCP
|
|
---
|
|
|
|
# Usage
|
|
|
|
Get temperature:
|
|
\`\`\`bash
|
|
mcporter call home-assistant.get_state entity_id=sensor.living_room_temperature
|
|
\`\`\`
|
|
```
|
|
|
|
---
|
|
|
|
## Anbefalet Prioritet
|
|
|
|
### Phase 1 (Install Nu) ⭐⭐⭐
|
|
|
|
1. **Home Assistant MCP** - Smart home automation
|
|
2. **DBHub** - Database queries til Kanban
|
|
3. **Docker MCP** - Container management
|
|
|
|
### Phase 2 (Efter Test) ⭐⭐
|
|
|
|
4. **GitHub Repos Manager** - GitHub automation
|
|
5. **Jina Reader** - Better web scraping
|
|
6. **Kubernetes MCP** (hvis du kører K8s)
|
|
|
|
### Phase 3 (Optional) ⭐
|
|
|
|
7. **Linear/Notion/Obsidian** (hvis du bruger dem)
|
|
8. **Puppeteer MCP** (advanced browser automation)
|
|
|
|
---
|
|
|
|
## Cost Analysis
|
|
|
|
- **MCP Servere:** ✅ **100% GRATIS** (selvhostet)
|
|
- **API Keys:** Nogle kræver tredjeparts API keys:
|
|
- Google Workspace: ✅ Gratis (OAuth)
|
|
- Home Assistant: ✅ Gratis (local API)
|
|
- DBHub: ✅ Gratis (local database)
|
|
- GitHub: ✅ Gratis (med limitations)
|
|
- Linear/Notion: ⚠️ Kræver paid plan for API
|
|
|
|
**Total cost for Phase 1-2:** $0/måned 🎉
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
1. **Installer Top 3:**
|
|
|
|
```bash
|
|
npm install -g @voska/hass-mcp @bytebase/dbhub docker-mcp-server
|
|
```
|
|
|
|
2. **Configure mcporter:**
|
|
|
|
```bash
|
|
mcporter config list
|
|
mcporter config add home-assistant --command "npx" --arg "-y" --arg "@voska/hass-mcp" --scope home
|
|
```
|
|
|
|
3. **Test integration:**
|
|
|
|
```bash
|
|
mcporter call home-assistant.get_state entity_id=sensor.living_room_temperature
|
|
openclaw agent --message "Hvad er temperaturen hjemme?"
|
|
```
|
|
|
|
4. **Document i TOOLS.md:**
|
|
- Add MCP server liste
|
|
- Add common commands
|
|
- Add troubleshooting tips
|
|
|
|
---
|
|
|
|
## Resources
|
|
|
|
- **Official MCP Registry:** https://registry.modelcontextprotocol.io/
|
|
- **Awesome MCP Servers:** https://github.com/wong2/awesome-mcp-servers
|
|
- **mcporter CLI:** http://mcporter.dev
|
|
- **Anthropic MCP Docs:** https://modelcontextprotocol.io/
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### mcporter config location
|
|
|
|
```bash
|
|
# Default config
|
|
~/.config/mcporter/config.json
|
|
|
|
# Override
|
|
mcporter --config /path/to/config.json list
|
|
```
|
|
|
|
### Test MCP server
|
|
|
|
```bash
|
|
# List available servers
|
|
mcporter list
|
|
|
|
# List tools for a server
|
|
mcporter list home-assistant --schema
|
|
|
|
# Call a tool
|
|
mcporter call home-assistant.get_state entity_id=sensor.test --output json
|
|
```
|
|
|
|
### Debug
|
|
|
|
```bash
|
|
# Enable debug logging
|
|
DEBUG=* mcporter call home-assistant.get_state entity_id=sensor.test
|
|
```
|
|
|
|
---
|
|
|
|
**Sidste opdatering:** 2026-02-17 06:40 CET
|
|
**Forfatter:** James (OpenClaw Assistant)
|