This document provides step-by-step instructions for an LLM to systematically test all 21 Codehooks MCP tools. Follow these phases sequentially to ensure comprehensive testing.
- Codehooks MCP server must be running and connected
- Use
mcp_codehooks_*tool names (they all start with this prefix) - Test in a clean environment or use test collections to avoid affecting production data
Purpose: Verify basic connectivity and information retrieval
-
Test
docstool:mcp_codehooks_docs(topic="overview") mcp_codehooks_docs(topic="chatgpt-prompt") mcp_codehooks_docs(topic="workflow-api") mcp_codehooks_docs(topic="examples") -
Test
collectiontool:mcp_codehooks_collection(json=true) mcp_codehooks_collection(sys=true) -
Test
logstool:mcp_codehooks_logs(tail=10)
Expected Results: All tools return proper documentation, collection lists, and recent logs.
Purpose: Test collection lifecycle operations
-
Create test collection:
mcp_codehooks_create_collection(collection="test_systematic") -
Add index:
mcp_codehooks_create_index(collection="test_systematic", index="name") -
Verify collection exists:
mcp_codehooks_collection(json=true)
Expected Results: Collection created successfully, index added, appears in collection list.
Purpose: Test data import, querying, and export
-
Import test data:
mcp_codehooks_import( collection="test_systematic", content='[{"name":"Alice","role":"Developer","level":5},{"name":"Bob","role":"Designer","level":3},{"name":"Charlie","role":"Manager","level":7}]' ) -
Query data:
mcp_codehooks_query_collection(collection="test_systematic") mcp_codehooks_query_collection(collection="test_systematic", query='{"level":{"$gte":5}}') mcp_codehooks_query_collection(collection="test_systematic", limit=2) mcp_codehooks_query_collection(collection="test_systematic", sort="level", reverse=true) -
Count records:
mcp_codehooks_query_collection(collection="test_systematic", count=true) -
Export data:
mcp_codehooks_export(collection="test_systematic") mcp_codehooks_export(collection="test_systematic", csv=true) mcp_codehooks_export(collection="test_systematic", jsonl=true)
Expected Results: Data imported, queries return filtered results, exports work in all formats.
Purpose: Test KV store functionality
-
Set key-value pairs:
mcp_codehooks_kv_set(key="test_string", val="Hello World") mcp_codehooks_kv_set(key="test_json", val='{"name":"test","value":123}') mcp_codehooks_kv_set(key="test_ttl", val="expires_soon", ttl=60000) -
Get values:
mcp_codehooks_kv_get(key="test_string") mcp_codehooks_kv_get(key="test_json") mcp_codehooks_kv_get(key="test*") -
Delete keys:
mcp_codehooks_kv_del(key="test_ttl")
Expected Results: Values stored and retrieved correctly, pattern matching works, TTL set properly.
Purpose: Test file upload, listing, and deletion
-
Upload test file:
mcp_codehooks_file_upload( target="test_file.txt", content="This is a test file for MCP testing." ) -
List files:
mcp_codehooks_file_list() -
Test delete with dryrun:
mcp_codehooks_file_delete(filename="test_file.txt", dryrun=true) -
Actually delete file:
mcp_codehooks_file_delete(filename="test_file.txt")
Expected Results: File uploaded, appears in listing, dryrun shows what would be deleted, actual deletion removes file.
Purpose: Test schema validation and collection capping
-
Add JSON schema:
mcp_codehooks_add_schema( collection="test_systematic", schema='{"type":"object","properties":{"name":{"type":"string","minLength":2},"role":{"type":"string"},"level":{"type":"number","minimum":1,"maximum":10}},"required":["name","role","level"]}' ) -
Verify schema blocks invalid data (should fail):
mcp_codehooks_import( collection="test_systematic", content='[{"name":"X","role":"Invalid","level":15}]' ) -
Cap collection:
mcp_codehooks_cap_collection(collection="test_systematic", cap=5) -
Verify collection info:
mcp_codehooks_collection(json=true)
Expected Results: Schema added, invalid data rejected, collection capped at 5 documents.
Purpose: Test update functionality and complex queries
mcp_codehooks_remove_schema(collection="test_systematic")
-
Test direct updates:
mcp_codehooks_query_collection( collection="test_systematic", query='{"name":"Alice"}', update='{"level":6}' ) -
Test $set syntax updates:
mcp_codehooks_query_collection( collection="test_systematic", query='{"name":"Bob"}', update='{"$set":{"level":8,"department":"Design"}}' ) -
Verify updates worked:
mcp_codehooks_query_collection(collection="test_systematic")
Expected Results: Both update syntaxes work, fields updated correctly.
Purpose: Test application deployment
-
Deploy test application:
mcp_codehooks_deploy_code( files=[{ "path": "index.js", "content": "import { app } from 'codehooks-js';\n\napp.get('/test-deployment', (req, res) => {\n res.json({ message: 'Test successful!', timestamp: new Date().toISOString() });\n});\n\napp.crudlify();\n\nexport default app.init();" }] ) -
Verify deployment:
mcp_codehooks_query_collection(collection="_hooks", limit=1, reverse=true, sort="_id")
Expected Results: Code deployed successfully, new endpoint appears in hooks metadata.
Purpose: Test remaining tools and cleanup
-
Test remaining tools:
mcp_codehooks_drop_index(collection="test_systematic", index="name") mcp_codehooks_uncap_collection(collection="test_systematic") -
Cleanup test data:
mcp_codehooks_query_collection(collection="test_systematic", delete=true) mcp_codehooks_drop_collection(collection="test_systematic") -
Clean up KV store:
mcp_codehooks_kv_del(key="test_string") mcp_codehooks_kv_del(key="test_json")
Expected Results: All cleanup operations succeed, test data removed.
- Cause: JSON schema validation blocking updates
- Solution: Remove schema with
mcp_codehooks_remove_schema()before testing updates
- Expected: Schema should reject data that doesn't match validation rules
- Test: Try inserting invalid data to confirm validation works
- Note: Use
dryrun=truefirst to see what would be deleted - Path: Files are uploaded to project file storage, not local filesystem
- Remember: Logs only show actual API calls to deployed endpoints
- MCP tools: Direct database operations don't appear in logs
✅ All 21 tools execute without errors ✅ Data operations work correctly (CRUD, import/export) ✅ Schema validation functions properly ✅ File operations complete successfully ✅ KV store operations work with TTL ✅ Code deployment succeeds ✅ Update operations work with both syntaxes ✅ Advanced queries with MongoDB operators function ✅ Collection management tools work ✅ Documentation tools return proper content
Ensure you've tested all 21 tools:
- query_collection
- deploy_code
- file_upload
- file_delete
- file_list
- create_index
- drop_index
- create_collection
- drop_collection
- add_schema
- remove_schema
- cap_collection
- uncap_collection
- import
- export
- kv_get
- kv_set
- kv_del
- logs
- docs
- collection
- Execute phases sequentially - later phases depend on earlier setup
- Pay attention to error messages - they often indicate expected behavior
- Schema validation is a feature, not a bug - test both valid and invalid data
- Always clean up test data when finished
- If any tool fails unexpectedly, check recent logs for error details