Skip to main content
Glama

n8n-workflow-builder-mcp

by ifmelate
workflowStorage.js2.87 kB
/** * Workflow Storage Tools * * Tools for saving, loading, and managing workflow files */ const { v4: uuidv4 } = require('uuid'); const { logger } = require('../utils/logger'); /** * Save a workflow to storage * * @param {Object} params - Save parameters * @param {string} params.workflowId - ID of the workflow to save * @param {Object} params.workflowData - Workflow data to save * @returns {Object} Save operation result */ const saveWorkflowExecute = async (params) => { const { workflowId, workflowData } = params; logger.info(`Saving workflow ${workflowId}`); // Mock implementation return { success: true, workflowId, filePath: `/path/to/workflows/${workflowId}.json` }; }; /** * Load a workflow from storage * * @param {Object} params - Load parameters * @param {string} params.workflowId - ID of the workflow to load * @returns {Object} Load operation result with workflow data */ const loadWorkflowExecute = async (params) => { const { workflowId } = params; logger.info(`Loading workflow ${workflowId}`); // Mock implementation return { workflowId, workflowData: { id: workflowId, name: 'Mock Workflow', nodes: [], connections: {} } }; }; /** * List available workflows * * @param {Object} params - List parameters * @param {number} [params.limit] - Maximum number of workflows to return * @param {number} [params.offset] - Number of workflows to skip * @returns {Object} List of workflows */ const listWorkflowsExecute = async (params) => { const { limit = 10, offset = 0 } = params; logger.info(`Listing workflows (limit: ${limit}, offset: ${offset})`); // Mock implementation return { workflows: [ { id: 'wf1', name: 'Mock Workflow 1', path: '/path/to/workflows/wf1.json', lastModified: new Date().toISOString() }, { id: 'wf2', name: 'Mock Workflow 2', path: '/path/to/workflows/wf2.json', lastModified: new Date().toISOString() } ], total: 2 }; }; /** * Delete a workflow * * @param {Object} params - Delete parameters * @param {string} params.workflowId - ID of the workflow to delete * @returns {Object} Delete operation result */ const deleteWorkflowExecute = async (params) => { const { workflowId } = params; logger.info(`Deleting workflow ${workflowId}`); // Mock implementation return { success: true, workflowId, deletedPath: `/path/to/workflows/${workflowId}.json` }; }; module.exports = { saveWorkflowExecute, loadWorkflowExecute, listWorkflowsExecute, deleteWorkflowExecute };

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/ifmelate/n8n-workflow-builder-mcp'

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