コンテンツにスキップ

MCP サーバー

@contextlint/mcp-server は contextlint の機能を Model Context Protocol 経由で AI ホストに公開するサーバーです。Claude Desktop、Cursor、Cline、Codex などの MCP 対応ホストに登録すると、AI が会話の中で lint 実行・グラフ参照・影響分析を呼び出せるようになります。

Terminal window
npm install -D @contextlint/mcp-server

npx @contextlint/mcp-server でも実行できるため、グローバルインストールやプロジェクト内インストールはホスト側の設定スタイルに合わせて選んでください。

MCP サーバーは stdio で通信するシンプルなコマンドです。各ホストの設定ファイルに同じ形式のエントリを追加します。

claude_desktop_config.json(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json)を編集します。

{
"mcpServers": {
"contextlint": {
"command": "npx",
"args": ["@contextlint/mcp-server"]
}
}
}

.cursor/mcp.json(プロジェクト固有)または ~/.cursor/mcp.json(ユーザー全体)に同じ形式で追加します。

{
"mcpServers": {
"contextlint": {
"command": "npx",
"args": ["@contextlint/mcp-server"]
}
}
}

Cline、Codex、Windsurf など、MCP に対応するホストはおおむね同じ形式の設定ファイルを採用しています。commandargs を上記と揃えれば動作します。

MCP サーバーは以下のツールを公開しています。AI は会話の中で必要に応じてこれらを呼び出します。

ツール用途
lintMarkdown 文字列を直接渡してルール検証する
lint-filesglob パターンと設定ファイルを使って複数ファイルを検証する
context-graphドキュメント依存グラフを構築して返す
context-sliceクエリ(ID / キーワード / ファイルパス)に関連するファイル群を最小セットで抽出する
impact-analysis指定ファイルの変更によって直接・間接に影響を受けるファイルを分類して返す

その場で渡した Markdown コンテンツを、明示したルール構成で検証します。設定ファイル不要のアドホック検証に向いています。

入力概要
contentstring検証対象の Markdown
rulesobject[]適用するルール(rule と任意の options

glob パターンに一致するファイルを contextlint.config.json の設定で検証します。CLI の npx contextlint と同じ挙動を MCP 経由で呼び出せます。

入力概要
patternsstring[](任意)glob パターン。省略時は config の include、それも無ければ ["**/*.md"]
configPathstring(任意)設定ファイルへのパス。省略時は親ディレクトリを遡って自動検出
cwdstring(任意)作業ディレクトリ

ドキュメント間の依存グラフを構築して返します。format: "json" を指定すると構造化された JSON、省略時は人間が読めるサマリ形式になります。AI に「リポジトリの全体像を把握させる」用途で有用です。

ID(例: REQ-101)、キーワード、ファイルパスを query に渡すと、それに関連するファイルの最小セットを返します。depth で辿る深さを制御できます(デフォルト 2)。AI コンテキストに無関係なファイルを送らずに済むため、トークン消費を抑えながら正確な参照を渡せます。

ファイルが変更された場合に影響を受けるドキュメントを 直接(直接参照されている)間接(参照の連鎖で到達できる) に分類して返します。リファクタや削除前の安全性確認に使います。

lint-files / context-graph / context-slice / impact-analysis はいずれも contextlint.config.json を参照します。設定ファイルが見つからない場合はエラーを返すので、まずは contextlint-init Skill または Quick Start — 手動 でセットアップを済ませてください。

MCP サーバーと CLI は同じ @contextlint/corelintFiles パイプラインを使っています。出力フォーマットはどちらも揃えてあるため、AI が MCP で得た結果と人間が CLI で得る結果は一致します。