Skip to main content
Glama

codeviewer-mcp

codeviewer-mcp ist ein TypeScript-MCP-Server für zustandsbehaftete, AST-fähige Code-Review-Workflows.

Er läuft über STDIO und ist für MCP-Clients und LLM-Harnesses konzipiert, die lokale MCP-Server starten können.

Was dieser Server bietet

  • MCP-Tools für iterative Planregistrierung und Code-Chunk-Reviews

  • SQLite-gestützte Review-Sitzungen und Historie

  • AST-Indizierung/Kontextlokalisierung für JS/TS-Quellcodebäume

  • Preflight-Prüfungen (TypeScript-Diagnose + Erkennung von Sicherheitsmustern)

  • Strukturierte Review-Ausgabe mit Urteilen, kategorisiertem Feedback und optionalen Patch-Hinweisen

Related MCP server: lsp-intelligence

MCP-Tools

  1. register_plan

  2. review_code_chunk

  3. cleanup_expired_sessions

  4. cleanup_session

  5. list_sessions

  6. list_indexing_errors

  7. list_prompt_profiles

  8. get_prompt_profile

  9. health_check

Voraussetzungen

Diese Voraussetzungen sind erforderlich, damit dieses MCP korrekt installiert und ausgeführt werden kann.

Anforderung

Warum wird sie benötigt?

Node.js 20+

Laufzeitumgebung für Server und MCP SDK

pnpm 9+

Abhängigkeitsinstallation und Build-Workflow

Git

Klonen/Aktualisieren des Repositorys für Auto-Install-Flows

Native Build-Toolchain

Erforderlich für das native Modul better-sqlite3

Native Build-Toolchain nach Betriebssystem:

  • Windows: Visual Studio Build Tools 2022 (Desktop-Entwicklung mit C++) + Python 3

  • macOS: Xcode Command Line Tools (xcode-select --install)

  • Linux (Debian/Ubuntu): build-essential python3 make g++

Wenn native Builds fehlen, kann pnpm install beim Kompilieren von better-sqlite3 fehlschlagen.

Schnellstart

git clone https://github.com/Master0fFate/codeviewer-mcp.git
cd codeviewer-mcp
pnpm install
pnpm build
pnpm start

Entwicklungsmodus:

pnpm dev

Umgebungsvariablen

Variable

Beschreibung

Standardwert

MCP_PROJECT_PATH

Projektstammverzeichnis für AST-Indizierung und Pfad-Containment-Prüfungen

Aktuelles Arbeitsverzeichnis

MCP_REVIEWER_DB_PATH

Pfad zur SQLite-Datenbank

<MCP_PROJECT_PATH>/.codeviewer-mcp.sqlite

MCP_PROMPTS_DIR

Verzeichnis mit *.md Prompt-Profilen

<server_root>/prompts

MCP_DEFAULT_PROMPT_PROFILE

Standard-Prompt-Profil-ID, wenn register_plan prompt_profile auslässt

universal-auditor-general-v2.1 falls vorhanden, sonst erstes Profil

MCP_SESSION_TTL_HOURS

Sitzungs-TTL in Stunden, nur positive Ganzzahlen

168

MCP_AUTH_TOKEN

Optionales Bearer-Token für geteilte Umgebungen. Wenn gesetzt, muss jeder Tool-Aufruf auth_token enthalten.

nicht gesetzt

MCP_CLEANUP_ON_STARTUP

Bereinigung abgelaufener Sitzungen beim Prozessstart (true oder false)

false

LOG_LEVEL

Log-Level (trace, debug, info, warn, error)

info

Beispiel:

MCP_PROJECT_PATH=/absolute/path/to/repo \
MCP_SESSION_TTL_HOURS=24 \
LOG_LEVEL=info \
node dist/index.js

Authentifizierungsbeispiel, wenn MCP_AUTH_TOKEN gesetzt ist:

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "plan_step": 1,
  "target_file": "src/example.ts",
  "code_chunk": "export const ok = true;",
  "modification_type": "MODIFY",
  "auth_token": "your-shared-secret"
}

