Skip to main content
Glama
maksdizzy

Camunda Engine MCP Server

by maksdizzy
README.md
# ๐Ÿญ Camunda Engine MCP Server

[![Production Ready](https://img.shields.io/badge/Production-Ready-green.svg)](PRODUCTION_READINESS_REPORT.md)
[![Docker](https://img.shields.io/badge/Docker-Supported-blue.svg)](https://hub.docker.com)
[![MCP](https://img.shields.io/badge/MCP-Compatible-purple.svg)](https://modelcontextprotocol.io)
[![Camunda](https://img.shields.io/badge/Camunda-7.19+-orange.svg)](https://camunda.com)

A **Model Context Protocol (MCP) server** that enables AI assistants to interact with **Camunda Platform** workflow engine. Provides **21 specialized tools** for complete workflow automation and process management.

**โœ… PRODUCTION READY** - Fully tested, containerized, and ready for deployment.

## ๐Ÿš€ Quick Start

### 1. Start the Server
```bash
git clone <repo-url>
cd camunda-engine-mcp
docker-compose up -d
```

### 2. Configure Claude Desktop
Add to your Claude Desktop MCP settings:

```json
{
  "mcpServers": {
    "camunda": {
      "command": "docker",
      "args": [
        "exec", "-i",
        "-e", "CAMUNDA_BASE_URL=https://your-camunda-instance.com/engine-rest",
        "-e", "CAMUNDA_USERNAME=your-username",
        "-e", "CAMUNDA_PASSWORD=your-password",
        "camunda-mcp-server",
        "node", "build/index.js"
      ]
    }
  }
}
```

### 3. Restart Claude Desktop
Completely close and restart Claude Desktop to load the MCP server.

### 4. Test Connection
Try these commands in Claude Desktop:
```
Show me all available processes in Camunda
```
```
Get the list of current tasks from Camunda
```
```
Deploy BPMN from file /workspace/bpmn/simple-process.bpmn
```

## ๐ŸŽฏ Features

- **21 MCP Tools** for complete Camunda workflow management
- **Process Management** - Deploy, start, monitor BPMN processes
- **Task Management** - Handle user tasks and forms
- **Large File Support** - Deploy big BPMN files via file paths
- **Production Ready** - Docker, monitoring, health checks
- **Real-time Integration** - Direct connection to live Camunda instances

## ๐Ÿ“ File Deployment

For large BPMN/form files, place them in directories:
```bash
./bpmn-files/your-process.bpmn    # โ†’ /workspace/bpmn/your-process.bpmn
./forms/your-form.form            # โ†’ /workspace/forms/your-form.form
```

Then use file paths instead of content:
```
Deploy BPMN from file /workspace/bpmn/your-process.bpmn
```

## ๐Ÿ“š Documentation

- **[Setup Guide](SETUP_GUIDE.md)** - Detailed configuration and all 21 tools
- **[Troubleshooting](TROUBLESHOOTING.md)** - Common issues and solutions
- **[Testing Guide](TESTING_GUIDE.md)** - Comprehensive testing framework
- **[Production Report](PRODUCTION_READINESS_REPORT.md)** - Production readiness details

## ๐Ÿ”ง Environment Variables

```bash
CAMUNDA_BASE_URL=https://your-camunda-instance.com/engine-rest
CAMUNDA_USERNAME=your-username
CAMUNDA_PASSWORD=your-password
```

## ๐Ÿงช Health Check

```bash
docker exec camunda-mcp-server npm run health-check
```

## ๐Ÿ“ž Support

- **Issues**: Check [Troubleshooting Guide](TROUBLESHOOTING.md)
- **Setup**: See [Setup Guide](SETUP_GUIDE.md)
- **Testing**: Run `npm run health-check`

---

**Ready to automate your workflows with AI? Start with the Quick Start above!** ๐Ÿš€

TDQS

B3.4/5.0

Scored across 21 tools

Disambiguation5/5

Each tool targets a distinct operation (e.g., deployment, process instance, task, variable, form) with clear boundaries. Overlapping purposes like startProcessInstance and submitStartForm are differentiated by direct vs. form-based start.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in camelCase (e.g., deployBpmn, getTasks, completeTask). No mixing of styles or irregular abbreviations.

Tool Count5/5

21 tools appropriately cover a BPM engine's core operations without being excessive. The count is well-scoped for the domain's complexity.

Completeness5/5

The tool surface provides CRUD operations for deployments, process instances, tasks, and variables, plus form handling and incident querying. No obvious gaps for typical lifecycle management.

Maintenance

ActivityInactive
ResponsivenessNo issues