codeviewer-mcp
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
register_planreview_code_chunkcleanup_expired_sessionscleanup_sessionlist_sessionslist_indexing_errorslist_prompt_profilesget_prompt_profilehealth_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 |
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 startEntwicklungsmodus:
pnpm devUmgebungsvariablen
Variable | Beschreibung | Standardwert |
| Projektstammverzeichnis für AST-Indizierung und Pfad-Containment-Prüfungen | Aktuelles Arbeitsverzeichnis |
| Pfad zur SQLite-Datenbank |
|
| Verzeichnis mit |
|
| Standard-Prompt-Profil-ID, wenn |
|
| Sitzungs-TTL in Stunden, nur positive Ganzzahlen |
|
| Optionales Bearer-Token für geteilte Umgebungen. Wenn gesetzt, muss jeder Tool-Aufruf | nicht gesetzt |
| Bereinigung abgelaufener Sitzungen beim Prozessstart ( |
|
| Log-Level ( |
|
Beispiel:
MCP_PROJECT_PATH=/absolute/path/to/repo \
MCP_SESSION_TTL_HOURS=24 \
LOG_LEVEL=info \
node dist/index.jsAuthentifizierungsbeispiel, 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
*.mdim Prompts-Verzeichnis hinzu.Die Profil-ID ist der Dateiname ohne Erweiterung.
Beispiel:
prompts/cybersec.md->prompt_profile: "cybersec"
Starten Sie eine Sitzung mit
register_planund optionalemprompt_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_chunkenthält:active_prompt_profileactive_prompt_titleactive_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.jsIdempotente 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 buildIdempotente 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 buildHarness-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
Öffnen Sie die Claude MCP-Konfiguration.
Fügen Sie
codeviewer-mcpuntermcpServersmit den kanonischen Befehls-/Argument-/Umgebungswerten hinzu.Starten Sie Claude neu.
Ü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)
Öffnen Sie die VS Code MCP-Serververwaltung (UI oder JSON-Einstellungen, je nach Version).
Registrieren Sie einen lokalen STDIO-MCP-Server namens
codeviewer-mcp.Setzen Sie den Befehl
node, verweisen Sie die Argumente auf das erstelltedist/index.jsund setzen SieMCP_PROJECT_PATH.Laden Sie das VS Code-Fenster neu, falls dies von Ihrer Erweiterungsversion gefordert wird.
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
Öffnen Sie die OpenCode MCP-Konfiguration.
Fügen Sie einen lokalen STDIO-Server namens
codeviewer-mcphinzu.Verwenden Sie
node+ erstelltesdist/index.js.Setzen Sie
MCP_PROJECT_PATHund optionale DB-/Log-Umgebungsvariablen.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_plangibt eine gültigesession_idzurück[ ]
review_code_chunkgibt eine strukturierte Urteilsausgabe zurück[ ]
health_checkmeldet einen gesunden Datenbank-/Sitzungsstatus
Entwicklung und Validierung
pnpm test
pnpm buildSicherheitshinweise
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_HOURSab.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
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for static security analysis of Android source code
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).
Repository knowledge graph MCP server for codebase understanding and debugging.
Related MCP Servers
- AlicenseBqualityDmaintenanceA code review tool server based on Model Context Protocol (MCP), providing multi-dimensional code review and scoring functions.42Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP 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.6 npm1MIT
- FlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for automated refactoring of Java and TypeScript/JavaScript codebases.164-
- AlicenseAqualityFmaintenanceA code review tool server based on Model Context Protocol (MCP) providing multi-dimensional code review and scoring.46 npmMIT