返回 Skill 列表
extension
分类: 开发与工程无需 API Key

mcp-tool-selection

决策规则,用于决定何时使用MCP Qdrant-Indexer语义搜索与grep/字面文件工具。在开始探索、调试或回答关于代码的“在哪里/为什么”问题时使用此技能。

person作者: jakexiaohubgithub

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)

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)

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