# MCP Guide (Model Context Protocol)

Jomblo nutzt mehrere MCP-Server, um die Fähigkeiten des KI-Systems zu erweitern.

## Verfügbare MCP Server

### 🧠 Sequential Thinking
Wird automatisch für komplexe Problemlösungen und logisches Schlussfolgern verwendet. Es ermöglicht dem Agenten, seine Gedanken strukturiert zu entwickeln und zu verfeinern.

### 📚 Context7
Dient als Wissensdatenbank für externe Bibliotheken und Frameworks.
- **Nutzung**: Wenn Hilfe zu Next.js 15, Auth.js oder Stripe benötigt wird.
- **Tools**: `resolve-library-id`, `query-docs`.

### 🛠️ Agentic-Tools
Das zentrale Tool für Projektmanagement und Research.
- **Projekt-Management**: Erstellen von Projekten, Tasks und Subtasks (`create_project`, `create_task`).
- **Research**: Gezielte Websuche mit Speicherung in der Wissensdatenbank (`research_task`, `generate_research_queries`).
- **Memory**: Langzeitspeicher für Projektentscheidungen (`create_memory`).

## Integration im Workflow

1. **Planung**: Neue Features werden als Projekt in Agentic-Tools angelegt.
2. **Ausführung**: Fortschritte werden über Tasks getrackt.
3. **Wissen**: Wichtige architektonische Entscheidungen werden als "Memory" gespeichert, um konsistente Hilfe zu gewährleisten.

## Docker Setup

Das Projekt verwendet Docker für die Datenbank-Infrastruktur:

```bash
# Start alle Dienste
pnpm run docker:up

# Setup Datenbank-Schema
pnpm run setup:schema

# Überprüfe Setup
pnpm run test:setup
```

### Services
- **PostgreSQL**: localhost:5435 (database: jomblo_dev)
- **Redis**: localhost:6380
- **pgAdmin**: http://localhost:5050 (admin@jomblo.de / admin123)

### Datenbank-Verbindung
```typescript
// In lib/db.ts
import { Pool } from 'pg';

const db = new Pool({
  host: process.env.DATABASE_HOST || 'localhost',
  port: parseInt(process.env.DATABASE_PORT || '5435'),
  database: process.env.DATABASE_NAME || 'jomblo_dev',
  user: process.env.DATABASE_USER || 'postgres',
  password: process.env.DATABASE_PASSWORD || 'passwort',
});
```

### Environment-Variablen
```env
# Datenbank
DATABASE_HOST=localhost
DATABASE_PORT=5435
DATABASE_NAME=jomblo_dev
DATABASE_USER=postgres
DATABASE_PASSWORD=passwort

# Redis
REDIS_HOST=localhost
REDIS_PORT=6380
```

## Beispiel: Task-Management
Um den aktuellen Status der Dokumentation zu sehen:
```bash
# Agent-Interner Aufruf
list_tasks(projectId="9236b3df-ed3b-489d-850a-e67a0e3103f8")
```
