mcpField
G
grepai-mcp-tools

grepai-mcp-tools

github.com/yoanbernabeu开发20726 次安装38 周前更新
代码仓库

关于 grepai-mcp-tools

grepai-mcp-tools 是 GrepAI MCP 服务工具的参考技能,面向需要了解工具参数、调用方式和错误处理的 AI 集成开发者。内容涵盖语义代码搜索、调用关系追踪、调用图及索引状态。

主要功能

  1. 01语义代码搜索
  2. 02追踪调用者与被调用函数
  3. 03生成函数调用图
  4. 04检查代码索引状态
  5. 05紧凑格式与 JSON/TOON 输出

适用场景

  1. 01为 AI 集成查询 MCP 工具参数
  2. 02定位代码中与描述相关的实现
  3. 03追踪函数调用关系以理解代码
  4. 04排查索引或嵌入服务错误

MCP 相关

说明 GrepAI MCP 服务可通过 `grepai mcp-serve` 启动,并向 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字符串是-描述要查找内容的搜索查询
limit数字否10返回结果的最大数量
compact布尔值否false返回精简输出(不含内容)
format字符串否"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字符串是-要追踪的函数/方法名称
compact布尔值否false返回精简输出(不含上下文)
format字符串否"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字符串是-要追踪的函数/方法名称
compact布尔值否false返回精简输出(不含上下文)
format字符串否"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字符串是-图的根函数
depth数字否2最大递归深度
compact布尔值否false返回精简 JSON 格式
format字符串否"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布尔值否false包含详细信息
format字符串否"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

评论

支持 Markdown