KanbanX Server
БесплатноНе проверенEnables users to manage a personal Kanban board with tasks, subtasks, notes, and code clips using natural language via the Model Context Protocol.
Описание
Enables users to manage a personal Kanban board with tasks, subtasks, notes, and code clips using natural language via the Model Context Protocol.
README
Ein vollständiger Model Context Protocol (MCP) Server für KanbanX - Dein persönliches Kanban Task Management System mit erweiterten Features wie Subtasks, Notizen und Code-Clips.
🌟 Features
📊 Kanban Board Management
- Drei-Spalten-System: TODO, DOING, DONE
- Drag-and-Drop-ähnlich: Verschiebe Tasks zwischen Spalten
- Eindeutige IDs: Jede Task erhält eine unveränderliche ID
- Timestamps: Automatische Zeitstempel für alle Aktionen
📝 Erweiterte Task-Features
- Hierarchische Subtasks: Erstelle Unteraufgaben mit eigenem Status
- Detaillierte Notizen: Füge mehrzeilige Notizen zu Tasks hinzu
- Code Clips: Speichere Code-Schnipsel, Links und wichtige Informationen
- Rich Text Support: Unicode-Support für Emojis und Sonderzeichen
🔌 MCP Integration
- Vollständige MCP 2024-11-05 Kompatibilität
- RESTful-ähnliche Tools: Intuitive Tool-Namen und Parameter
- Ressourcen-Zugriff: Direkter JSON-Zugriff auf das komplette Board
- Fehlerbehandlung: Robuste Fehlerbehandlung und Logging
💾 Daten-Persistierung
- JSON-basiert: Einfach lesbare und editierbare Datenspeicherung
- Automatische Backups: Sichere Datenspeicherung
- Portable: Alle Daten in einer einzigen JSON-Datei
- Versionskontrolle-freundlich: Git-kompatible Datenstruktur
🚀 Schnellstart (Windows)
Voraussetzungen
- Windows 10/11 (PowerShell 5.1+ oder PowerShell 7+)
- Python 3.8+ (Download hier)
- MCP-kompatibler Client (Claude Desktop, Gemini CLI, etc.)
⚡ Automatische Installation
Repository klonen oder herunterladen
git clone https://github.com/DonDmGeR/MCP-KanbanX.git cd MCP-KanbanXSetup-Script ausführen
.\setup.ps1Pfad zur Server-Datei eingeben (ohne Anführungszeichen!)
Pfad: C:\path\to\kanbanx_mcp_server.pyMCP Client neu starten und testen:
list_board()
🔧 Manuelle Installation
Klicke hier für detaillierte manuelle Installation
Schritt 1: Python und Dependencies installieren
# Python Version prüfen
python --version
# MCP SDK installieren
pip install mcp
Schritt 2: Server-Datei erstellen
Erstelle kanbanx_mcp_server.py mit dem bereitgestellten Code im Repository.
Schritt 3: Konfiguration erstellen
# Konfigurationsverzeichnis erstellen
$configDir = "$env:APPDATA\Claude"
New-Item -ItemType Directory -Path $configDir -Force
# Konfigurationsdatei erstellen
$config = @{
mcpServers = @{
kanbanx = @{
command = "python"
args = @("C:\full\path\to\kanbanx_mcp_server.py")
env = @{}
}
}
}
$config | ConvertTo-Json -Depth 10 | Out-File -FilePath "$configDir\claude_desktop_config.json" -Encoding UTF8
Schritt 4: Server testen
# Server direkt testen
python kanbanx_mcp_server.py
# Konfiguration prüfen
Get-Content "$env:APPDATA\Claude\claude_desktop_config.json"
📖 Verfügbare Tools
🆕 Task Management
add_task
Erstellt eine neue Aufgabe in der gewünschten Spalte.
Parameter:
column(string, required):"todo","doing", oder"done"title(string, required): Titel der Aufgabenote(string, optional): Zusätzliche Beschreibung
Beispiel:
add_task({
column: "todo",
title: "Website entwickeln",
note: "Responsive React-App mit modernem Design"
})
move_task
Verschiebt eine Aufgabe zwischen Spalten.
Parameter:
task_id(string, required): ID der Aufgabe (z.B."ID-abc123")target_column(string, required): Zielspalte
Beispiel:
move_task({
task_id: "ID-abc123",
target_column: "doing"
})
delete_task
Löscht eine Aufgabe permanent.
Parameter:
task_id(string, required): ID der zu löschenden Aufgabe
Beispiel:
delete_task({
task_id: "ID-abc123"
})
📋 Subtask Management
add_subtask
Fügt eine Unteraufgabe zu einer bestehenden Aufgabe hinzu.
Parameter:
task_id(string, required): ID der Hauptaufgabetext(string, required): Beschreibung der Unteraufgabe
Beispiel:
add_subtask({
task_id: "ID-abc123",
text: "Navigation komponente erstellen"
})
complete_subtask
Markiert eine Unteraufgabe als erledigt.
Parameter:
task_id(string, required): ID der Hauptaufgabesubtask_id(string, required): ID der Unteraufgabe
Beispiel:
complete_subtask({
task_id: "ID-abc123",
subtask_id: "ID-def456"
})
📝 Content Management
add_note
Fügt eine Notiz zu einer Aufgabe hinzu oder erweitert bestehende Notizen.
Parameter:
task_id(string, required): ID der Aufgabenote(string, required): Notiztext (unterstützt Mehrzeilen)
Beispiel:
add_note({
task_id: "ID-abc123",
note: "Wichtig: Mobile-First Ansatz verwenden\nFarben: #3498db, #2ecc71"
})
add_clip
Speichert Code-Schnipsel, Links oder wichtige Informationen zu einer Aufgabe.
Parameter:
task_id(string, required): ID der Aufgabesnippet(string, required): Code, Link oder Information
Beispiel:
add_clip({
task_id: "ID-abc123",
snippet: "npm install react-router-dom @types/react-router-dom"
})
👁️ Viewing Tools
list_board
Zeigt das komplette Kanban Board an.
Parameter:
format(string, optional):"detailed"(Standard) oder"summary"
Beispiel:
// Detaillierte Ansicht
list_board({ format: "detailed" })
// Zusammenfassung
list_board({ format: "summary" })
🔧 Konfiguration
MCP Client-spezifische Konfiguration
Claude Desktop
Konfigurationsdatei: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"kanbanx": {
"command": "python",
"args": ["C:\\path\\to\\kanbanx_mcp_server.py"],
"env": {}
}
}
}
Gemini CLI
Installiere Gemini CLI:
npm install -g @google/gemini-cli
Konfiguration: Siehe Gemini CLI MCP Dokumentation
Custom MCP Clients
Für eigene MCP Clients verwende die Standard MCP 2024-11-05 Spezifikation:
import asyncio
from mcp.client import ClientSession
from mcp.client.stdio import stdio_client
async def main():
async with stdio_client("python", "kanbanx_mcp_server.py") as streams:
async with ClientSession(streams[0], streams[1]) as session:
await session.initialize()
# Tools verwenden
result = await session.call_tool("list_board", {})
print(result)
asyncio.run(main())
Erweiterte Konfiguration
Umgebungsvariablen
# Datenverzeichnis anpassen
$env:KANBANX_DATA_DIR = "C:\MyProjects\kanban-data"
# Debug-Modus aktivieren
$env:KANBANX_DEBUG = "true"
Mehrere Board-Instanzen
{
"mcpServers": {
"kanbanx-work": {
"command": "python",
"args": ["C:\\path\\to\\kanbanx_mcp_server.py"],
"env": {
"KANBANX_DATA_FILE": "work_board.json"
}
},
"kanbanx-personal": {
"command": "python",
"args": ["C:\\path\\to\\kanbanx_mcp_server.py"],
"env": {
"KANBANX_DATA_FILE": "personal_board.json"
}
}
}
}
📊 Ressourcen
kanbanx://board
Direkter Zugriff auf das komplette Board als JSON.
Verwendung:
// Board-Daten abrufen
const boardData = await client.readResource("kanbanx://board");
console.log(JSON.parse(boardData));
Datenstruktur:
{
"todo": [
{
"id": "ID-abc123",
"title": "Website entwickeln",
"note": "Responsive Design mit React",
"subs": {
"ID-def456": {
"text": "Navigation erstellen",
"done": false
}
},
"clips": [
{
"ts": "2024-01-15T10:30:00",
"text": "npm install react"
}
],
"created": "2024-01-15T09:00:00"
}
],
"doing": [],
"done": []
}
🎯 Anwendungsbeispiele
Beispiel 1: Neues Projekt Setup
// 1. Hauptaufgabe erstellen
add_task({
column: "todo",
title: "E-Commerce Website",
note: "Online-Shop mit React und Node.js"
})
// 2. Subtasks hinzufügen
add_subtask({
task_id: "ID-abc123",
text: "Database Schema entwerfen"
})
add_subtask({
task_id: "ID-abc123",
text: "API Endpoints implementieren"
})
add_subtask({
task_id: "ID-abc123",
text: "Frontend Komponenten erstellen"
})
// 3. Wichtige Links und Commands speichern
add_clip({
task_id: "ID-abc123",
snippet: "Database: PostgreSQL 14, Redis für Caching"
})
add_clip({
task_id: "ID-abc123",
snippet: "git clone https://github.com/project/ecommerce-template"
})
Beispiel 2: Sprint Planning
// Sprint Board übersicht
list_board({ format: "summary" })
// Task in Bearbeitung nehmen
move_task({
task_id: "ID-abc123",
target_column: "doing"
})
// Progress-Update
add_note({
task_id: "ID-abc123",
note: "Sprint 1 - Tag 3: Database Schema 80% fertig"
})
// Subtask abhaken
complete_subtask({
task_id: "ID-abc123",
subtask_id: "ID-def456"
})
Beispiel 3: Bug Tracking
// Bug-Report erstellen
add_task({
column: "todo",
title: "🐛 Login-Validation Bug",
note: "Users können sich mit leeren Feldern einloggen"
})
// Investigation Details
add_clip({
task_id: "ID-bug001",
snippet: "Reproduktion: Chrome 120, leere Email + Passwort → Login successful"
})
add_clip({
task_id: "ID-bug001",
snippet: "Betroffene Datei: /src/components/LoginForm.tsx Zeile 45"
})
// Fix-Tasks hinzufügen
add_subtask({
task_id: "ID-bug001",
text: "Input validation implementieren"
})
add_subtask({
task_id: "ID-bug001",
text: "Unit tests für validation schreiben"
})
🛠️ Troubleshooting
Häufige Probleme
❌ "Server nicht erreichbar"
Lösung:
# 1. Python-Pfad prüfen
where python
# 2. Server direkt testen
python "C:\path\to\kanbanx_mcp_server.py"
# 3. Port-Konflikte prüfen
netstat -an | findstr :LISTENING
# 4. Neustart des MCP Clients
❌ "Tools nicht verfügbar"
Lösung:
# 1. MCP SDK Version prüfen
pip show mcp
# 2. Konfigurationsdatei validieren
Get-Content "$env:APPDATA\Claude\claude_desktop_config.json" | ConvertFrom-Json
# 3. Server-Logs prüfen
python kanbanx_mcp_server.py 2>&1 | Tee-Object -FilePath debug.log
❌ "Daten gehen verloren"
Lösung:
# 1. Backup-Datei suchen
Get-ChildItem -Path "." -Filter "*.json.backup" -Recurse
# 2. Manuelle Wiederherstellung
Copy-Item "kanbanx_mcp_server.json.backup" "kanbanx_mcp_server.json"
# 3. Automatische Backups einrichten (in Server-Code)
❌ "Unicode/Emoji Probleme"
Lösung:
# PowerShell UTF-8 Encoding setzen
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
# Oder PowerShell 7+ verwenden
winget install Microsoft.PowerShell
Debug-Modus
Aktiviere erweiterte Logs:
# Umgebungsvariable setzen
$env:KANBANX_DEBUG = "true"
# Server mit Logs starten
python kanbanx_mcp_server.py 2>&1 | Tee-Object debug.log
Performance-Optimierung
Für große Boards (1000+ Tasks):
{
"mcpServers": {
"kanbanx": {
"command": "python",
"args": ["kanbanx_mcp_server.py"],
"env": {
"KANBANX_CACHE_SIZE": "1000",
"KANBANX_LAZY_LOAD": "true"
}
}
}
}
🔒 Sicherheit
Daten-Schutz
- Lokale Speicherung: Alle Daten bleiben auf deinem Computer
- Keine Cloud-Verbindung: Server kommuniziert nur über lokale Pipes
- Backup-System: Automatische Sicherung bei kritischen Operationen
Access Control
# Datei-Berechtigungen setzen (optional)
icacls "kanbanx_mcp_server.json" /grant:r "$env:USERNAME:(R,W)"
icacls "kanbanx_mcp_server.json" /remove "Everyone"
🚀 Erweiterte Features
Custom Commands
Erweitere den Server mit eigenen Tools:
@server.call_tool()
async def handle_custom_tool(name: str, arguments: dict):
if name == "export_csv":
# CSV Export implementieren
return export_board_as_csv(arguments)
elif name == "import_github_issues":
# GitHub Issues importieren
return import_from_github(arguments)
Integrationen
GitHub Integration
# GitHub Issues als Tasks importieren
def import_github_issues(repo_url, token):
issues = fetch_github_issues(repo_url, token)
for issue in issues:
add_task({
"column": "todo",
"title": f"#{issue.number} {issue.title}",
"note": issue.body
})
Jira Integration
# Jira Tickets synchronisieren
def sync_with_jira(jira_url, credentials):
tickets = fetch_jira_tickets(jira_url, credentials)
for ticket in tickets:
update_or_create_task(ticket)
Plugins
Erstelle eigene Plugin-Dateien:
# plugins/time_tracking.py
class TimeTrackingPlugin:
def start_timer(self, task_id):
# Timer für Task starten
pass
def stop_timer(self, task_id):
# Timer stoppen und Zeit loggen
pass
📈 Roadmap
Version 1.1 (geplant)
- Time Tracking: Eingebaute Zeiterfassung
- Tags System: Kategorisierung mit Tags
- Board Templates: Vorgefertigte Board-Layouts
- Export Features: PDF, CSV, Markdown Export
🤝 Contributing
Beiträge sind willkommen! Siehe CONTRIBUTING.md für Details.
Development Setup
# Repository forken und klonen
git clone https://github.com/DonDmGeR/MCP-KanbanX.git
cd kanbanx-mcp
# Development-Dependencies installieren
pip install -r requirements-dev.txt
# Pre-commit hooks einrichten
pre-commit install
# Tests ausführen
python -m pytest tests/
Code Style
# Code formatieren
black kanbanx_mcp_server.py
# Linting
flake8 kanbanx_mcp_server.py
# Type checking
mypy kanbanx_mcp_server.py
📄 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe LICENSE für Details.
🙏 Danksagungen
- Model Context Protocol Team
- Anthropic für Claude und MCP
- Python Community für die großartigen Tools
- Alle Contributors und Beta-Tester
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
⭐ Star this repo wenn es dir hilft!
Made with ❤️ for the productivity community
Установить KanbanX Server в Claude Desktop, Claude Code, Cursor
unyly install kanbanx-mcp-serverСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add kanbanx-mcp-server -- uvx --from git+https://github.com/DonDmGeR/MCP-KanbanX kanbanx-mcpFAQ
KanbanX Server MCP бесплатный?
Да, KanbanX Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для KanbanX Server?
Нет, KanbanX Server работает без API-ключей и переменных окружения.
KanbanX Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить KanbanX Server в Claude Desktop, Claude Code или Cursor?
Открой KanbanX Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare KanbanX Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
