@llmgraph/mcp-server
Exposes your LLMGraph workflow deployments as MCP tools, allowing AI assistants to invoke them via natural language.
README
@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)
| Variable | Required | Description |
|---|---|---|
LLMGRAPH_ENDPOINT |
yes | Full deployment endpoint URL copied from the dashboard |
LLMGRAPH_API_KEY |
yes | Secret API key for the deployment |
LLMGRAPH_TOOL_NAME |
no | Tool name shown to the client (default: invoke_workflow) |
LLMGRAPH_TOOL_DESCRIPTION |
no | Tool description shown to the model |
LLMGRAPH_SCHEMA_MODE |
no | input (default) or chat, see below |
LLMGRAPH_TIMEOUT_MS |
no | Request 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:
| Status | Meaning |
|---|---|
| 400 | invalid request body |
| 401 | missing or invalid API key |
| 402 | subscription blocked |
| 403 | API disabled or origin not allowed |
| 404 | unknown deployment or wrong API key |
| 422 | workflow run failed |
| 429 | rate or budget limited |
| 504 | workflow timed out |
Security notes
- LLMGraph API keys are secrets for server-side use. This server sends the key only as the
x-api-keyheader of requests to your configured endpoint, and never writes it to stdout, stderr, or error messages. - Client config files like
claude_desktop_config.jsonstore 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.