Prompt-Profil-Workflow (kompartimentierte Prompts)

Dieses MCP unterstützt jetzt sitzungsbasierte Prompt-Kompartimentierung aus dem prompts-Ordner.

  • Fügen Sie Prompt-Dateien als *.md im Prompts-Verzeichnis hinzu.

  • Die Profil-ID ist der Dateiname ohne Erweiterung.

    • Beispiel: prompts/cybersec.md -> prompt_profile: "cybersec"

  • Starten Sie eine Sitzung mit register_plan und optionalem prompt_profile.

  • Das ausgewählte Profil wird in der Sitzung gespeichert und für jeden review_code_chunk-Aufruf in dieser Sitzung wiederverwendet.

  • Die Ausgabe von review_code_chunk enthält:

    • active_prompt_profile

    • active_prompt_title

    • active_prompt_headings

Verwenden Sie Hilfsprogramme:

  • list_prompt_profiles, um verfügbare Profile anzuzeigen.

  • get_prompt_profile, um den vollständigen Prompt-Inhalt für ein Profil zu lesen.

Beispiel für register_plan-Payload mit Spezialisierungsprofil:

{
  "project_path": "/absolute/path/to/repo",
  "prompt_profile": "cybersec",
  "steps": [
    "Review auth and secrets handling",
    "Check unsafe execution paths"
  ]
}

LLM-Auto-Installationsanleitung

Dieser Abschnitt ist für autonome LLM-Installationsprogramme und MCP-Harnesses geschrieben.

Kanonischer Serverstart

node /absolute/path/to/codeviewer-mcp/dist/index.js

Idempotente Installation/Aktualisierung (bash)

set -euo pipefail
INSTALL_ROOT="${HOME}/mcp-servers"
SERVER_DIR="${INSTALL_ROOT}/codeviewer-mcp"

mkdir -p "${INSTALL_ROOT}"
if [ ! -d "${SERVER_DIR}/.git" ]; then
  git clone https://github.com/Master0fFate/codeviewer-mcp.git "${SERVER_DIR}"
else
  git -C "${SERVER_DIR}" pull --ff-only
fi

cd "${SERVER_DIR}"
pnpm install
pnpm build

Idempotente Installation/Aktualisierung (PowerShell)

$InstallRoot = Join-Path $HOME "mcp-servers"
$ServerDir = Join-Path $InstallRoot "codeviewer-mcp"

New-Item -ItemType Directory -Path $InstallRoot -Force | Out-Null
if (-not (Test-Path (Join-Path $ServerDir ".git"))) {
  git clone https://github.com/Master0fFate/codeviewer-mcp.git $ServerDir
} else {
  git -C $ServerDir pull --ff-only
}

Set-Location $ServerDir
pnpm install
pnpm build

Harness-Installation (Claude Code, VS Code Copilot, OpenCode, generisches MCP)

Verwenden Sie in jedem Harness dieselben STDIO-Startwerte.

Kanonischer Serverblock:

{
  "name": "codeviewer-mcp",
  "transport": "stdio",
  "command": "node",
  "args": ["/absolute/path/to/codeviewer-mcp/dist/index.js"],
  "env": {
    "MCP_PROJECT_PATH": "/absolute/path/to/target/repo",
    "MCP_REVIEWER_DB_PATH": "/absolute/path/to/target/repo/.codeviewer-mcp.sqlite",
    "LOG_LEVEL": "info"
  }
}

Claude Code / Claude Desktop

  1. Öffnen Sie die Claude MCP-Konfiguration.

  2. Fügen Sie codeviewer-mcp unter mcpServers mit den kanonischen Befehls-/Argument-/Umgebungswerten hinzu.

  3. Starten Sie Claude neu.

  4. Überprüfen Sie, ob die Tools erkennbar sind.

Beispiel:

{
  "mcpServers": {
    "codeviewer-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/codeviewer-mcp/dist/index.js"],
      "env": {
        "MCP_PROJECT_PATH": "/absolute/path/to/repo"
      }
    }
  }
}

