# MCP Konfiguráció Audit és Hibaelhárítási Útmutató

**Dátum:** 2026-03-15  
**Auditor:** Rendszerauditőr / Főmérnök  
**Cél:** A globális és projekt MCP beállítások elemzése, működési problémák azonosítása, valamint a saját rendszerbeállításhoz szükséges információk összegyűjtése.

## 1. Jelenlegi Konfigurációk

### 1.1 Globális MCP Beállítások
**Fájl:** `/home/coder/.local/share/code-server/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json`

```json
{
	"mcpServers": {
		"focalboard": {
			"command": "docker",
			"args": [
				"run",
				"-i",
				"--rm",
				"--network",
				"shared_db_net",
				"--env-file",
				"/opt/docker/dev/service_finder/.roo/.env.focalboard",
				"mcp-focalboard-custom",
				"node",
				"build/index.js"
			],
			"disabled": true,
			"autoApprove": [],
			"alwaysAllow": [
				"create_card",
				"move_card",
				"get_boards",
				"get_cards"
			]
		},
		"postgres-wiki": {
			"command": "npx",
			"args": [
				"-y",
				"@modelcontextprotocol/server-postgres",
				"postgresql://wikijs:MiskociA74@wikijs-db:5432/wiki"
			]
		},
		"postgres-service-finder": {
			"command": "npx",
			"args": [
				"-y",
				"@modelcontextprotocol/server-postgres",
				"postgresql://sf_user:AppSafePass_2026@service-finder-db:5432/service_finder_db"
			]
		}
	}
}
```

### 1.2 Projekt MCP Beállítások
**Fájl:** `.roo/mcp.json`
```json
{
  "mcpServers": {
    "postgres-wiki": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://wikijs:${WIKIJS_DB_PASSWORD}@wikijs-db:5432/wiki"
      ]
    },
    "postgres-service-finder": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://sf_user:${SF_DB_PASSWORD}@service-finder-db:5432/service_finder_db"
      ]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/opt/docker/dev/service_finder"
      ]
    }
  }
}
```

**Fájl:** `.roo/mcp_settings.json`
```json
{
  "mcpServers": {
    "focalboard": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--network", "shared_db_net",
        "--env-file", "/opt/docker/dev/service_finder/.roo/.env.focalboard",
        "mcp-focalboard-custom",
        "node",
        "build/index.js"
      ],
      "disabled": false,
      "autoApprove": [],
      "alwaysAllow": ["create_card", "move_card", "get_boards", "get_cards"]
    },
    "postgres-wiki": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://wikijs:'MiskociA74'@wikijs-db:5432/wiki"
      ]
    },
    "postgres-service-finder": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://sf_user:'AppSafePass_2026'@service-finder-db:5432/service_finder_db"
      ]
    }
  }
}
```

### 1.3 Környezeti Fájlok
- **`.roo/.env.focalboard`** – tartalmazza a Focalboard kapcsolati adatokat:
  ```
  FOCALBOARD_HOST=http://focalboard:8000
  FOCALBOARD_USERNAME=kincses
  FOCALBOARD_PASSWORD=MiskociA74
  FOCALBOARD_TOKEN=k6p5mijdxdtg3ig6bhq5wurfx4y
  ```

## 2. Azonosított Problémák

### 2.1 Inkonzisztens `disabled` állapot
- **Globális beállítás:** `focalboard` → `disabled: true`
- **Projekt beállítás:** `focalboard` → `disabled: false`
- **Hatás:** A szerver nem indul el, ha a globális beállítás felülírja a projektet.

### 2.2 Hiányzó Filesystem Szerver a Globális Beállításokban
- A projekt `.roo/mcp.json` definiál egy `filesystem` szervert, amely a munkaterület könyvtárát szolgálja ki.
- A globális beállítások **nem tartalmaznak** `filesystem` szervert, így a fájlrendszer MCP nem lesz elérhető a kliens számára.

### 2.3 Jelszó Escape Karakterek
- A projekt `mcp_settings.json` a jelszavakat aposztrófok között adja meg (pl. `'MiskociA74'`). Ez lehet, hogy felesleges, és hibás kapcsolódást eredményezhet.

### 2.4 Docker Hálózati Függőség
- A `focalboard` szerver a `shared_db_net` Docker hálózatra támaszkodik.
- A Docker daemon nem érhető el a jelenlegi felhasználói környezetből (`permission denied`). Ennek oka:
  - A felhasználó nincs a `docker` csoportban, vagy
  - A Docker socket nem megfelelően van mountolva a konténerbe.

