// Test: List all current modes
await use_mcp_tool({
server_name: "modes",
tool_name: "list_modes",
arguments: {}
});
Expected: Returns array of current custom modes Status: ✅ Success
// Test: Create a new test mode
await use_mcp_tool({
server_name: "modes",
tool_name: "create_mode",
arguments: {
slug: "test-mode",
name: "Test Mode",
roleDefinition: "Test mode for validation",
groups: ["read", "edit"],
customInstructions: "Test instructions"
}
});
Expected: Creates new mode and returns success message Status: ✅ Success
// Test: Retrieve the test mode
await use_mcp_tool({
server_name: "modes",
tool_name: "get_mode",
arguments: {
slug: "test-mode"
}
});
Expected: Returns details of test mode Status: ✅ Success
// Test: Update test mode
await use_mcp_tool({
server_name: "modes",
tool_name: "update_mode",
arguments: {
slug: "test-mode",
updates: {
name: "Updated Test Mode",
customInstructions: "Updated test instructions"
}
}
});
Expected: Updates mode and returns success message Status: ✅ Success
// Test: Validate a mode configuration
await use_mcp_tool({
server_name: "modes",
tool_name: "validate_mode",
arguments: {
mode: {
slug: "valid-test",
name: "Valid Test",
roleDefinition: "Valid test mode",
groups: ["read"]
}
}
});
Expected: Returns validation success message Status: ✅ Success
// Test: Delete test mode
await use_mcp_tool({
server_name: "modes",
tool_name: "delete_mode",
arguments: {
slug: "test-mode"
}
});
Expected: Deletes mode and returns success message Status: ✅ Success
// Test: Create mode with invalid slug
await use_mcp_tool({
server_name: "modes",
tool_name: "create_mode",
arguments: {
slug: "Test Mode", // Contains spaces and capitals
name: "Test Mode",
roleDefinition: "Test mode",
groups: ["read"]
}
});
Expected: Returns InvalidParams error Status: ✅ Success
// Test: Get mode that doesn't exist
await use_mcp_tool({
server_name: "modes",
tool_name: "get_mode",
arguments: {
slug: "non-existent"
}
});
Expected: Returns InvalidParams error Status: ✅ Success
// Test: Create mode with invalid group config
await use_mcp_tool({
server_name: "modes",
tool_name: "create_mode",
arguments: {
slug: "invalid-groups",
name: "Invalid Groups",
roleDefinition: "Test mode",
groups: ["invalid-group"]
}
});
Expected: Returns InvalidParams error Status: ✅ Success
- Make change to config file
- Verify server logs change detection Status: ✅ Success
- Verify config file is preserved during updates
- Verify atomic writes for config updates Status: ✅ Success
- Test with 100+ modes in config
- Verify reasonable load times Status: ✅ Success
- Test multiple rapid operations
- Verify file locking prevents corruption Status: ✅ Success
- Verify modes appear in VSCode mode selector
- Verify mode switching works correctly Status: ✅ Success
- Verify file access restrictions work
- Test file pattern matching Status: ✅ Success
- All tests performed on Windows 11
- Node.js version: v20.11.0
- TypeScript version: 5.3.3