MCP Tool Mastery
Master the 80+ MCP tools available in the GoodVibes plugin. This skill teaches you when and how to use each tool for maximum effectiveness.
THE LAW: Tool-First Development
This is non-negotiable. Violating these rules means you're not doing your job.
Before ANY Task
# 1. ALWAYS check tool schema first
mcp-cli info plugin_goodvibes_goodvibes-tools/<tool_name>
# 2. THEN make the call
mcp-cli call plugin_goodvibes_goodvibes-tools/<tool_name> '{"param": "value"}'
The Golden Rules
- Never skip
mcp-cli info - Schemas are tool-specific. Your assumptions are wrong.
- Never do manually what a tool can do - If a tool exists, use it.
- Skills contain expertise you lack - Load them to become an expert.
- Tools provide current information - Your training data is outdated.
Quick Reference: Tool Selection by Task
Starting Any Task
| First Action |
Tool |
Command |
| Understand project |
detect_stack |
mcp-cli call .../detect_stack '{}' |
| Find relevant skills |
recommend_skills |
mcp-cli call .../recommend_skills '{"task": "..."}' |
| Check for issues |
project_issues |
mcp-cli call .../project_issues '{}' |
Before Writing Code
| Task |
Tool |
Why |
| Follow patterns |
scan_patterns |
Match existing code style |
| Understand types |
get_schema |
Know the interfaces |
| Check conventions |
get_conventions |
Follow project standards |
During Code Navigation
| Need |
Tool |
Use Case |
| Find definition |
go_to_definition |
Jump to where symbol is defined |
| Find usages |
find_references |
See all places symbol is used |
| Find implementations |
get_implementations |
Find concrete implementations of interface |
| Search symbols |
workspace_symbols |
Find symbols by name across codebase |
| Understand hierarchy |
get_type_hierarchy |
See inheritance chain |
Before Editing Code
| Task |
Tool |
Mandatory? |
| Check patterns |
scan_patterns |
Yes |
| Preview errors |
validate_edits_preview |
Recommended |
| Check if safe to delete |
safe_delete_check |
Before deletion |
| Find affected tests |
find_tests_for_file |
Yes |
After Editing Code
| Task |
Tool |
When |
| Type check |
check_types |
After TypeScript changes |
| Get diagnostics |
get_diagnostics |
For file-level issues |
| Run smoke test |
run_smoke_test |
Before committing |
Debugging
| Problem |
Tool |
What It Does |
| Stack trace |
parse_error_stack |
Parse and explain errors |
| Type error |
explain_type_error |
Explain TypeScript errors |
| Find dead code |
find_dead_code |
Identify unused code |
| Check circular deps |
find_circular_deps |
Find dependency cycles |
Security & Quality
| Concern |
Tool |
Use |
| Secrets in code |
scan_for_secrets |
Find exposed credentials |
| Env config |
get_env_config |
Understand environment setup |
| Permissions |
check_permissions |
Verify file/dir permissions |
Complete Tool Catalog
Discovery & Search (6 tools)
| Tool |
Purpose |
When to Use |
search_skills |
Find skills by keyword |
Starting new domain task |
search_agents |
Find agents by capability |
Need specialized help |
search_tools |
Find tools by function |
Looking for specific capability |
recommend_skills |
AI-powered skill suggestions |
Before any complex task |
get_skill_content |
Load skill into context |
After finding relevant skill |
get_agent_content |
Read agent definition |
Understanding agent capabilities |
Dependencies & Stack (6 tools)
| Tool |
Purpose |
When to Use |
skill_dependencies |
Find skill prerequisites |
Before loading skills |
detect_stack |
Identify project technologies |
First action in new project |
check_versions |
Verify package versions |
Debugging version issues |
scan_patterns |
Find code patterns in project |
Before writing similar code |
analyze_dependencies |
Deep dependency analysis |
Understanding dep structure |
find_circular_deps |
Detect circular dependencies |
Before refactoring |
Documentation & Schema (5 tools)
| Tool |
Purpose |
When to Use |
fetch_docs |
Get library documentation |
Need API reference |
get_schema |
Get type/interface schemas |
Before working with types |
read_config |
Read configuration files |
Understanding project config |
get_database_schema |
Get DB schema info |
Before database work |
get_api_routes |
Map API endpoints |
Understanding API structure |
Quality & Testing (7 tools)
| Tool |
Purpose |
When to Use |
validate_implementation |
Check code meets specs |
After implementation |
run_smoke_test |
Quick validation test |
Before committing |
check_types |
TypeScript type checking |
After any TS changes |
project_issues |
Find project problems |
Start of any task |
find_tests_for_file |
Find related tests |
Before modifying code |
get_test_coverage |
Get coverage metrics |
Before writing tests |
suggest_test_cases |
AI test suggestions |
When adding tests |
Scaffolding (3 tools)
| Tool |
Purpose |
When to Use |
scaffold_project |
Generate project structure |
Starting new project |
list_templates |
Show available templates |
Choosing scaffold template |
plugin_status |
Check plugin health |
Debugging plugin issues |
LSP/Code Intelligence (18 tools)
Navigation:
| Tool |
Purpose |
find_references |
Find all symbol usages |
go_to_definition |
Jump to symbol definition |
get_implementations |
Find interface implementations |
get_call_hierarchy |
See call relationships |
get_document_symbols |
List symbols in file |
workspace_symbols |
Search symbols globally |
Analysis:
| Tool |
Purpose |
get_symbol_info |
Get symbol documentation |
get_signature_help |
Get function signatures |
get_diagnostics |
Get file diagnostics |
get_type_hierarchy |
See inheritance chain |
get_inlay_hints |
See inferred types |
get_api_surface |
Map public API |
Refactoring:
| Tool |
Purpose |
rename_symbol |
Safely rename symbols |
get_code_actions |
Get available fixes |
apply_code_action |
Apply a code fix |
find_dead_code |
Find unused code |
safe_delete_check |
Verify safe deletion |
validate_edits_preview |
Preview edit errors |
Error Analysis & Security (5 tools)
| Tool |
Purpose |
When to Use |
parse_error_stack |
Parse stack traces |
Debugging errors |
explain_type_error |
Explain TS errors |
Complex type errors |
scan_for_secrets |
Find exposed secrets |
Before commits, in reviews |
get_env_config |
Get env configuration |
Working with env vars |
check_permissions |
Check file permissions |
Deployment issues |
Code Analysis & Diff (3 tools)
| Tool |
Purpose |
When to Use |
get_conventions |
Get project conventions |
Before writing code |
detect_breaking_changes |
Find breaking changes |
Before API changes |
semantic_diff |
Semantic code comparison |
Reviewing changes |
Framework-Specific (3 tools)
| Tool |
Purpose |
When to Use |
get_react_component_tree |
Map React components |
Frontend work |
get_prisma_operations |
Get Prisma operations |
Database work |
analyze_bundle |
Analyze bundle size |
Performance work |
Runtime & Frontend Tools (15+ tools)
| Tool |
Purpose |
start_dev_server |
Start development server |
health_monitor |
Monitor server health |
watch_for_errors |
Watch for runtime errors |
browser_automation |
Automate browser actions |
verify_runtime_behavior |
Verify runtime behavior |
lighthouse_audit |
Run Lighthouse audit |
visual_regression |
Visual regression testing |
analyze_responsive_breakpoints |
Check responsive design |
trace_component_state |
Trace React state |
analyze_render_triggers |
Find render causes |
analyze_layout_hierarchy |
Analyze CSS layout |
diagnose_overflow |
Debug overflow issues |
get_accessibility_tree |
Get a11y tree |
get_sizing_strategy |
Analyze sizing |
analyze_event_flow |
Trace events |
analyze_tailwind_conflicts |
Find CSS conflicts |
Advanced Operations (10+ tools)
| Tool |
Purpose |
retry_with_learning |
Retry with error learning |
resolve_merge_conflict |
Help resolve conflicts |
atomic_multi_edit |
Atomic multi-file edits |
auto_rollback |
Automatic rollback |
validate_api_contract |
Validate API contracts |
profile_function |
Profile performance |
log_analyzer |
Analyze logs |
generate_types |
Generate TypeScript types |
identify_tech_debt |
Find technical debt |
Tool Invocation Patterns
Pattern 1: Schema Check First (MANDATORY)
# WRONG - Never do this
mcp-cli call plugin_goodvibes_goodvibes-tools/detect_stack '{}'
# CORRECT - Always check schema first
mcp-cli info plugin_goodvibes_goodvibes-tools/detect_stack
# Read the schema output
mcp-cli call plugin_goodvibes_goodvibes-tools/detect_stack '{}'
Pattern 2: Parallel Info Calls
When using multiple tools, check all schemas first:
# Check all schemas in parallel
mcp-cli info plugin_goodvibes_goodvibes-tools/detect_stack
mcp-cli info plugin_goodvibes_goodvibes-tools/scan_patterns
mcp-cli info plugin_goodvibes_goodvibes-tools/project_issues
# Then make calls
mcp-cli call plugin_goodvibes_goodvibes-tools/detect_stack '{}'
mcp-cli call plugin_goodvibes_goodvibes-tools/project_issues '{}'
Pattern 3: Skill Loading Workflow
# 1. Find relevant skills
mcp-cli info plugin_goodvibes_goodvibes-tools/recommend_skills
mcp-cli call plugin_goodvibes_goodvibes-tools/recommend_skills '{"task": "implement authentication"}'
# 2. Load the recommended skill
mcp-cli info plugin_goodvibes_goodvibes-tools/get_skill_content
mcp-cli call plugin_goodvibes_goodvibes-tools/get_skill_content '{"skill_path": "webdev/authentication/clerk"}'
Pattern 4: Pre-Edit Validation
# Before making edits, validate they won't cause errors
mcp-cli info plugin_goodvibes_goodvibes-tools/validate_edits_preview
mcp-cli call plugin_goodvibes_goodvibes-tools/validate_edits_preview '{"file": "src/auth.ts", "changes": "..."}'
Pattern 5: Safe Deletion
# Before deleting any symbol, verify it's safe
mcp-cli info plugin_goodvibes_goodvibes-tools/safe_delete_check
mcp-cli call plugin_goodvibes_goodvibes-tools/safe_delete_check '{"symbol": "oldFunction", "file": "src/utils.ts"}'
Agent-Specific Tool Recommendations
Backend Engineer Priority Tools
get_database_schema - Always before DB work
get_api_routes - Understand existing API
get_prisma_operations - When using Prisma
get_implementations - Find service implementations
validate_api_contract - Before API changes
Frontend Architect Priority Tools
get_react_component_tree - Understand component hierarchy
analyze_bundle - Check bundle impact
analyze_tailwind_conflicts - Find CSS issues
get_accessibility_tree - Check a11y
analyze_responsive_breakpoints - Verify responsive design
Test Engineer Priority Tools
find_tests_for_file - Find existing tests
get_test_coverage - Understand coverage gaps
suggest_test_cases - Get test suggestions
validate_edits_preview - Verify test code compiles
run_smoke_test - Quick validation
Code Architect Priority Tools
find_circular_deps - Detect dependency cycles
find_dead_code - Identify unused code
get_api_surface - Understand public APIs
detect_breaking_changes - Before refactoring
get_type_hierarchy - Understand class relationships
DevOps Deployer Priority Tools
analyze_bundle - Check bundle size
scan_for_secrets - Find exposed credentials
get_env_config - Understand env setup
check_permissions - Verify file permissions
run_smoke_test - Pre-deployment validation
Troubleshooting
Tool Not Found
# List all available tools
mcp-cli tools
# Search for tools by keyword
mcp-cli grep "database"
Schema Mismatch
# Always re-check schema if call fails
mcp-cli info plugin_goodvibes_goodvibes-tools/<tool>
Tool Returns Error
- Check schema matches your call
- Verify required parameters
- Check parameter types (strings vs objects)
- Use stdin for complex JSON:
mcp-cli call plugin_goodvibes_goodvibes-tools/<tool> - <<'EOF'
{
"complex": {
"nested": "value"
}
}
EOF
Checklist: Am I Using Tools Correctly?
Before any task:
Before editing:
After editing:
Before deletion:
If you answered "no" to any of these, GO BACK AND USE THE TOOL.