mcpField
G
grepai-mcp-tools

grepai-mcp-tools

github.com/yoanbernabeuDevelopment20726 installsUpdated 38w ago
Repository

About grepai-mcp-tools

grepai-mcp-tools is a reference skill for developers integrating GrepAI’s MCP tools. It documents semantic code search, call tracing, call graphs, index status, parameters, and error handling.

Key features

  1. 01Semantic code search
  2. 02Trace callers and callees
  3. 03Build function call graphs
  4. 04Check code index status
  5. 05Compact, JSON, and TOON output

Use cases

  1. 01Look up MCP tool parameters for an AI integration
  2. 02Find code related to a natural-language query
  3. 03Trace function relationships to understand code
  4. 04Diagnose index or embedding-provider errors

MCP support

It documents the GrepAI MCP server, started with `grepai mcp-serve`, and the search, trace, and index-status tools it exposes to MCP clients.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-mcp-tools

After installing, type/grepai-mcp-toolsin Claude Code to confirm it loaded.

Details

From the project README

GrepAI MCP Tools Reference

This skill provides a complete reference for all tools available through GrepAI's MCP server.

When to Use This Skill

  • Understanding available MCP tools
  • Learning tool parameters and options
  • Integrating GrepAI with AI assistants
  • Debugging MCP tool usage

Starting the MCP Server

grepai mcp-serve

The server exposes tools via the Model Context Protocol.

Available Tools

1. grepai_search

Semantic code search using embeddings.

Parameters
ParameterTypeRequiredDefaultDescription
querystringYes-Search query describing what to find
limitnumberNo10Maximum results to return
compactbooleanNofalseReturn compact output (no content)
formatstringNo"json"Output format: "json" or "toon" (v0.26.0+)
Example Request
{
  "tool": "grepai_search",
  "parameters": {
    "query": "user authentication middleware",
    "limit": 5,
    "compact": true,
    "format": "toon"
  }
}
Response (Compact)
{
  "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
}
Response (Full)
{
  "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

Find all functions that call a specified symbol.

Parameters
ParameterTypeRequiredDefaultDescription
symbolstringYes-Function/method name to trace
compactbooleanNofalseReturn compact output (no context)
formatstringNo"json"Output format: "json" or "toon" (v0.26.0+)
Example Request
{
  "tool": "grepai_trace_callers",
  "parameters": {
    "symbol": "Login",
    "compact": true
  }
}
Response (Compact)
{
  "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"}
  ]
}
Response (Full)
{
  "query": "Login",
  "mode": "callers",
  "count": 3,
  "results": [
    {
      "file": "handlers/auth.go",
      "line": 42,
      "caller": "HandleAuth",
      "context": "user.Login(ctx, credentials)"
    }
  ]
}

3. grepai_trace_callees

Find all functions called by a specified symbol.

Parameters
ParameterTypeRequiredDefaultDescription
symbolstringYes-Function/method name to trace
compactbooleanNofalseReturn compact output (no context)
formatstringNo"json"Output format: "json" or "toon" (v0.26.0+)
Example Request
{
  "tool": "grepai_trace_callees",
  "parameters": {
    "symbol": "ProcessOrder",
    "compact": true
  }
}
Response (Compact)
{
  "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

Build a complete call graph starting from a symbol.

Parameters
ParameterTypeRequiredDefaultDescription
symbolstringYes-Root function for the graph
depthnumberNo2Maximum recursion depth
compactbooleanNofalseReturn compact JSON format
formatstringNo"json"Output format: "json" or "toon" (v0.26.0+)
Example Request
{
  "tool": "grepai_trace_graph",
  "parameters": {
    "symbol": "main",
    "depth": 3,
    "compact": true
  }
}
Response (Compact)
{
  "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}
}
Response (Full)
{
  "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

Check the health and status of the code index.

Parameters
ParameterTypeRequiredDefaultDescription
verbosebooleanNofalseInclude detailed information
formatstringNo"json"Output format: "json" or "toon" (v0.26.0+)
Example Request
{
  "tool": "grepai_index_status",
  "parameters": {
    "verbose": true
  }
}
Response
{
  "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 Format Reference

When compact: true, responses use abbreviated keys:

Full KeyCompact KeyDescription
queryqSearch query or symbol
resultsrResults array
totaltTotal count
countcCount
scoresSimilarity score
filefFile path
linelLine number(s)
modemTrace mode
depthdGraph depth
namenNode name
childrencChild nodes
statssStatistics
functionfnFunction name

Token Efficiency

Compact mode reduces tokens significantly:

Response TypeFullCompactSavings
Search (5 results)~800~15081%
Trace callers (10)~600~12080%
Trace graph (depth 3)~1200~25079%

Error Responses

Index Not Found
{
  "error": "Index not found. Run 'grepai watch' first.",
  "code": "INDEX_NOT_FOUND"
}
Embedder Connection Failed
{
  "error": "Cannot connect to embedding provider. Is Ollama running?",
  "code": "EMBEDDER_UNAVAILABLE"
}
Symbol Not Found
{
  "error": "Symbol 'FunctionName' not found in index.",
  "code": "SYMBOL_NOT_FOUND"
}
Invalid Parameters
{
  "error": "Parameter 'query' is required.",
  "code": "INVALID_PARAMETERS"
}

Best Practices for AI Integration

  1. Use compact mode: Reduces token usage by ~80%
  2. Limit results: Request only what you need
  3. Check status first: Use grepai_index_status before searches
  4. Handle errors: Check for error responses
  5. Combine tools: Search + trace for full understanding

MCP Protocol Details

Request Format
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "grepai_search",
    "arguments": {
      "query": "authentication",
      "limit": 5,
      "compact": true
    }
  }
}
Response Format
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"q\":\"authentication\",\"r\":[...],\"t\":5}"
      }
    ]
  }
}

Output Format

MCP tools reference summary:

📚 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

Comments

Markdown supported