# 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.*