VS Code Copilot (MCP)

  1. Öffnen Sie die VS Code MCP-Serververwaltung (UI oder JSON-Einstellungen, je nach Version).

  2. Registrieren Sie einen lokalen STDIO-MCP-Server namens codeviewer-mcp.

  3. Setzen Sie den Befehl node, verweisen Sie die Argumente auf das erstellte dist/index.js und setzen Sie MCP_PROJECT_PATH.

  4. Laden Sie das VS Code-Fenster neu, falls dies von Ihrer Erweiterungsversion gefordert wird.

  5. Bestätigen Sie die Tool-Erkennung in der Copilot Chat MCP-Toolliste.

Wenn Ihre Version JSON-Einstellungen unterstützt, ordnen Sie den kanonischen Serverblock Ihrem MCP-Einstellungsschema zu.

OpenCode

  1. Öffnen Sie die OpenCode MCP-Konfiguration.

  2. Fügen Sie einen lokalen STDIO-Server namens codeviewer-mcp hinzu.

  3. Verwenden Sie node + erstelltes dist/index.js.

  4. Setzen Sie MCP_PROJECT_PATH und optionale DB-/Log-Umgebungsvariablen.

  5. Starten Sie OpenCode neu und überprüfen Sie, ob die Tools erscheinen.

Generische MCP-Clients

Jeder Client, der lokale STDIO-MCP-Server unterstützt, kann den obigen kanonischen Block verwenden. Wenn Feldnamen abweichen, ordnen Sie dieselben Werte Ihrem Client-Schema zu.

Verifizierungs-Checkliste

  • [ ] Server startet ohne Prozessfehler

  • [ ] Client meldet, dass die MCP-Verbindung hergestellt wurde

  • [ ] Tools sichtbar: register_plan, review_code_chunk, cleanup_expired_sessions, cleanup_session, list_sessions, list_indexing_errors, list_prompt_profiles, get_prompt_profile, health_check

  • [ ] register_plan gibt eine gültige session_id zurück

  • [ ] review_code_chunk gibt eine strukturierte Urteilsausgabe zurück

  • [ ] health_check meldet einen gesunden Datenbank-/Sitzungsstatus

Entwicklung und Validierung

pnpm test
pnpm build

Sicherheitshinweise

  • Pfad-Containment-Prüfungen verhindern das Entweichen aus dem konfigurierten Projektstammverzeichnis, einschließlich symbolischer Link-basierter Ausbrüche.

  • Die Authentifizierung ist optional (MCP_AUTH_TOKEN) und sollte in geteilten Umgebungen aktiviert werden.

  • Sitzungen laufen automatisch basierend auf MCP_SESSION_TTL_HOURS ab.

  • SQLite ist mit WAL-Modus und aktivierten Fremdschlüsseln konfiguriert.

Repository-Struktur

  • /src/index.ts - Prozesseinstiegspunkt und STDIO-Transport

  • /src/server.ts - MCP-Server und Tool-Registrierung

  • /src/schemas.ts - Zod-Tool-Vertragsschemata

  • /src/state.ts - SQLite-Zustandsspeicher und Sitzungslebenszyklus

  • /src/ast.ts - AST-Indizierung und Kontextlokalisierung

  • /src/preflight.ts - Statische Preflight-Prüfungen

  • /src/reviewer.ts - Review-Entscheidung und Ausgabegestaltung

  • /src/logger.ts - Strukturiertes Logging

  • /tests - Vitest-Testsuite

Lizenz

GNU v3

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
8wRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A code review tool server based on Model Context Protocol (MCP), providing multi-dimensional code review and scoring functions.
    4
    2
    Apache 2.0
  • A
    license
    -
    quality
    D
    maintenance
    MCP server providing 29 tools across 5 layers for semantic TypeScript/JavaScript code intelligence, enabling AI agents to find references, trace impacts, guard APIs, and explain errors without text-search false positives.
    28
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server for automated refactoring of Java and TypeScript/JavaScript codebases.
    16
    3

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server for structured code review passes on human- and AI-written code. Free tier.

  • A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…

  • Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Master0fFate/codeviewer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server