Skip to main content
Glama

codeviewer-mcp

codeviewer-mcpは、ステートフルでASTを認識するコードレビューワークフローのためのTypeScript製MCPサーバーです。

STDIO経由で動作し、ローカルMCPサーバーを起動できるMCPクライアントおよびLLMハーネス向けに設計されています。

このサーバーが提供するもの

  • 反復的な計画登録とコードチャンクレビューのためのMCPツール

  • SQLiteベースのレビューセッションと履歴

  • JS/TSソースツリーのためのASTインデックス作成/コンテキストローカライゼーション

  • プリフライトチェック(TypeScript診断 + セキュリティパターン検出)

  • 判定、カテゴリ化されたフィードバック、オプションのパッチヒントを含む構造化されたレビュー出力

Related MCP server: lsp-intelligence

MCPツール

  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

前提条件

このMCPをインストールして正しく実行するには、以下の前提条件が必要です。

要件

必要な理由

Node.js 20+

サーバーおよびMCP SDKのランタイム

pnpm 9+

依存関係のインストールおよびビルドワークフロー

Git

自動インストールフローのためのリポジトリのクローン/更新

ネイティブビルドツールチェーン

better-sqlite3ネイティブモジュールで必要

OSごとのネイティブビルドツールチェーン:

  • Windows: Visual Studio Build Tools 2022 (C++によるデスクトップ開発) + Python 3

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

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

ネイティブビルド環境がない場合、better-sqlite3のコンパイル中にpnpm installが失敗することがあります。

クイックスタート

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

開発モード:

pnpm dev

環境変数

変数

説明

デフォルト

MCP_PROJECT_PATH

ASTインデックス作成およびパス包含チェックのためのプロジェクトルート

現在の作業ディレクトリ

MCP_REVIEWER_DB_PATH

SQLiteデータベースのパス

<MCP_PROJECT_PATH>/.codeviewer-mcp.sqlite

MCP_PROMPTS_DIR

*.mdプロンプトプロファイルを含むディレクトリ

<server_root>/prompts

MCP_DEFAULT_PROMPT_PROFILE

register_planprompt_profileが省略された場合に使用されるデフォルトのプロンプトプロファイルID

存在する場合はuniversal-auditor-general-v2.1、それ以外は最初のプロファイル

MCP_SESSION_TTL_HOURS

セッションのTTL(時間単位、正の整数のみ)

168

MCP_AUTH_TOKEN

共有環境用のオプションのベアラートークン。設定されている場合、すべてのツール呼び出しにauth_tokenを含める必要があります。

未設定

MCP_CLEANUP_ON_STARTUP

プロセス開始時に期限切れセッションをクリーンアップするかどうか (true または false)

false

LOG_LEVEL

ログレベル (trace, debug, info, warn, error)

info

例:

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

MCP_AUTH_TOKENが設定されている場合の認証例:

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

プロンプトプロファイルワークフロー(コンパートメント化されたプロンプト)

このMCPは、promptsフォルダーからのセッションレベルのプロンプトのコンパートメント化をサポートしています。

  • プロンプトファイルをpromptsディレクトリに*.mdとして追加します。

  • プロファイルIDは拡張子を除いたファイル名です。

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

  • register_planとオプションのprompt_profileでセッションを開始します。

  • 選択されたプロファイルはセッションに保持され、そのセッション内のすべてのreview_code_chunk呼び出しで再利用されます。

  • review_code_chunkの出力には以下が含まれます:

    • active_prompt_profile

    • active_prompt_title

    • active_prompt_headings

ヘルパーツールを使用してください:

  • list_prompt_profiles で利用可能なプロファイルを確認します。

  • get_prompt_profile でプロファイルのプロンプト内容全体を読み取ります。

専門化プロファイルを使用したregister_planペイロードの例:

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

LLM自動インストールガイド

このセクションは、自律型LLMインストーラーおよびMCPハーネス向けに書かれています。

標準的なサーバー起動

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

べき等なインストール/更新 (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

べき等なインストール/更新 (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

ハーネスのインストール (Claude Code, VS Code Copilot, OpenCode, 汎用MCP)

すべてのハーネスで同じSTDIO起動値を使用してください。

標準的なサーバーブロック:

{
  "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. Claude MCP設定を開きます。

  2. mcpServersの下に、標準的なコマンド/引数/環境変数の値を使用してcodeviewer-mcpを追加します。

  3. Claudeを再起動します。

  4. ツールが検出可能であることを確認します。

例:

{
  "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. VS Code MCPサーバー管理を開きます(バージョンに応じてUIまたはJSON設定)。

  2. codeviewer-mcpという名前のローカルSTDIO MCPサーバーを登録します。

  3. コマンドにnodeを設定し、引数にビルド済みのdist/index.jsを指定し、MCP_PROJECT_PATHを設定します。

  4. 拡張機能のバージョンで必要な場合は、VS Codeウィンドウをリロードします。

  5. Copilot ChatのMCPツールリストでツールの検出を確認します。

お使いのバージョンがJSON設定をサポートしている場合は、標準的なサーバーブロックをMCP設定スキーマにマッピングしてください。

OpenCode

  1. OpenCode MCP設定を開きます。

  2. codeviewer-mcpという名前のローカルSTDIOサーバーを追加します。

  3. node + ビルド済みのdist/index.jsを使用します。

  4. MCP_PROJECT_PATHおよびオプションのDB/ログ環境変数を設定します。

  5. OpenCodeを再起動し、ツールが表示されることを確認します。

汎用MCPクライアント

ローカルSTDIO MCPサーバーをサポートするすべてのクライアントは、上記の標準的なブロックを使用できます。 フィールド名が異なる場合は、同じ値をクライアントのスキーマにマッピングしてください。

検証チェックリスト

  • [ ] サーバーがプロセスエラーなしで起動する

  • [ ] クライアントがMCP接続の確立を報告する

  • [ ] ツールが表示される: 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が有効なsession_idを返す

  • [ ] review_code_chunkが構造化された判定出力を返す

  • [ ] health_checkが健全なデータベース/セッション状態を報告する

開発と検証

pnpm test
pnpm build

セキュリティに関する注意点

  • パス包含チェックにより、シンボリックリンクベースのエスケープを含め、設定されたプロジェクトルートからの脱出を防ぎます。

  • 認証はオプション (MCP_AUTH_TOKEN) であり、共有環境では有効にする必要があります。

  • セッションはMCP_SESSION_TTL_HOURSに基づいて自動的に期限切れになります。

  • SQLiteはWALモードで構成され、外部キーが有効になっています。

リポジトリ構成

  • /src/index.ts - プロセスエントリポイントおよびSTDIOトランスポート

  • /src/server.ts - MCPサーバーおよびツール登録

  • /src/schemas.ts - Zodツールコントラクトスキーマ

  • /src/state.ts - SQLite状態ストアおよびセッションライフサイクル

  • /src/ast.ts - ASTインデックス作成およびコンテキストローカライゼーション

  • /src/preflight.ts - 静的プリフライトチェック

  • /src/reviewer.ts - レビュー決定および出力整形

  • /src/logger.ts - 構造化ロギング

  • /tests - Vitestテストスイート

ライセンス

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