Code Intelligence MCP Server
Provides Cursor-like code intelligence using tools like ripgrep, ctags, and tree-sitter to help LLMs explore and understand entire codebases. It implements a structured, phase-gated workflow to ensure high-confidence code modifications and eliminate hallucinations.
README
Code Intelligence MCP Server v3.7
Cursor IDEのようなコードインテリジェンス機能をオープンソースツールで実現するMCPサーバー。
なぜ必要か
同じ Opus 4.5 モデルでも、呼び出し元によって挙動が異なる:
| 呼び出し元 | 挙動 |
|---|---|
| Cursor | コードベース全体を理解した上で修正する |
| Claude Code | 修正箇所だけを見て修正する傾向がある |
このMCPサーバーは、Claude Codeに「コードベースを理解させる情報」を提供します。
v3.7 の特徴
フェーズゲート実行
LLMが探索をスキップできないよう、物理的に制限:
EXPLORATION → VALIDATION → SEMANTIC → VERIFICATION → READY
↓ ↓ ↓ ↓ ↓
code-intel Embedding devrag 検証 実装許可
ツール 検証 (仮説) (確定)
Embedding による意味的検証(v3.7 新機能)
LLMが見つけたシンボルの関連性を、ベクトル類似度で客観的に検証:
| 類似度 | 処理 | 効果 |
|---|---|---|
| > 0.6 | FACT として承認 | 高信頼、そのまま進行 |
| 0.3-0.6 | 承認するが risk_level を HIGH に | 探索ノルマ増加 |
| < 0.3 | 物理的拒否 + 再調査ガイダンス | 幻覚とみなす |
QueryFrame
自然文を4+1スロットで構造化:
| スロット | 説明 | 例 |
|---|---|---|
target_feature |
対象機能 | 「ログイン機能」 |
trigger_condition |
再現条件 | 「パスワードが空のとき」 |
observed_issue |
問題 | 「エラーが出ない」 |
desired_action |
期待 | 「チェックを追加」 |
mapped_symbols |
探索で見つけたシンボル | ["LoginService"] |
設計原則
| 原則 | 実装 |
|---|---|
| LLMに判断をさせない | confidence はサーバーが算出 |
| 幻覚を物理的に排除 | Quote検証 + Embedding検証(v3.7) |
| 動的な要件調整 | risk_level (HIGH/MEDIUM/LOW) で探索要件を変更 |
| 情報の確実性を追跡 | FACT(確定)vs HYPOTHESIS(要検証) |
| 成功パターンの学習 | NL→Symbol ペアの自動キャッシュ(v3.7) |
ツール一覧
コードインテリジェンス
| ツール | 用途 |
|---|---|
query |
自然言語でのインテリジェントクエリ |
search_text |
高速テキスト検索 (ripgrep) |
search_files |
ファイル名検索 (ripgrep) |
analyze_structure |
コード構造解析 (tree-sitter) |
find_definitions |
シンボル定義検索 (ctags) |
find_references |
シンボル参照検索 (ctags) |
get_symbols |
シンボル一覧取得 (ctags) |
get_function_at_line |
特定行の関数取得 (tree-sitter) |
repo_pack |
リポジトリ全体をLLM用にパック (Repomix) |
セッション管理(v3.7)
| ツール | 用途 |
|---|---|
start_session |
セッション開始、extraction_prompt を返す |
set_query_frame |
QueryFrame 設定(Quote検証付き) |
get_session_status |
現在のフェーズ・状態を確認 |
submit_understanding |
EXPLORATION 完了 |
submit_semantic |
SEMANTIC 完了 |
submit_verification |
VERIFICATION 完了 |
check_write_target |
Write 可否確認(探索済みファイルのみ許可) |
record_outcome |
結果を記録(成功ペアをキャッシュ) |
validate_symbol_relevance |
v3.7 シンボル関連性を Embedding で検証 |
スキル
/code スキル
コード実装を支援するエージェント。フェーズゲートに従って探索→実装を行います。
/code ログイン機能でパスワードが空のときエラーが出ないバグを直して
/outcome スキル
実装結果を記録するエージェント。失敗パターンの分析に使用。
/outcome この実装は失敗だった
依存関係
| ツール | 必須 | 用途 |
|---|---|---|
| ripgrep (rg) | Yes | search_text, search_files, find_references |
| universal-ctags | Yes | find_definitions, find_references, get_symbols |
| Python 3.10+ | Yes | サーバー本体 |
| tree-sitter | Yes | analyze_structure (pip で自動インストール) |
| sentence-transformers | Yes | v3.7 Embedding 検証 (pip で自動インストール) |
| repomix | No | repo_pack, bootstrapキャッシュ |
| devrag | No | 意味検索フォールバック |
セットアップ
1. 依存ツールのインストール
# Ubuntu/Debian
sudo apt install ripgrep universal-ctags
# macOS
brew install ripgrep universal-ctags
# 任意: Repomix
npm install -g repomix
2. サーバーのセットアップ
git clone https://github.com/tech-spoke/llm-helper.git
cd llm-helper
# セットアップスクリプト実行
./setup.sh
または手動で:
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
3. MCP設定
対象プロジェクトのルートに .mcp.json を作成:
{
"mcpServers": {
"code-intel": {
"type": "stdio",
"command": "/path/to/llm-helper/venv/bin/python",
"args": ["/path/to/llm-helper/code_intel_server.py"],
"env": {
"PYTHONPATH": "/path/to/llm-helper"
}
}
}
}
4. スキルの設定(任意)
.claude/commands/ に code.md と outcome.md をコピー:
mkdir -p .claude/commands
cp /path/to/llm-helper/.claude/commands/*.md .claude/commands/
利用方法
/code スキルを使う(推奨)
/code AuthServiceのlogin関数でパスワードが空のときエラーが出ないバグを直して
スキルが自動的に:
- Intent判定(MODIFY)
- セッション開始
- QueryFrame抽出・検証
- EXPLORATION(find_definitions, find_references等)
- 必要に応じてSEMANTIC(devrag)
- VERIFICATION(仮説検証)
- READY(実装)
直接ツールを呼び出す
# テキスト検索
mcp__code-intel__search_text でパターン "Router" を検索して
# 定義検索
mcp__code-intel__find_definitions で "SessionState" の定義を探して
# 構造解析
mcp__code-intel__analyze_structure で tools/router.py を解析して
フェーズの詳細
EXPLORATION
code-intelツールでコードベースを探索:
find_definitions: シンボルの定義場所find_references: シンボルの使用箇所search_text: テキストパターン検索analyze_structure: AST解析
devragは使用禁止(物理的にブロック)
SEMANTIC
探索結果が不十分な場合のみ発動:
devrag_search: 意味検索- 結果は HYPOTHESIS(仮説)として記録
VERIFICATION
HYPOTHESISをcode-intelツールで検証:
- 確認されれば FACT に昇格
- 否定されれば rejected として記録
devragは使用禁止(物理的にブロック)
READY
実装が許可される:
- HYPOTHESISが残っていないことを確認
- Write対象は探索済みファイルのみ許可
devrag(オプション)
devragは意味検索のフォールバック機構です。未導入でも基本機能は動作します。
インストール
# Linux x64
wget https://github.com/tomohiro-owada/devrag/releases/latest/download/devrag-linux-x64.tar.gz
tar xzf devrag-linux-x64.tar.gz
sudo mv devrag /usr/local/bin/
設定
対象プロジェクトに rag-custom-config.json を作成:
{
"document_patterns": ["./src", "./docs"],
"db_path": "./vectors.db",
"chunk_size": 500,
"search_top_k": 5,
"model": {
"name": "multilingual-e5-small",
"dimensions": 384
}
}
インデックス作成
devrag -config rag-custom-config.json index
ドキュメント
- ARCHITECTURE.md - システム設計
- ROUTER.md - Router詳細
- DESIGN_v3.7.md - v3.7設計(Embedding + LLM委譲)
- DESIGN_v3.6.md - v3.6設計(QueryFrame)
ライセンス
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。