home / skills / yoanbernabeu / grepai-skills / grepai-mcp-cursor

This skill enables semantic code search and call graph insights in Cursor by integrating GrepAI via MCP.

npx playbooks add skill yoanbernabeu/grepai-skills --skill grepai-mcp-cursor

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
6.1 KB
---
name: grepai-mcp-cursor
description: Integrate GrepAI with Cursor IDE via MCP. Use this skill to enable semantic code search in Cursor.
---

# GrepAI MCP Integration with Cursor

This skill covers integrating GrepAI with Cursor IDE using the Model Context Protocol (MCP).

## When to Use This Skill

- Setting up GrepAI in Cursor
- Enabling semantic search for Cursor AI
- Configuring MCP for Cursor
- Troubleshooting Cursor integration

## What is Cursor?

Cursor is an AI-powered IDE that supports MCP for external tools. GrepAI integration gives Cursor's AI:

- Semantic code search beyond simple text matching
- Call graph analysis for understanding dependencies
- Index-based code navigation

## Prerequisites

1. GrepAI installed
2. Ollama running (or other embedding provider)
3. Project indexed (`grepai watch`)
4. Cursor IDE installed

## Configuration

### Step 1: Create MCP Config File

Create `.cursor/mcp.json` in your project root:

```json
{
  "mcpServers": {
    "grepai": {
      "command": "grepai",
      "args": ["mcp-serve"]
    }
  }
}
```

### Step 2: Restart Cursor

Close and reopen Cursor for the config to take effect.

### Step 3: Verify

Ask Cursor's AI:
> "Search the codebase for authentication"

Cursor should use the `grepai_search` tool.

## Global Configuration

For GrepAI in all Cursor projects, use global config:

### Location

- **macOS:** `~/.cursor/mcp.json`
- **Linux:** `~/.cursor/mcp.json`
- **Windows:** `%APPDATA%\Cursor\mcp.json`

### Content

```json
{
  "mcpServers": {
    "grepai": {
      "command": "grepai",
      "args": ["mcp-serve"]
    }
  }
}
```

## Per-Project Configuration

For project-specific settings:

```json
{
  "mcpServers": {
    "grepai": {
      "command": "grepai",
      "args": ["mcp-serve"],
      "cwd": "/absolute/path/to/project"
    }
  }
}
```

## Available Tools

Once configured, Cursor has access to:

| Tool | Description |
|------|-------------|
| `grepai_search` | Semantic code search |
| `grepai_trace_callers` | Find function callers |
| `grepai_trace_callees` | Find function callees |
| `grepai_trace_graph` | Build call graphs |
| `grepai_index_status` | Check index health |

## Usage Examples

### Finding Code

Ask Cursor:
> "Find code that handles user login"

Cursor uses `grepai_search` to find semantically related code.

### Understanding Dependencies

Ask Cursor:
> "What functions call validateToken?"

Cursor uses `grepai_trace_callers` to show all callers.

### Code Navigation

Ask Cursor:
> "Show me the call graph for processPayment"

Cursor uses `grepai_trace_graph` to display dependencies.

## Cursor Settings Integration

### Enable MCP in Settings

1. Open Cursor Settings (`Cmd+,` / `Ctrl+,`)
2. Search for "MCP"
3. Ensure MCP is enabled

### Verify MCP Status

