mcpField
G
grepai-mcp-tools

grepai-mcp-tools

github.com/yoanbernabeu開発20726 回インストール38 週間前に更新
リポジトリ

grepai-mcp-tools について

grepai-mcp-toolsは、GrepAIのMCPツールを統合する開発者向けのリファレンススキルです。セマンティックコード検索、呼び出し追跡、呼び出しグラフ、インデックス状態、パラメーターとエラー処理を説明します。

主な機能

  1. 01セマンティックコード検索
  2. 02呼び出し元と呼び出し先の追跡
  3. 03関数呼び出しグラフの生成
  4. 04コードインデックス状態の確認
  5. 05コンパクト形式とJSON/TOON出力

活用シーン

  1. 01AI連携で使うMCPツールのパラメーター確認
  2. 02自然言語のクエリに関連するコードの特定
  3. 03関数の関係を追跡してコードを把握
  4. 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

埋め込みを使用したセマンティックコード検索です。

パラメーター
パラメーター型必須デフォルト説明
querystringはい-検索対象を説明する検索クエリ
limitnumberいいえ10返す結果の最大数
compactbooleanいいえfalseコンパクトな出力を返します(内容なし)
formatstringいいえ"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

指定したシンボルを呼び出すすべての関数を検索します。

パラメーター
パラメーター型必須デフォルト説明
symbolstringはい-トレースする関数/メソッド名
compactbooleanいいえfalseコンパクトな出力を返します(コンテキストなし)
formatstringいいえ"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

指定したシンボルが呼び出すすべての関数を検索します。

パラメーター
パラメーター型必須デフォルト説明
symbolstringはい-トレースする関数/メソッド名
compactbooleanいいえfalseコンパクトな出力を返します(コンテキストなし)
formatstringいいえ"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

シンボルを起点とする完全な呼び出しグラフを構築します。

パラメーター
パラメーター型必須デフォルト説明
symbolstringはい-グラフのルート関数
depthnumberいいえ2再帰の最大深度
compactbooleanいいえfalseコンパクトな JSON 形式を返します
formatstringいいえ"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

コードインデックスの健全性とステータスを確認します。

パラメーター
パラメーター型必須デフォルト説明
verbosebooleanいいえfalse詳細情報を含めます
formatstringいいえ"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 の場合、レスポンスでは省略形のキーが使用されます。

完全なキーコンパクトキー説明
queryq検索クエリまたはシンボル
resultsr結果の配列
totalt合計数
countc件数
scores類似度スコア
filefファイルパス
linel行番号
modemトレースモード
depthdグラフの深度
namenノード名
childrenc子ノード
statss統計情報
functionfn関数名

トークン効率

コンパクトモードではトークン数を大幅に削減できます。

レスポンスの種類完全コンパクト削減率
検索(5 件)~800~15081%
呼び出し元のトレース(10 件)~600~12080%
呼び出しグラフのトレース(深度 3)~1200~25079%

エラーレスポンス

インデックスが見つからない場合
{
  "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 統合のベストプラクティス

  1. コンパクトモードを使用する: トークン使用量を約80%削減します
  2. 結果を制限する: 必要なものだけをリクエストします
  3. 最初にステータスを確認する: 検索の前に grepai_index_status を使用します
  4. エラーに対処する: エラーレスポンスを確認します
  5. ツールを組み合わせる: 検索とトレースを併用して全体を把握します

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

コメント