Back to Directory/Developer Tools

io.github.abahocodes/llmgraph

Invoke deployed LLMGraph no-code LLM workflows (chat, RAG, automations) as MCP tools.

Developer ToolsJavaScriptv0.1.1

@llmgraph/mcp-server

A Model Context Protocol (MCP) server that exposes your LLMGraph workflow deployments as MCP tools. Connect it to Claude Desktop, Claude Code, Cursor, or any other MCP client, and your assistant can invoke the workflows you built and deployed on LLMGraph.

Each configured deployment becomes one MCP tool. The server runs over stdio and is designed to be launched with npx, so there is nothing to install permanently.

Prerequisites

  • Node.js 18 or newer
  • A deployed LLMGraph workflow: copy the deployment endpoint URL (shaped like https://llmgraph.ai/api/<graph_id>/<environment>) and an API key from the LLMGraph dashboard

Configuration

All configuration is via environment variables.

Single deployment (simple path)

VariableRequiredDescription
LLMGRAPH_ENDPOINTyesFull deployment endpoint URL copied from the dashboard
LLMGRAPH_API_KEYyesSecret API key for the deployment
LLMGRAPH_TOOL_NAMEnoTool name shown to the client (default: invoke_workflow)
LLMGRAPH_TOOL_DESCRIPTIONnoTool description shown to the model
LLMGRAPH_SCHEMA_MODEnoinput (default) or chat, see below
LLMGRAPH_TIMEOUT_MSnoRequest timeout in milliseconds, positive integer (default: 180000). Applies in both single and multiple deployment modes.

Multiple deployments (advanced path)

Set LLMGRAPH_DEPLOYMENTS to a JSON array; each entry becomes one tool. When set, it takes precedence over the single-deployment variables.

[
  {
    "name": "summarize_document",
    "description": "Summarizes a document with the LLMGraph summarizer workflow",
    "endpoint": "https://llmgraph.ai/api/abc123/production",
    "apiKey": "your-api-key"
  },
  {
    "name": "support_bot",
    "description": "Asks the support assistant workflow a question",
    "endpoint": "https://llmgraph.ai/api/def456/production",
    "apiKey": "your-other-api-key",
    "inputSchema": "chat"
  }
]

Schema modes

  • input (default): the tool takes { "input": <object> } and the object is passed through unchanged as the POST body, so it works with any workflow input shape.
  • chat: for chat-style workflows. The tool takes { "user_input": <string>, "history": [{"role": "user"|"assistant", "content": <string>}] } (history optional) and sends it in the shape chat workflows expect.

Client setup

Claude Desktop

Add to claude_desktop_config.json (Settings, Developer, Edit Config):

{
  "mcpServers": {
    "llmgraph": {
      "command": "npx",
      "args": ["-y", "@llmgraph/mcp-server"],
      "env": {
        "LLMGRAPH_ENDPOINT": "https://llmgraph.ai/api/abc123/production",
        "LLMGRAPH_API_KEY": "your-api-key",
        "LLMGRAPH_TOOL_NAME": "summarize_document",
        "LLMGRAPH_TOOL_DESCRIPTION": "Summarizes a document with my LLMGraph workflow"
      }
    }
  }
}

Restart Claude Desktop and the tool appears in the tools menu.

Claude Code

claude mcp add llmgraph \
  --env LLMGRAPH_ENDPOINT=https://llmgraph.ai/api/abc123/production \
  --env LLMGRAPH_API_KEY=your-api-key \
  -- npx -y @llmgraph/mcp-server

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in your project):

{
  "mcpServers": {
    "llmgraph": {
      "command": "npx",
      "args": ["-y", "@llmgraph/mcp-server"],
      "env": {
        "LLMGRAPH_ENDPOINT": "https://llmgraph.ai/api/abc123/production",
        "LLMGRAPH_API_KEY": "your-api-key"
      }
    }
  }
}

Error handling

Non-200 responses from the LLMGraph API are returned to the client as MCP tool errors carrying the API's error message:

StatusMeaning
400invalid request body
401missing or invalid API key
402subscription blocked
403API disabled or origin not allowed
404unknown deployment or wrong API key
422workflow run failed
429rate or budget limited
504workflow timed out

Security notes

  • LLMGraph API keys are secrets for server-side use. This server sends the key only as the x-api-key header of requests to your configured endpoint, and never writes it to stdout, stderr, or error messages.
  • Client config files like claude_desktop_config.json store the key in plain text on your machine; treat them accordingly.

Development

npm install
npm run build   # compiles TypeScript to dist/
npm test        # builds, then runs unit tests (node --test), no network calls

License

MIT, see LICENSE.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @llmgraph/mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-abahocodes-llmgraph": {
      "command": "npx",
      "args": [
        "-y",
        "@llmgraph/mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@llmgraph/mcp-servernpm

Compatible MCP Clients

io.github.abahocodes/llmgraph works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More