1. Open Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`)
2. Search "MCP"
3. Check connected servers

## Windsurf Configuration

Windsurf uses the same MCP format as Cursor:

### Location

Create `.windsurf/mcp.json`:

```json
{
  "mcpServers": {
    "grepai": {
      "command": "grepai",
      "args": ["mcp-serve"]
    }
  }
}
```

## Multiple Projects Setup

### Option 1: Separate Configs

Each project has its own `.cursor/mcp.json` with appropriate `cwd`.

### Option 2: Workspaces

```bash
# Create workspace
grepai workspace create dev
grepai workspace add dev /path/to/project1
grepai workspace add dev /path/to/project2
```

```json
{
  "mcpServers": {
    "grepai": {
      "command": "grepai",
      "args": ["mcp-serve", "--workspace", "dev"]
    }
  }
}
```

## Environment Variables

If GrepAI uses environment variables (like API keys):

```json
{
  "mcpServers": {
    "grepai": {
      "command": "grepai",
      "args": ["mcp-serve"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}
```

**Better:** Set environment variables in your shell profile instead.

## Troubleshooting

### MCP Not Recognized

❌ **Problem:** Cursor doesn't see GrepAI tools

✅ **Solutions:**
1. Check file location: `.cursor/mcp.json` in project root
2. Verify JSON syntax (no trailing commas)
3. Restart Cursor completely
4. Check `grepai` is in PATH

### Search Returns Nothing

❌ **Problem:** Empty search results

✅ **Solutions:**
1. Ensure index exists: `grepai status`
2. Run `grepai watch` first
3. Verify working directory

### Connection Errors

❌ **Problem:** MCP connection failed

✅ **Solutions:**
1. Test manually: `grepai mcp-serve`
2. Check Ollama: `curl http://localhost:11434/api/tags`
3. Look at Cursor's developer console for errors

### Wrong Results

❌ **Problem:** Results from wrong project

✅ **Solutions:**
1. Set explicit `cwd` in config
2. Check you opened the right folder in Cursor
3. Use `grepai_index_status` to verify

## Performance Tips

1. **Background daemon:** Keep `grepai watch --background` running
2. **Use compact mode:** MCP tools use compact by default
3. **Limit results:** AI will request appropriate limits
4. **Index regularly:** Especially after git pull

## Comparison: Cursor vs Claude Code

| Feature | Cursor | Claude Code |
|---------|--------|-------------|
| Config location | `.cursor/mcp.json` | `~/.claude/mcp.json` |
| Setup command | Manual JSON | `claude mcp add` |
| Project scope | Per-project or global | Global |
| IDE integration | Native | Terminal |

## Best Practices

1. **Version control:** Add `.cursor/mcp.json` to git (without secrets)
2. **Team setup:** Document MCP config in README
3. **Keep index fresh:** Run watch daemon
4. **Test locally:** Verify `grepai mcp-serve` works first
5. **Use workspaces:** For multi-project setups

## Removing Integration

Delete `.cursor/mcp.json` and restart Cursor.

Or remove just GrepAI:
```json
{
  "mcpServers": {
    // Remove grepai entry
  }
}
```

## Output Format

Successful Cursor setup:

```
✅ GrepAI MCP Integration for Cursor

   Config: .cursor/mcp.json
   Server: grepai mcp-serve
   Status: Ready

   Available tools:
   - grepai_search
   - grepai_trace_callers
   - grepai_trace_callees
   - grepai_trace_graph
   - grepai_index_status

   Cursor AI can now search your code semantically!

   Test: Ask Cursor "search for authentication code"
```

Overview

This skill integrates GrepAI with the Cursor IDE using the Model Context Protocol (MCP) to enable semantic code search, call graph analysis, and index-based navigation inside Cursor. It provides configuration examples for per-project and global setups, guidance for workspaces and environment variables, and quick troubleshooting tips. Use this skill to make Cursor's AI invoke GrepAI tools like grepai_search and grepai_trace_* directly from the editor.

How this skill works

You add an MCP server entry pointing to the grepai command (mcp-serve) in .cursor/mcp.json or a global MCP config. Cursor connects to the GrepAI MCP server and exposes tools such as grepai_search, grepai_trace_callers, grepai_trace_callees, grepai_trace_graph, and grepai_index_status. When Cursor's AI receives a code query, it calls these tools to run semantic searches, return call graphs, or check indexing status, letting you navigate code semantically from the IDE.

When to use it

  • Enable semantic code search from within Cursor instead of manual CLI calls
  • Inspect function callers/callees or visualize call graphs without leaving the editor
  • Set up GrepAI integration for a single project or for all projects globally
  • Use workspaces to query multiple repositories with a single GrepAI server
  • Troubleshoot Cursor-AI not invoking GrepAI tools or empty search results

Best practices

  • Put .cursor/mcp.json in the project root for per-project configs and use explicit cwd when needed
  • Store environment secrets outside the file; prefer shell profile variables over embedding keys in MCP config
  • Keep the GrepAI index fresh with grepai watch --background after large changes or pulls
  • Verify grepai is in PATH and test with grepai mcp-serve manually before relying on Cursor
  • Use workspaces for multi-repo workflows and set limits on results to improve performance

Example use cases

  • Ask Cursor: "Find code that handles user login" — Cursor will call grepai_search to return semantically related files and snippets
  • Ask Cursor: "What functions call validateToken?" — Cursor will use grepai_trace_callers to list callers and locations
  • Request a call graph: "Show me the call graph for processPayment" — Cursor will invoke grepai_trace_graph and visualize dependencies
  • Set up a workspace to search across multiple services with grepai mcp-serve --workspace dev
  • Check index health from Cursor using grepai_index_status to confirm search readiness

FAQ

Where do I put the MCP config for a single project?

Create .cursor/mcp.json in the project root with a grepai entry pointing to command 'grepai' and args ['mcp-serve'].

How do I make GrepAI available for all projects on my machine?

Add the same mcpServers entry to ~/.cursor/mcp.json (or %APPDATA%\Cursor\mcp.json on Windows) and restart Cursor.

Cursor shows no results — what should I check?

Ensure the project is indexed (run grepai watch), confirm grepai is in PATH, set cwd explicitly in the MCP config if needed, and restart Cursor.