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):


Test Plan

⚠️ CRITICAL FIRST STEP

You MUST restart Cursor for MCP changes to take effect!

  1. Close ALL Cursor windows
  2. Quit Cursor completely (Cmd+Q)
  3. Reopen Cursor
  4. 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:

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:


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:

  1. Verify .cursor/mcp.json syntax (must be valid JSON)
  2. Check path to dist/server.js is absolute and correct
  3. Open Cursor Developer Tools (Help → Toggle Developer Tools)
  4. Look for MCP errors in Console
  5. 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:

  1. Check connection string in .cursor/mcp.json env
  2. Test connection: node tools/mcp-development-ai/check-mongo.js
  3. 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):

✅ Ideal (With MongoDB):


What to Expect

During Normal Use

Claude should automatically:

  1. Call find_similar before making decisions
  2. Call log_decision after significant choices
  3. Call add_convention when 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!