Skip to main content
Glama

todoist_test_all_features

Run comprehensive tests to verify Todoist MCP functionality, including task and project management features, with basic or enhanced testing modes.

Instructions

Run comprehensive tests on all Todoist MCP features to verify functionality

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoTest mode: 'basic' for read-only API tests, 'enhanced' for full CRUD testing (default: basic)basic

Implementation Reference

  • Primary handler function that executes the todoist_test_all_features tool. Runs basic read-only tests on all features or delegates to enhanced tests based on input mode.
    export async function handleTestAllFeatures( todoistClient: TodoistApi, args?: { mode?: "basic" | "enhanced" } ): Promise<ComprehensiveTestResult | unknown> { // Use enhanced testing if requested if (args?.mode === "enhanced") { const { handleTestAllFeaturesEnhanced } = await import( "./test-handlers-enhanced/index.js" ); return handleTestAllFeaturesEnhanced(todoistClient); } // Default to basic testing const results: FeatureTestResult[] = []; // Test each feature results.push(await testTaskOperations(todoistClient)); results.push(await testProjectOperations(todoistClient)); results.push(await testLabelOperations(todoistClient)); results.push(await testSectionOperations(todoistClient)); results.push(await testCommentOperations(todoistClient)); return formatTestResults(results); }
  • Tool definition and input schema specifying the optional 'mode' parameter for basic or enhanced testing.
    export const TEST_ALL_FEATURES_TOOL: Tool = { name: "todoist_test_all_features", description: "Run comprehensive tests on all Todoist MCP features to verify functionality", inputSchema: { type: "object", properties: { mode: { type: "string", enum: ["basic", "enhanced"], description: "Test mode: 'basic' for read-only API tests, 'enhanced' for full CRUD testing (default: basic)", default: "basic", }, }, }, };
  • src/index.ts:355-361 (registration)
    Dispatching registration in the main CallToolRequestSchema handler switch statement, invoking the specific handler.
    case "todoist_test_all_features": const featuresResult = await handleTestAllFeatures( apiClient, args as { mode?: "basic" | "enhanced" } ); result = JSON.stringify(featuresResult, null, 2); break;
  • Tool registration by including TEST_TOOLS (containing todoist_test_all_features) in the ALL_TOOLS array exported for ListToolsRequestSchema.
    export const ALL_TOOLS = [ ...TASK_TOOLS, ...PROJECT_TOOLS, ...COMMENT_TOOLS, ...LABEL_TOOLS, ...SUBTASK_TOOLS, ...TEST_TOOLS, ];
  • Enhanced mode handler for comprehensive CRUD tests, called dynamically by the primary handler when mode='enhanced'. Orchestrates multiple test suites.
    export async function handleTestAllFeaturesEnhanced( todoistClient: TodoistApi ): Promise<ComprehensiveTestReport> { const testStartTime = Date.now(); const suites: TestSuite[] = []; // Run all test suites suites.push(await testTaskOperations(todoistClient)); suites.push(await testSubtaskOperations(todoistClient)); suites.push(await testLabelOperations(todoistClient)); suites.push(await testBulkOperations(todoistClient)); // Calculate totals const totalTests = suites.reduce((sum, suite) => sum + suite.tests.length, 0); const passed = suites.reduce((sum, suite) => sum + suite.passed, 0); const failed = suites.reduce((sum, suite) => sum + suite.failed, 0); const skipped = suites.reduce((sum, suite) => sum + suite.skipped, 0); const totalResponseTime = suites.reduce( (sum, suite) => sum + suite.totalTime, 0 ); return { overallStatus: failed === 0 ? "success" : passed > 0 ? "partial" : "error", totalTests, passed, failed, skipped, suites, totalResponseTime, timestamp: new Date().toISOString(), testDuration: Date.now() - testStartTime, }; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/greirson/mcp-todoist'

If you have feedback or need assistance with the MCP directory API, please join our Discord server