MCP Development AI - Test Checklist
Step-by-step verification that MCP server is working
MCP Development AI - Test Checklist
Current Status
Latest Test Results (Session 14):
# Test Results Summary
✅ Test 1: MCP Server Loaded - PASSED
✅ Test 2: get_stats (Read-Only) - PASSED
✅ Test 3: log_decision (Write) - PASSED
✅ Test 4: Local Storage Verification - PASSED
✅ Test 5: MongoDB Sync - PASSED
✅ Test 6: find_similar - PASSED
✅ Test 7: add_convention - PASSED
✅ Test 8: Updated Stats - PASSED
✅ Bonus: report_outcome - PASSED
# Current Data
✅ Local decisions: 2
✅ Conventions: 1
✅ MongoDB decisions: 2 (synced)
✅ Success rate tracking: Working
Enhancements Added (v1.1.0):
- ✅
list_decisions- View all decisions - ✅
delete_decision- Remove specific decisions - ✅
sync_to_mongo- Manual MongoDB sync - ✅
clear_all_data- Reset all data (with confirmation) - ✅ Automatic startup sync to MongoDB
- ✅ Improved find_similar scoring algorithm
Test Plan
⚠️ CRITICAL FIRST STEP
You MUST restart Cursor for MCP changes to take effect!
- Close ALL Cursor windows
- Quit Cursor completely (Cmd+Q)
- Reopen Cursor
- Open this workspace
Why: Cursor only reads .cursor/mcp.json on startup
Test 1: Verify MCP Server is Loaded
In a NEW chat with Claude, ask:
Can you list all available MCP tools?
Expected: Should mention gograb-development-ai server or show tools like:
log_decision- Log development decisionsfind_similar- Find similar past decisionsget_conventions- Get learned conventionsadd_convention- Add new conventionsreport_outcome- Report decision outcomesget_stats- Get learning statisticslist_decisions- List all decisions (NEW v1.1.0)delete_decision- Delete a decision (NEW v1.1.0)sync_to_mongo- Sync to MongoDB (NEW v1.1.0)clear_all_data- Reset all data (NEW v1.1.0)
If NO: Cursor didn't load the MCP config → Check Cursor's Developer Tools (Help → Toggle Developer Tools) for errors
Test 2: Get Stats (Read-Only Test)
Ask Claude:
Use the get_stats MCP tool from gograb-development-ai
Expected Response:
{
"totalDecisions": 1,
"successRate": 0,
"conventionCount": 0,
"patternCount": 0,
"recentDecisions": 1
}
Verify:
# Check local storage matches
cat .cursor/ai-memory/development-memory.json | jq .metadata
Test 3: Log a Decision (Write Test)
Ask Claude:
Use the log_decision MCP tool to record this:
Type: "convention"
Question: "How should we inject services in Angular?"
Options: ["inject() function", "constructor injection"]
Chosen: "inject() function"
Reasoning: "CLAUDE.md specifies using inject() per ESLint rule @angular-eslint/prefer-inject"
Confidence: 1.0
Task: "MCP verification test"
Expected: Decision ID returned (e.g., dev_1765380000000_abc123)
Test 4: Verify Local Storage
# Should show 2 decisions now
cat .cursor/ai-memory/development-memory.json | jq '.decisions | length'
# View latest decision
cat .cursor/ai-memory/development-memory.json | jq '.decisions[-1]'
Expected:
- 2 decisions total
- Latest decision matches what you logged
- Reasoning includes "CLAUDE.md" and "inject()"
Test 5: Verify MongoDB Sync
# Check MongoDB
node tools/mcp-development-ai/check-mongo.js
Expected:
📊 Database: ai-mcp-dev (Tier 1 - MCP Development AI)
Collections: decisions
✅ decisions: 2 documents
Latest decision: { ... inject() function ... }
If 0 documents: MongoDB sync isn't working (but local storage is fine - system still works!)
Test 6: Find Similar Decisions
Ask Claude:
Use the find_similar MCP tool to search for "inject service"
Expected: Should return the decision you just logged about inject()
Test 7: Add a Convention
Ask Claude:
Use the add_convention MCP tool:
Category: "angular"
Rule: "Always use inject() function instead of constructor injection"
Examples: ["private readonly http = inject(HttpClient);"]
Source: "CLAUDE.md"
Expected: Convention ID returned
Verify:
cat .cursor/ai-memory/development-memory.json | jq .conventions
Test 8: Get Updated Stats
Ask Claude:
Use get_stats again
Expected:
{
"totalDecisions": 2,
"successRate": 0,
"conventionCount": 1,
"patternCount": 0,
"recentDecisions": 2
}
Troubleshooting
"MCP tools not available"
Problem: Cursor didn't load the server
Solutions:
- Verify
.cursor/mcp.jsonsyntax (must be valid JSON) - Check path to
dist/server.jsis absolute and correct - Open Cursor Developer Tools (Help → Toggle Developer Tools)
- Look for MCP errors in Console
- Try restarting Cursor again
Verify:
# Check config syntax
cat .cursor/mcp.json | jq .
# Check server exists
ls -la tools/mcp-development-ai/dist/server.js
# Test server directly
node tools/mcp-development-ai/dist/server.js
# Should output: "🧠 Starting GoGrab Development AI MCP Server..."
"Tool call succeeds but no data in MongoDB"
Problem: MongoDB sync failing silently
This is OK! The MCP server works fine with local storage only. MongoDB is optional backup.
To debug MongoDB sync:
- Check connection string in
.cursor/mcp.jsonenv - Test connection:
node tools/mcp-development-ai/check-mongo.js - Check MCP server logs in Cursor Developer Tools
"Local storage empty"
Problem: File not being created
Check:
# Should auto-create on first use
ls -la .cursor/ai-memory/
# If missing, create manually
mkdir -p .cursor/ai-memory
Note: File is created on first log_decision call
Success Criteria
✅ Minimum (Local Only):
- MCP tools are callable from Cursor
get_statsreturns datalog_decisioncreates local filefind_similarfinds logged decisions- Local storage file has content
✅ Ideal (With MongoDB):
- All of the above PLUS
- MongoDB
ai-mcp-dev.decisionshas documents check-mongo.jsshows matching data
What to Expect
During Normal Use
Claude should automatically:
- Call
find_similarbefore making decisions - Call
log_decisionafter significant choices - Call
add_conventionwhen discovering patterns
Example natural flow:
You: "Add a new service for handling notifications"
Claude: "Let me check similar decisions first..."
[Calls find_similar("service creation angular")]
Claude: "Based on past decisions, I'll use inject() and..."
[Creates service]
Claude: "Logging this decision for future reference..."
[Calls log_decision with reasoning]
Quick Verification Commands
# 1. Check MCP config
cat .cursor/mcp.json | jq .
# 2. Check local storage
cat .cursor/ai-memory/development-memory.json | jq '.metadata'
# 3. Check MongoDB
node tools/mcp-development-ai/check-mongo.js
# 4. View recent decisions
cat .cursor/ai-memory/development-memory.json | jq '.decisions[-3:]'
# 5. Count everything
echo "Local decisions: $(cat .cursor/ai-memory/development-memory.json | jq '.decisions | length')"
echo "Conventions: $(cat .cursor/ai-memory/development-memory.json | jq '.conventions | length')"
Files to Monitor
.cursor/mcp.json ← MCP configuration
.cursor/ai-memory/development-memory.json ← Local storage
tools/mcp-development-ai/dist/server.js ← MCP server
tools/mcp-development-ai/check-mongo.js ← MongoDB checker
New Tools (v1.1.0)
list_decisions - View All Decisions
Ask Claude:
Use the list_decisions MCP tool to show my recent decisions
Expected: Returns list of decisions with id, type, question, chosen, confidence.
sync_to_mongo - Manual MongoDB Sync
Ask Claude:
Use the sync_to_mongo MCP tool to sync local decisions to MongoDB
Expected: Returns sync count and status.
delete_decision - Remove a Decision
Ask Claude:
Use the delete_decision MCP tool to remove decision ID: [decision_id]
Note: Use with caution - removes learning data.
Created: December 10, 2025
Session: 14 (enhanced from session 13)
Status: ✅ All Tests Passed + Enhancements Added
Version: 1.1.0
Note: After rebuilding MCP server, restart Cursor to load new tools!