### 2.5 MCP Szerver Képek Hiánya
- A `mcp-focalboard-custom` image nem feltétlenül létezik a helyi Docker registry‑ben.
- Az `npx` csomagok (`@modelcontextprotocol/server-postgres`, `@modelcontextprotocol/server-filesystem`) telepítve vannak? Ha nem, az első futtatáskor letöltődnek, de időtúllépést okozhatnak.

## 3. Szükséges Információk a Saját Rendszer Beállításához

Ahhoz, hogy a felhasználó a saját környezetében működő MCP konfigurációt építsen ki, a következő információkat kell összegyűjtenie / ellenőriznie:

### 3.1 Docker Konfiguráció
- **Docker csoporttagság:** `groups` parancs – a felhasználónak a `docker` csoportban kell lennie.
- **Docker socket elérési út:** `/var/run/docker.sock` jogosultságai (`ls -la /var/run/docker.sock`).
- **Hálózat létezése:** `docker network ls | grep shared_db_net` (sudo-val).
- **Konténerek állapota:** `docker ps | grep roo-helper` – a `roo-helper` konténernek futnia kell a `gitea_manager.py` script futtatásához.

### 3.2 Környezeti Változók
- **WIKIJS_DB_PASSWORD** és **SF_DB_PASSWORD** – a projekt `.env` fájlból kell kinyerni, hogy a helyettesítés működjön.
- **Focalboard token** érvényessége – a tokennek meg kell egyeznie a Focalboard szerver konfigurációjával.

### 3.3 MCP Szerver Képek és Csomagok
- **Egyéni MCP kép:** `docker images | grep mcp-focalboard-custom`
- **NPM csomagok:** `npx @modelcontextprotocol/server-postgres --version` (a konténeren belül)

### 3.4 Roo‑Cline Beállítási Hierarchia
- **Melyik beállítás fájl érvényes?** A Roo‑Cline a globális (`~/.local/share/code-server/...`) vagy a projekt (`.roo/`) beállításokat használja?  
  *Általában a globális beállítások felülírják a projekt szintűeket, de ez függ a kliens implementációjától.*

### 3.5 Tesztelési Lépések
1. **Focalboard szerver indítása kézzel:**
   ```bash
   docker run -i --rm --network shared_db_net --env-file .roo/.env.focalboard mcp-focalboard-custom node build/index.js
   ```
2. **PostgreSQL szerver teszt:**
   ```bash
   npx -y @modelcontextprotocol/server-postgres postgresql://sf_user:AppSafePass_2026@service-finder-db:5432/service_finder_db
   ```
3. **Filesystem szerver teszt:**
   ```bash
   npx -y @modelcontextprotocol/server-filesystem /opt/docker/dev/service_finder
   ```

## 4. Javasolt Javítási Lépések

1. **Globális beállítások frissítése:**  
   Másold át a projekt `filesystem` szerver definícióját a globális `mcp_settings.json` fájlba, és állítsd a `focalboard` `disabled` értékét `false`-ra (ha a Focalboard szükséges).

2. **Jelszó escape egységesítése:**  
   Távolítsd el a felesleges aposztrófokat a jelszavak körül a `mcp_settings.json`-ból.

3. **Docker jogosultságok ellenőrzése:**  
   Add hozzá a felhasználót a docker csoporthoz: `sudo usermod -aG docker $USER`, majd jelentkezz be újra.

4. **Hálózat létrehozása (ha hiányzik):**  
   ```bash
   docker network create shared_db_net
   ```

5. **MCP kép buildelése (ha szükséges):**  
   A `mcp-focalboard-custom` kép forráskódja a projektben lehet. Buildeld le:  
   ```bash
   docker build -t mcp-focalboard-custom -f Dockerfile.focalboard .
   ```

6. **Tesztelés a Roo‑Cline‑ben:**  
   Indítsd újra a VS Code‑ot (vagy a Roo‑Cline bővítményt), hogy a módosított beállítások érvénybe lépjenek, majd próbáld ki az MCP szervereket (pl. fájllistázás, adatbázis lekérdezés).

## 5. Következő Lépések a Projektben

- Hozz létre egy Gitea kártyát a fenti javítások végrehajtására (ha a Docker elérhető).
- Dokumentáld a végleges működő konfigurációt a `docs/` mappában.
- Frissítsd a `.roo/history.md` fájlt a változtatásokról.

---

*Ez a dokumentum a Service Finder projekt Audit módjában készült, kizárólag információgyűjtés és elemzés céljából. A javításokat a megfelelő szerepkör (pl. Fast Coder vagy Architect) hajthatja végre.*