Skip to main content
Glama

create-variable

Create variables in n8n to store and share data across workflows, requiring an Enterprise license with variable management enabled.

Instructions

Create a new variable in n8n. NOTE: Requires n8n Enterprise license with variable management features enabled. Variables can be used across workflows to store and share data. IMPORTANT: Arguments must be provided as compact, single-line JSON without whitespace or newlines.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
clientIdYes
keyYes
valueYes

Implementation Reference

  • src/index.ts:627-638 (registration)
    Registration of the 'create-variable' tool in the listTools response, including name, description, and input schema.
      name: "create-variable",
      description: "Create a new variable in n8n. NOTE: Requires n8n Enterprise license with variable management features enabled. Variables can be used across workflows to store and share data. IMPORTANT: Arguments must be provided as compact, single-line JSON without whitespace or newlines.",
      inputSchema: {
        type: "object",
        properties: {
          clientId: { type: "string" },
          key: { type: "string" },
          value: { type: "string" }
        },
        required: ["clientId", "key", "value"]
      }
    },
  • Input schema definition for the 'create-variable' tool.
      name: "create-variable",
      description: "Create a new variable in n8n. NOTE: Requires n8n Enterprise license with variable management features enabled. Variables can be used across workflows to store and share data. IMPORTANT: Arguments must be provided as compact, single-line JSON without whitespace or newlines.",
      inputSchema: {
        type: "object",
        properties: {
          clientId: { type: "string" },
          key: { type: "string" },
          value: { type: "string" }
        },
        required: ["clientId", "key", "value"]
      }
    },
  • Main handler for executing the 'create-variable' tool: validates clientId, retrieves N8nClient instance, calls createVariable method, handles success/error responses.
    case "create-variable": {
      const { clientId, key, value } = args as { clientId: string; key: string; value: string };
      const client = clients.get(clientId);
      if (!client) {
        return {
          content: [{
            type: "text",
            text: "Client not initialized. Please run init-n8n first.",
          }],
          isError: true
        };
      }
    
      try {
        await client.createVariable(key, value);
        return {
          content: [{
            type: "text",
            text: `Successfully created variable with key: ${key}`,
          }]
        };
      } catch (error) {
        return {
          content: [{
            type: "text",
            text: error instanceof Error ? error.message : "Unknown error occurred",
          }],
          isError: true
        };
      }
    }
  • N8nClient helper method that performs the actual API POST request to create a variable in n8n.
    async createVariable(key: string, value: string): Promise<void> {
      return this.makeRequest<void>('/variables', {
        method: 'POST',
        body: JSON.stringify({ key, value }),
      });
    }
  • Type definition for N8nVariable used in variable management.
    interface N8nVariable {
      id: string;
      key: string;
      value: string;
      type?: string;
    }

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/illuminaresolutions/n8n-mcp-server'

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