grepai-mcp-tools について
grepai-mcp-toolsは、GrepAIのMCPツールを統合する開発者向けのリファレンススキルです。セマンティックコード検索、呼び出し追跡、呼び出しグラフ、インデックス状態、パラメーターとエラー処理を説明します。
主な機能
- 01セマンティックコード検索
- 02呼び出し元と呼び出し先の追跡
- 03関数呼び出しグラフの生成
- 04コードインデックス状態の確認
- 05コンパクト形式とJSON/TOON出力
活用シーン
- 01AI連携で使うMCPツールのパラメーター確認
- 02自然言語のクエリに関連するコードの特定
- 03関数の関係を追跡してコードを把握
- 04インデックスや埋め込みプロバイダーのエラー診断
MCP 対応
`grepai mcp-serve`で起動するGrepAI MCPサーバーと、MCPクライアントに公開する検索、追跡、インデックス状態のツールを説明します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ yoanbernabeu/ grepai-skills --skill grepai-mcp-toolsインストール後、Claude Code で/grepai-mcp-toolsを入力して読み込まれたか確認します。
詳細
GrepAI MCP ツールリファレンス
このスキルでは、GrepAI の MCP サーバーで利用できるすべてのツールについて、完全なリファレンスを提供します。
このスキルを使用する場面
- 利用可能な MCP ツールを把握する
- ツールのパラメーターとオプションを確認する
- GrepAI を AI アシスタントと連携する
- MCP ツールの使用時に発生した問題をデバッグする
MCP サーバーの起動
grepai mcp-serve
サーバーは Model Context Protocol を介してツールを公開します。
利用可能なツール
1. grepai_search
埋め込みを使用したセマンティックコード検索です。
パラメーター
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
query | string | はい | - | 検索対象を説明する検索クエリ |
limit | number | いいえ | 10 | 返す結果の最大数 |
compact | boolean | いいえ | false | コンパクトな出力を返します(内容なし) |
format | string | いいえ | "json" | 出力形式:"json" または "toon"(v0.26.0 以降) |
リクエスト例
{
"tool": "grepai_search",
"parameters": {
"query": "user authentication middleware",
"limit": 5,
"compact": true,
"format": "toon"
}
}
レスポンス(コンパクト)
{
"q": "user authentication middleware",
"r": [
{"s": 0.92, "f": "src/auth/middleware.go", "l": "15-45"},
{"s": 0.85, "f": "src/auth/jwt.go", "l": "23-55"},
{"s": 0.78, "f": "src/handlers/auth.go", "l": "10-40"}
],
"t": 3
}
レスポンス(完全)
{
"query": "user authentication middleware",
"results": [
{
"score": 0.92,
"file": "src/auth/middleware.go",
"start_line": 15,
"end_line": 45,
"content": "func AuthMiddleware() gin.HandlerFunc {\n ..."
}
],
"total": 3
}
2. grepai_trace_callers
指定したシンボルを呼び出すすべての関数を検索します。
パラメーター
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
symbol | string | はい | - | トレースする関数/メソッド名 |
compact | boolean | いいえ | false | コンパクトな出力を返します(コンテキストなし) |
format | string | いいえ | "json" | 出力形式:"json" または "toon"(v0.26.0 以降) |
リクエスト例
{
"tool": "grepai_trace_callers",
"parameters": {
"symbol": "Login",
"compact": true
}
}
レスポンス(コンパクト)
{
"q": "Login",
"m": "callers",
"c": 3,
"r": [
{"f": "handlers/auth.go", "l": 42, "fn": "HandleAuth"},
{"f": "handlers/auth_test.go", "l": 15, "fn": "TestLoginSuccess"},
{"f": "cmd/main.go", "l": 88, "fn": "RunCLI"}
]
}
レスポンス(完全)
{
"query": "Login",
"mode": "callers",
"count": 3,
"results": [
{
"file": "handlers/auth.go",
"line": 42,
"caller": "HandleAuth",
"context": "user.Login(ctx, credentials)"
}
]
}
3. grepai_trace_callees
指定したシンボルが呼び出すすべての関数を検索します。
パラメーター
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
symbol | string | はい | - | トレースする関数/メソッド名 |
compact | boolean | いいえ | false | コンパクトな出力を返します(コンテキストなし) |
format | string | いいえ | "json" | 出力形式:"json" または "toon"(v0.26.0 以降) |
リクエスト例
{
"tool": "grepai_trace_callees",
"parameters": {
"symbol": "ProcessOrder",
"compact": true
}
}
レスポンス(コンパクト)
{
"q": "ProcessOrder",
"m": "callees",
"c": 4,
"r": [
{"f": "services/order.go", "l": 45, "fn": "validateOrder"},
{"f": "services/order.go", "l": 48, "fn": "calculateTotal"},
{"f": "services/order.go", "l": 51, "fn": "applyDiscount"},
{"f": "services/order.go", "l": 55, "fn": "sendConfirmation"}
]
}
4. grepai_trace_graph
シンボルを起点とする完全な呼び出しグラフを構築します。
パラメーター
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
symbol | string | はい | - | グラフのルート関数 |
depth | number | いいえ | 2 | 再帰の最大深度 |
compact | boolean | いいえ | false | コンパクトな JSON 形式を返します |
format | string | いいえ | "json" | 出力形式:"json" または "toon"(v0.26.0 以降) |
リクエスト例
{
"tool": "grepai_trace_graph",
"parameters": {
"symbol": "main",
"depth": 3,
"compact": true
}
}
レスポンス(コンパクト)
{
"q": "main",
"d": 3,
"r": {
"n": "main",
"c": [
{
"n": "initialize",
"c": [
{"n": "loadConfig"},
{"n": "connectDB"}
]
},
{
"n": "startServer",
"c": [
{"n": "registerRoutes"}
]
}
]
},
"s": {"nodes": 6, "depth": 3}
}
レスポンス(完全)
{
"query": "main",
"mode": "graph",
"depth": 3,
"root": {
"name": "main",
"file": "cmd/main.go",
"line": 10,
"children": [
{
"name": "initialize",
"file": "cmd/main.go",
"line": 15,
"children": [...]
}
]
},
"stats": {
"nodes": 6,
"max_depth": 3
}
}
5. grepai_index_status
コードインデックスの健全性とステータスを確認します。
パラメーター
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
verbose | boolean | いいえ | false | 詳細情報を含めます |
format | string | いいえ | "json" | 出力形式:"json" または "toon"(v0.26.0 以降) |
リクエスト例
{
"tool": "grepai_index_status",
"parameters": {
"verbose": true
}
}
レスポンス
{
"status": "healthy",
"project": "/path/to/project",
"embedder": {
"provider": "ollama",
"model": "nomic-embed-text",
"status": "connected"
},
"store": {
"backend": "gob",
"location": ".grepai/index.gob"
},
"index": {
"files": 245,
"chunks": 1234,
"last_updated": "2025-01-28T10:30:00Z"
},
"daemon": {
"running": true,
"pid": 12345
}
}
コンパクト形式リファレンス
compact: true の場合、レスポンスでは省略形のキーが使用されます。
| 完全なキー | コンパクトキー | 説明 |
|---|---|---|
query | q | 検索クエリまたはシンボル |
results | r | 結果の配列 |
total | t | 合計数 |
count | c | 件数 |
score | s | 類似度スコア |
file | f | ファイルパス |
line | l | 行番号 |
mode | m | トレースモード |
depth | d | グラフの深度 |
name | n | ノード名 |
children | c | 子ノード |
stats | s | 統計情報 |
function | fn | 関数名 |
トークン効率
コンパクトモードではトークン数を大幅に削減できます。
| レスポンスの種類 | 完全 | コンパクト | 削減率 |
|---|---|---|---|
| 検索(5 件) | ~800 | ~150 | 81% |
| 呼び出し元のトレース(10 件) | ~600 | ~120 | 80% |
| 呼び出しグラフのトレース(深度 3) | ~1200 | ~250 | 79% |
エラーレスポンス
インデックスが見つからない場合
{
"error": "Index not found. Run 'grepai watch' first.",
"code": "INDEX_NOT_FOUND"
}
エンベッダー接続に失敗しました
{
"error": "Cannot connect to embedding provider. Is Ollama running?",
"code": "EMBEDDER_UNAVAILABLE"
}
シンボルが見つかりません
{
"error": "Symbol 'FunctionName' not found in index.",
"code": "SYMBOL_NOT_FOUND"
}
無効なパラメーター
{
"error": "Parameter 'query' is required.",
"code": "INVALID_PARAMETERS"
}
AI 統合のベストプラクティス
- コンパクトモードを使用する: トークン使用量を約80%削減します
- 結果を制限する: 必要なものだけをリクエストします
- 最初にステータスを確認する: 検索の前に
grepai_index_statusを使用します - エラーに対処する: エラーレスポンスを確認します
- ツールを組み合わせる: 検索とトレースを併用して全体を把握します
MCP プロトコルの詳細
リクエスト形式
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "grepai_search",
"arguments": {
"query": "authentication",
"limit": 5,
"compact": true
}
}
}
レスポンス形式
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{\"q\":\"authentication\",\"r\":[...],\"t\":5}"
}
]
}
}
出力形式
MCP ツールの参照サマリー:
📚 GrepAI MCP Tools Reference
Tools available:
1. grepai_search
- Semantic code search
- Params: query*, limit, compact
2. grepai_trace_callers
- Find function callers
- Params: symbol*, compact
3. grepai_trace_callees
- Find function callees
- Params: symbol*, compact
4. grepai_trace_graph
- Build call graph
- Params: symbol*, depth, compact
5. grepai_index_status
- Check index health
- Params: verbose
* = required parameter
Compact mode: ~80% token reduction
コメント
Markdown 対応