# MCP Tool Selection

> Decision rules for when to use MCP Qdrant-Indexer semantic search vs grep/literal file tools. Use this skill when starting exploration, debugging, or answering "where/why" questions about code.

- Skill: `majiayu000/mcp-tool-selection` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/mcp-tool-selection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/mcp-tool-selection/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/mcp-tool-selection

---


# MCP Tool Selection Rules

**Core principle:** MCP Qdrant-Indexer tools are primary for exploring code and history. Start with MCP for exploration, debugging, or "where/why" questions; use literal search/file-open only for narrow exact-literal lookups.

## Use MCP Qdrant-Indexer When

- Exploring or don't know exact strings/symbols
- Need semantic or cross-file understanding (relationships, patterns, architecture)
- Want ranked results with surrounding context, not just line hits
- Asking conceptual/architectural or "where/why" behavior questions
- Need rich context/snippets around matches

## Use Literal Search/File-Open Only When

- Know exact string/function/variable or error message
- Only need to confirm existence or file/line quickly (not to understand behavior)

## Grep Anti-Patterns (DON'T)

```bash
grep -r "auth" .        # → Use MCP: "authentication mechanisms"
grep -r "cache" .       # → Use MCP: "caching strategies"  
grep -r "error" .       # → Use MCP: "error handling patterns"
grep -r "database" .    # → Use MCP: "database operations"
```

## Literal Search Patterns (DO)

```bash
grep -rn "UserAlreadyExists" .      # Specific error class
grep -rn "def authenticate_user" .  # Exact function name
grep -rn "REDIS_HOST" .             # Exact environment variable
```

## Quick Decision Heuristic

| Question Type | Tool |
|--------------|------|
| "Where is X implemented?" | MCP `repo_search` |
| "Who calls this and show code?" | MCP `symbol_graph` (hydrated w/ snippets) |
| "Callers of callers? Multi-hop?" | MCP `neo4j_graph_query` (transitive_callers, depth=2) |
| "What breaks if I change X?" | MCP `neo4j_graph_query` (impact, depth=2) |
| "Circular dependencies?" | MCP `neo4j_graph_query` (cycles) |
| "How does authentication work?" | MCP `context_answer` |
| "High-level module overview?" | MCP `info_request` (with explanations) |
| "Does REDIS_HOST exist?" | Literal grep |
| "Why did behavior change?" | `search_commits_for` + `change_history_for_path` |

**If in doubt → start with MCP**


