Files
service-finder/docs/mcp_config_audit_2026-03-15.md
2026-03-22 11:02:05 +00:00

233 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 registryben.
- 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 RooCline Beállítási Hierarchia
- **Melyik beállítás fájl érvényes?** A RooCline 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 RooClineben:**
Indítsd újra a VS Codeot (vagy a RooCline 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.*