io.github.abahocodes/llmgraph
Invoke deployed LLMGraph no-code LLM workflows (chat, RAG, automations) as MCP tools.
Open source Open in the app JSON README (API)
About
Invoke deployed LLMGraph no-code LLM workflows (chat, RAG, automations) as MCP tools.
Details
- Kind
- MCP servers
- Topic
- AI, RAG & memory
- Publisher
- abahocodes
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.1
- Last push
- 2026-07-15T02:00:40Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-08-29 03:02:22
- Updated
- 2026-08-29 03:02:22
- Origin id
io.github.abahocodes/llmgraph
README
# @llmgraph/mcp-server
A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that exposes your [LLMGraph](https://llmgraph.ai) 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.
```json
[
{
"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):
```json
{
"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
```bash
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):
```json
{
"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-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
```bash
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](LICENSE).