Skip to main content
Glama
aegntic

Obsidian Elite RAG MCP Server

test-update-partial-debug.ts3.06 kB
#!/usr/bin/env node /** * Debug test for n8n_update_partial_workflow * Tests the actual update path to identify the issue */ import { config } from 'dotenv'; import { logger } from '../utils/logger'; import { isN8nApiConfigured } from '../config/n8n-api'; import { handleUpdatePartialWorkflow } from '../mcp/handlers-workflow-diff'; import { getN8nApiClient } from '../mcp/handlers-n8n-manager'; // Load environment variables config(); async function testUpdatePartialDebug() { logger.info('Debug test for n8n_update_partial_workflow...'); // Check if API is configured if (!isN8nApiConfigured()) { logger.warn('n8n API not configured. This test requires a real n8n instance.'); logger.info('Set N8N_API_URL and N8N_API_KEY to test.'); return; } const client = getN8nApiClient(); if (!client) { logger.error('Failed to create n8n API client'); return; } try { // First, create a test workflow logger.info('\n=== Creating test workflow ==='); const testWorkflow = { name: `Test Partial Update ${Date.now()}`, nodes: [ { id: '1', name: 'Start', type: 'n8n-nodes-base.start', typeVersion: 1, position: [250, 300] as [number, number], parameters: {} }, { id: '2', name: 'Set', type: 'n8n-nodes-base.set', typeVersion: 3, position: [450, 300] as [number, number], parameters: { mode: 'manual', fields: { values: [ { name: 'message', value: 'Initial value' } ] } } } ], connections: { 'Start': { main: [[{ node: 'Set', type: 'main', index: 0 }]] } }, settings: { executionOrder: 'v1' as 'v1' } }; const createdWorkflow = await client.createWorkflow(testWorkflow); logger.info('Created workflow:', { id: createdWorkflow.id, name: createdWorkflow.name }); // Now test partial update WITHOUT validateOnly logger.info('\n=== Testing partial update (NO validateOnly) ==='); const updateRequest = { id: createdWorkflow.id!, operations: [ { type: 'updateName', name: 'Updated via Partial Update' } ] // Note: NO validateOnly flag }; logger.info('Update request:', JSON.stringify(updateRequest, null, 2)); const result = await handleUpdatePartialWorkflow(updateRequest); logger.info('Update result:', JSON.stringify(result, null, 2)); // Cleanup - delete test workflow if (createdWorkflow.id) { logger.info('\n=== Cleanup ==='); await client.deleteWorkflow(createdWorkflow.id); logger.info('Deleted test workflow'); } } catch (error) { logger.error('Test failed:', error); } } // Run test testUpdatePartialDebug().catch(error => { logger.error('Unhandled error:', error); process.exit(1); });

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/aegntic/aegntic-MCP'

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