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

8.3 KiB
Raw Permalink Blame History

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

{
	"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

{
  "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

{
  "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: focalboarddisabled: true
  • Projekt beállítás: focalboarddisabled: 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:
    docker run -i --rm --network shared_db_net --env-file .roo/.env.focalboard mcp-focalboard-custom node build/index.js
    
  2. PostgreSQL szerver teszt:
    npx -y @modelcontextprotocol/server-postgres postgresql://sf_user:AppSafePass_2026@service-finder-db:5432/service_finder_db
    
  3. Filesystem szerver teszt:
    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):

    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:

    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.