{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 48,\n \"parent_id\": 47,\n \"slug\": \"mcp-tasks-tools\",\n \"path\": \"\/mcp\/mcp-tasks\/mcp-tasks-tools\",\n \"title\": \"Tools\",\n \"description\": \"Detaillierte Dokumentation aller 14 MCP-Tools.\",\n \"content\": \"<nav class=\\\"breadcrumb\\\">\\n <a href=\\\"\/docs\\\">Dokumentation<\/a> » <a href=\\\"\/docs\/mcp\\\">MCP<\/a> » <a href=\\\"\/docs\/mcp\/mcp-tasks\\\">MCP-Tasks<\/a> » Tools\\n<\/nav>\\n\\n<h1>MCP-Tasks Tools<\/h1>\\n<p class=\\\"doc-meta\\\"><strong>Erstellt:<\/strong> 2025-12-20 | <strong>Aktualisiert:<\/strong> 2025-12-20<\/p>\\n\\n<p>Detaillierte Dokumentation aller 14 MCP-Tools.<\/p>\\n\\n<h2>Task-Management Tools<\/h2>\\n\\n<h3>tasks_list<\/h3>\\n<p>Listet Tasks mit optionalen Filtern auf. Token-optimiert durch Compact-Modus.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>status<\/td><td>string<\/td><td>Nein<\/td><td>Filter: pending, in_progress, completed, failed, cancelled<\/td><\/tr>\\n <tr><td>type<\/td><td>string<\/td><td>Nein<\/td><td>Filter: human_task, ai_task, mixed<\/td><\/tr>\\n <tr><td>search<\/td><td>string<\/td><td>Nein<\/td><td>Volltextsuche in Titel\/Beschreibung<\/td><\/tr>\\n <tr><td>limit<\/td><td>int<\/td><td>Nein<\/td><td>Max. Ergebnisse (1-100, default: 10)<\/td><\/tr>\\n <tr><td>offset<\/td><td>int<\/td><td>Nein<\/td><td>Pagination Offset<\/td><\/tr>\\n <tr><td>compact<\/td><td>bool<\/td><td>Nein<\/td><td>True (default): nur id\/title\/status\/type. False: alle Felder<\/td><\/tr>\\n<\/table>\\n\\n<h4>Compact-Modus (default)<\/h4>\\n<p>Reduziert Token-Verbrauch um ~90%. Nur wesentliche Felder:<\/p>\\n<pre><code># Kompakte Ausgabe (default)\\ntasks_list(status=\\\"pending\\\")\\n\\n# Response (~100 Tokens statt ~1000)\\n{\\n \\\"success\\\": true,\\n \\\"tasks\\\": [\\n {\\\"id\\\": 47, \\\"title\\\": \\\"Token-Optimierung\\\", \\\"description\\\": \\\"tasks_list Response...\\\", \\\"type\\\": \\\"ai_task\\\", \\\"status\\\": \\\"pending\\\"}\\n ],\\n \\\"total\\\": 5,\\n \\\"limit\\\": 10,\\n \\\"offset\\\": 0,\\n \\\"compact\\\": true\\n}<\/code><\/pre>\\n\\n<h4>Vollständige Ausgabe<\/h4>\\n<pre><code># Alle Felder (für Details)\\ntasks_list(status=\\\"pending\\\", compact=False)\\n\\n# Response (alle 13 Felder pro Task)\\n{\\n \\\"success\\\": true,\\n \\\"tasks\\\": [\\n {\\\"id\\\": 47, \\\"uuid\\\": \\\"...\\\", \\\"title\\\": \\\"...\\\", \\\"description\\\": \\\"...\\\",\\n \\\"type\\\": \\\"ai_task\\\", \\\"status\\\": \\\"pending\\\", \\\"created_by\\\": \\\"mcp-tasks\\\",\\n \\\"created_by_type\\\": \\\"ai\\\", \\\"parent_task_id\\\": null, \\\"due_date\\\": null,\\n \\\"created_at\\\": \\\"...\\\", \\\"updated_at\\\": \\\"...\\\", \\\"completed_at\\\": null, \\\"metadata\\\": {}}\\n ],\\n \\\"total\\\": 5,\\n \\\"limit\\\": 10,\\n \\\"offset\\\": 0,\\n \\\"compact\\\": false\\n}<\/code><\/pre>\\n\\n<h3>tasks_get<\/h3>\\n<p>Holt Details eines einzelnen Tasks inkl. Assignments und Results.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Ja<\/td><td>Task-ID<\/td><\/tr>\\n<\/table>\\n<pre><code># Beispiel\\ntasks_get(id=29)\\n\\n# Response\\n{\\n \\\"success\\\": true,\\n \\\"task\\\": {...},\\n \\\"assignments\\\": [...],\\n \\\"results\\\": [...]\\n}<\/code><\/pre>\\n\\n<h3>tasks_create<\/h3>\\n<p>Erstellt einen neuen Task.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>title<\/td><td>string<\/td><td>Ja<\/td><td>Aufgabentitel<\/td><\/tr>\\n <tr><td>description<\/td><td>string<\/td><td>Nein<\/td><td>Ausführliche Beschreibung<\/td><\/tr>\\n <tr><td>type<\/td><td>string<\/td><td>Nein<\/td><td>human_task, ai_task (default), mixed<\/td><\/tr>\\n <tr><td>parent_task_id<\/td><td>int<\/td><td>Nein<\/td><td>ID des Parent-Tasks<\/td><\/tr>\\n <tr><td>due_date<\/td><td>string<\/td><td>Nein<\/td><td>Fälligkeitsdatum (ISO 8601)<\/td><\/tr>\\n<\/table>\\n<pre><code># Beispiel\\ntasks_create(\\n title=\\\"Code Review für API\\\",\\n description=\\\"Prüfe die neuen Endpunkte\\\",\\n type=\\\"ai_task\\\"\\n)\\n\\n# Response\\n{\\n \\\"success\\\": true,\\n \\\"task\\\": {\\\"id\\\": 45, \\\"title\\\": \\\"...\\\", ...},\\n \\\"message\\\": \\\"Task #45 created\\\"\\n}<\/code><\/pre>\\n\\n<h3>tasks_update<\/h3>\\n<p>Aktualisiert Task-Felder.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Ja<\/td><td>Task-ID<\/td><\/tr>\\n <tr><td>title<\/td><td>string<\/td><td>Nein<\/td><td>Neuer Titel<\/td><\/tr>\\n <tr><td>description<\/td><td>string<\/td><td>Nein<\/td><td>Neue Beschreibung<\/td><\/tr>\\n <tr><td>type<\/td><td>string<\/td><td>Nein<\/td><td>Neuer Typ<\/td><\/tr>\\n <tr><td>due_date<\/td><td>string<\/td><td>Nein<\/td><td>Neues Datum (ISO 8601)<\/td><\/tr>\\n<\/table>\\n\\n<h3>tasks_status<\/h3>\\n<p>Ändert den Status eines Tasks.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Ja<\/td><td>Task-ID<\/td><\/tr>\\n <tr><td>status<\/td><td>string<\/td><td>Ja<\/td><td>Neuer Status<\/td><\/tr>\\n<\/table>\\n<pre><code># Workflow-Beispiel\\ntasks_status(id=45, status=\\\"in_progress\\\")\\n# ... Arbeit erledigen ...\\ntasks_status(id=45, status=\\\"completed\\\")<\/code><\/pre>\\n\\n<h3>tasks_assign<\/h3>\\n<p>Weist einen Task einer Person oder KI zu.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Ja<\/td><td>Task-ID<\/td><\/tr>\\n <tr><td>assignee<\/td><td>string<\/td><td>Ja<\/td><td>Name der Person\/KI<\/td><\/tr>\\n <tr><td>assignee_type<\/td><td>string<\/td><td>Ja<\/td><td>human, ollama, claude, anthropic_api<\/td><\/tr>\\n <tr><td>model_name<\/td><td>string<\/td><td>Nein<\/td><td>Modellname (bei KI)<\/td><\/tr>\\n <tr><td>notes<\/td><td>string<\/td><td>Nein<\/td><td>Anmerkungen<\/td><\/tr>\\n<\/table>\\n<pre><code># Beispiel\\ntasks_assign(\\n id=45,\\n assignee=\\\"mistral\\\",\\n assignee_type=\\\"ollama\\\",\\n model_name=\\\"mistral:latest\\\"\\n)<\/code><\/pre>\\n\\n<h3>tasks_result<\/h3>\\n<p>Speichert ein Ergebnis für einen Task.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Ja<\/td><td>Task-ID<\/td><\/tr>\\n <tr><td>response<\/td><td>string<\/td><td>Ja<\/td><td>Antwort\/Ergebnis<\/td><\/tr>\\n <tr><td>executor<\/td><td>string<\/td><td>Ja<\/td><td>Ausführende Instanz<\/td><\/tr>\\n <tr><td>executor_type<\/td><td>string<\/td><td>Ja<\/td><td>human, ollama, claude, anthropic_api<\/td><\/tr>\\n <tr><td>model_name<\/td><td>string<\/td><td>Nein<\/td><td>Verwendetes Modell<\/td><\/tr>\\n <tr><td>status<\/td><td>string<\/td><td>Nein<\/td><td>success (default), error, partial<\/td><\/tr>\\n <tr><td>tokens_input<\/td><td>int<\/td><td>Nein<\/td><td>Eingabe-Tokens<\/td><\/tr>\\n <tr><td>tokens_output<\/td><td>int<\/td><td>Nein<\/td><td>Ausgabe-Tokens<\/td><\/tr>\\n <tr><td>cost_usd<\/td><td>float<\/td><td>Nein<\/td><td>Kosten in USD<\/td><\/tr>\\n <tr><td>error_message<\/td><td>string<\/td><td>Nein<\/td><td>Bei Fehlern<\/td><\/tr>\\n<\/table>\\n\\n<h3>tasks_execute<\/h3>\\n<p>Führt einen Task direkt mit lokalem Ollama aus.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Ja<\/td><td>Task-ID<\/td><\/tr>\\n <tr><td>model<\/td><td>string<\/td><td>Nein<\/td><td>Ollama-Modell (default: mistral)<\/td><\/tr>\\n <tr><td>auto_complete<\/td><td>bool<\/td><td>Nein<\/td><td>Task nach Erfolg abschließen<\/td><\/tr>\\n<\/table>\\n<pre><code># Beispiel\\ntasks_execute(id=45, model=\\\"codellama\\\", auto_complete=True)\\n\\n# Response\\n{\\n \\\"success\\\": true,\\n \\\"result\\\": {\\n \\\"response\\\": \\\"...\\\",\\n \\\"tokens_input\\\": 245,\\n \\\"tokens_output\\\": 512,\\n \\\"duration_ms\\\": 3400\\n },\\n \\\"task_completed\\\": true\\n}<\/code><\/pre>\\n\\n<h3>tasks_delete<\/h3>\\n<p>Löscht einen Task.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Ja<\/td><td>Task-ID<\/td><\/tr>\\n<\/table>\\n\\n<h3>tasks_statistics<\/h3>\\n<p>Holt Statistiken über alle Tasks.<\/p>\\n<pre><code># Beispiel\\ntasks_statistics()\\n\\n# Response\\n{\\n \\\"success\\\": true,\\n \\\"statistics\\\": {\\n \\\"by_status\\\": {\\\"pending\\\": 25, \\\"completed\\\": 120, ...},\\n \\\"by_type\\\": {\\\"ai_task\\\": 100, \\\"human_task\\\": 45},\\n \\\"tokens\\\": {\\\"total_input\\\": 50000, \\\"total_output\\\": 120000, \\\"total_cost_usd\\\": 2.50},\\n \\\"model_usage\\\": [{\\\"model\\\": \\\"mistral\\\", \\\"count\\\": 80, \\\"tokens\\\": 100000}]\\n }\\n}<\/code><\/pre>\\n\\n<hr>\\n\\n<h2>Quality & Contract Tools<\/h2>\\n\\n<h3>contracts_list<\/h3>\\n<p>Listet alle verfügbaren Contracts auf.<\/p>\\n<pre><code># Beispiel\\ncontracts_list()\\n\\n# Response\\n{\\n \\\"success\\\": true,\\n \\\"contracts\\\": [\\n {\\\"name\\\": \\\"betriebsdokumentation-pruefung_v1.1\\\", \\\"status\\\": \\\"active\\\"},\\n {\\\"name\\\": \\\"layered-architecture-pruefung_v1.0\\\", \\\"status\\\": \\\"active\\\"}\\n ]\\n}<\/code><\/pre>\\n\\n<h3>contracts_validate<\/h3>\\n<p>Führt eine Contract-Validierung aus.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>contract<\/td><td>string<\/td><td>Ja<\/td><td>Contract-Name (betriebsdokumentation, layered_architecture)<\/td><\/tr>\\n <tr><td>path<\/td><td>string<\/td><td>Nein<\/td><td>Spezifischer Pfad<\/td><\/tr>\\n<\/table>\\n<pre><code># Beispiel\\ncontracts_validate(contract=\\\"layered_architecture\\\")\\n\\n# Response\\n{\\n \\\"success\\\": true,\\n \\\"validation\\\": {\\n \\\"contract\\\": \\\"layered_architecture\\\",\\n \\\"outcome\\\": \\\"passed\\\", \/\/ oder: revision_required, rejected\\n \\\"violations\\\": {\\\"critical\\\": 0, \\\"major\\\": 0, \\\"minor\\\": 2},\\n \\\"findings\\\": [...]\\n }\\n}<\/code><\/pre>\\n\\n<h3>quality_check<\/h3>\\n<p>Führt PHP-Quality-Prüfungen aus.<\/p>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Required<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>path<\/td><td>string<\/td><td>Nein<\/td><td>Zu prüfender Pfad<\/td><\/tr>\\n <tr><td>checks<\/td><td>string<\/td><td>Nein<\/td><td>phpstan, cs-fixer, semgrep, all (default)<\/td><\/tr>\\n <tr><td>fix<\/td><td>bool<\/td><td>Nein<\/td><td>Automatisch korrigieren (nur cs-fixer)<\/td><\/tr>\\n<\/table>\\n<pre><code># Beispiel\\nquality_check(path=\\\"\/var\/www\/dev.campus.systemische-tools.de\/src\\\", checks=\\\"php... [TRUNCATED-5ec18779fe6ece23]"
}
]
}