Skip to main content

Camunda (7 & 8) API + MCP Server + A2A Server for Agentic AI!

Project description

Camunda Mcp

API | MCP Server | A2A Agent

PyPI - Version MCP Server PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Camunda (7 & 8) process automation API + MCP Server + A2A Agent for the agent-utilities ecosystem.

Version: 0.5.0

Documentation — Installation, deployment, usage across the API, CLI, and MCP interfaces, and guidance for provisioning the Camunda platform are maintained in the official documentation.

camunda-mcp wraps the Camunda process automation APIs with thin, deterministic MCP tools, targeting both platforms from a single server: the Camunda 7 Engine REST API and the Camunda 8 Zeebe / Operate / Tasklist REST APIs. It additionally ships an A2A agent server that exposes the same capability through a Pydantic-AI graph agent for agent-to-agent orchestration.

What it provides

  • Api (camunda_mcp.api_client) — a facade holding both the Camunda 7 Engine REST client (Camunda7Api) and the Camunda 8 Zeebe / Operate / Tasklist client (Camunda8Api), each constructed lazily so a server configured for one platform never needs the other's URLs or credentials.
  • Action-dispatch MCP tools (camunda-mcp console script): camunda_process, camunda_instance, camunda_task, camunda_deploy, camunda_message, camunda_external_task, camunda_job, camunda_history, camunda_deployment, and camunda_ops. Each takes a platform argument (7 or 8). See docs/overview.md for the full surface.
  • An A2A agent server (camunda-agent console script, described by a2a.json) wrapping the tool surface in a Pydantic-AI graph agent.

Available MCP Tools

Auto-generated — do not edit (synced by the mcp-readme-table pre-commit hook).

Condensed action-routed tools (default — MCP_TOOL_MODE=condensed)

MCP Tool Toggle Env Var Description
camunda_deploy CAMUNDATOOL Deploy a BPMN/DMN/form resource to Camunda 7 or Camunda 8.
camunda_deployment CAMUNDATOOL Manage Camunda 7 deployments (list/get/delete).
camunda_external_task CAMUNDATOOL Camunda 7 external task worker operations.
camunda_history CAMUNDATOOL Query Camunda 7 historic data.
camunda_instance CAMUNDATOOL Work with process instances on Camunda 7 or Camunda 8.
camunda_job CAMUNDATOOL Manage jobs and incidents on Camunda 7 or Camunda 8.
camunda_message CAMUNDATOOL Correlate/publish a message or broadcast a signal.
camunda_ops CAMUNDATOOL Search Camunda 8 Operate / Tasklist surfaces.
camunda_process CAMUNDATOOL Work with process definitions on Camunda 7 or Camunda 8.
camunda_task CAMUNDATOOL Work with user tasks on Camunda 7 or Camunda 8 (Tasklist).

Verbose 1:1 API-mapped tools (MCP_TOOL_MODE=verbose or both)

1 per-operation tools — one per public API method (click to expand)
MCP Tool Toggle Env Var Description
camunda_client APITOOL Return the platform client (defaults to the configured platform).

10 action-routed tool(s) (default) · 1 verbose 1:1 tool(s). Each is enabled unless its <DOMAIN>TOOL toggle is set false; MCP_TOOL_MODE selects the surface (condensed default · verbose 1:1 · both). Auto-generated — do not edit.

Environment Variables

Package environment variables

Variable Example Description
CAMUNDA_PLATFORM 7 Platform selector: "7" (Engine REST) or "8" (Zeebe/Operate/Tasklist)
CAMUNDA_SSL_VERIFY True Verify TLS certificates for Camunda HTTP calls
CAMUNDA7_URL http://localhost:8080/engine-rest
CAMUNDA7_TOKEN changeme
CAMUNDA7_USERNAME demo
CAMUNDA7_PASSWORD changeme
CAMUNDA8_ZEEBE_REST_URL http://localhost:8080
CAMUNDA8_OPERATE_URL http://localhost:8081
CAMUNDA8_TASKLIST_URL http://localhost:8082
CAMUNDA8_CLIENT_ID changeme
CAMUNDA8_CLIENT_SECRET changeme
CAMUNDA8_OAUTH_URL https://login.cloud.camunda.io/oauth/token
CAMUNDA8_AUDIENCE zeebe.camunda.io
CAMUNDATOOL True Toggle registration of the Camunda tool group

Inherited agent-utilities variables (apply to every connector)

Variable Example Description
TRANSPORT stdio MCP transport: stdio
HOST 0.0.0.0 Bind host (HTTP transports)
PORT 8000 Bind port (HTTP transports)
MCP_TOOL_MODE condensed Tool surface: condensed
MCP_ENABLED_TOOLS Comma-separated tool allow-list
MCP_DISABLED_TOOLS Comma-separated tool deny-list
MCP_ENABLED_TAGS Comma-separated tag allow-list
MCP_DISABLED_TAGS Comma-separated tag deny-list
EUNOMIA_TYPE none Authorization mode: none
EUNOMIA_POLICY_FILE mcp_policies.json Embedded Eunomia policy file
EUNOMIA_REMOTE_URL Remote Eunomia authorization server URL
ENABLE_OTEL False Enable OpenTelemetry export
OTEL_EXPORTER_OTLP_ENDPOINT OTLP collector endpoint
MCP_CLIENT_AUTH Outbound MCP auth (oidc-client-credentials for fleet calls)
OIDC_CLIENT_ID OIDC client id (service-account auth)
OIDC_CLIENT_SECRET OIDC client secret (service-account auth)
DEBUG False Verbose logging
PYTHONUNBUFFERED 1 Unbuffered stdout (recommended in containers)
MCP_URL http://localhost:8000/mcp URL of the MCP server the agent connects to
PROVIDER openai LLM provider for the agent
MODEL_ID gpt-4o Model id for the agent
ENABLE_WEB_UI True Serve the AG-UI web interface

14 package + 22 inherited variable(s). Auto-generated from .env.example + the shared agent-utilities set — do not edit.

Every variable the server reads, grouped by purpose. Credentials left blank leave the corresponding platform inactive — the connector remains inactive when credentials are absent. A starter .env.example ships with the repository; copy it to .env and populate the values for the platform you use.

Connection & Credentials

Var Default Meaning
CAMUNDA_PLATFORM 7 Target platform: 7 or 8
CAMUNDA_SSL_VERIFY True Verify TLS (set False for self-signed homelab)
CAMUNDA7_URL http://localhost:8080/engine-rest Camunda 7 Engine REST base URL
CAMUNDA7_TOKEN / CAMUNDA7_USERNAME / CAMUNDA7_PASSWORD Camunda 7 bearer or basic auth
CAMUNDA8_ZEEBE_REST_URL http://localhost:8080 Camunda 8 Zeebe REST base URL
CAMUNDA8_OPERATE_URL / CAMUNDA8_TASKLIST_URL Camunda 8 Operate / Tasklist URLs
CAMUNDA8_CLIENT_ID / CAMUNDA8_CLIENT_SECRET / CAMUNDA8_OAUTH_URL / CAMUNDA8_AUDIENCE Camunda 8 OAuth client_credentials

MCP server / transport

Variable Description Default
TRANSPORT stdio, streamable-http, or sse stdio
HOST Bind host (HTTP transports) 0.0.0.0
PORT Bind port (HTTP transports) 8000
MCP_TOOL_MODE Tool surface: condensed, verbose, or both condensed
MCP_ENABLED_TOOLS / MCP_DISABLED_TOOLS Comma-separated tool allow/deny list
MCP_ENABLED_TAGS / MCP_DISABLED_TAGS Comma-separated tag allow/deny list
DEBUG Verbose logging False
PYTHONUNBUFFERED Unbuffered stdout (recommended in containers) 1

Tool toggles

Each action-routed tool can be disabled individually via its toggle env var (set to false). See the Available MCP Tools table above for the authoritative names.

Variable Description Default
CAMUNDATOOL Register the Camunda tool set True

Telemetry & governance

Variable Description Default
ENABLE_OTEL Enable OpenTelemetry export True
OTEL_EXPORTER_OTLP_ENDPOINT OTLP collector endpoint
OTEL_EXPORTER_OTLP_PUBLIC_KEY / OTEL_EXPORTER_OTLP_SECRET_KEY OTLP auth keys
OTEL_EXPORTER_OTLP_PROTOCOL OTLP protocol (e.g. http/protobuf)
EUNOMIA_TYPE Authorization mode: none, embedded, remote none
EUNOMIA_POLICY_FILE Embedded policy file mcp_policies.json
EUNOMIA_REMOTE_URL Remote Eunomia server URL

Agent CLI (full [agent] runtime only)

Variable Description Default
MCP_URL URL of the MCP server the agent connects to http://localhost:8000/mcp
PROVIDER LLM provider (e.g. openai) openai
MODEL_ID Model id (e.g. gpt-4o) gpt-4o
ENABLE_WEB_UI Serve the AG-UI web interface True

Installation

Pick the extra that matches what you want to run:

Extra Installs Use when
camunda-mcp[mcp] Slim MCP server only (agent-utilities[mcp] — FastMCP/FastAPI) You only run the MCP server (smallest install / image)
camunda-mcp[agent] Full agent runtime (agent-utilities[agent,logfire] — Pydantic AI + the epistemic-graph engine) You run the integrated agent
camunda-mcp[all] Everything (mcp + agent) Development / both surfaces
# MCP server only (recommended for tool hosting — slim deps)
uv pip install "camunda-mcp[mcp]"

# Full agent runtime (Pydantic AI + epistemic-graph engine)
uv pip install "camunda-mcp[agent]"

# Everything (development)
uv pip install "camunda-mcp[all]"      # or: python -m pip install "camunda-mcp[all]"

Run the servers:

camunda-mcp                       # stdio MCP server (default transport)
camunda-mcp --transport streamable-http --host 0.0.0.0 --port 8000

# A2A agent server against a deployed MCP endpoint
MCP_URL=http://camunda-mcp:8000/mcp camunda-agent --host 0.0.0.0 --port 8001

Container images (:mcp vs :agent)

One multi-stage docker/Dockerfile builds two right-sized images, selected by --target:

Image tag Build target Contents Entrypoint
knucklessg1/camunda-mcp:mcp --target mcp camunda-mcp[mcp]slim, no engine/pydantic-ai/dspy/llama-index/tree-sitter camunda-mcp
knucklessg1/camunda-mcp:latest --target agent (default) camunda-mcp[agent]full agent runtime + epistemic-graph engine camunda-agent
docker build --target mcp   -t knucklessg1/camunda-mcp:mcp    docker/   # slim MCP server
docker build --target agent -t knucklessg1/camunda-mcp:latest docker/   # full agent

docker/mcp.compose.yml runs the slim :mcp server; docker/agent.compose.yml runs the agent (:latest) with a co-located :mcp sidecar.

Knowledge-graph database (epistemic-graph)

The full agent ([agent] / :latest) embeds the epistemic-graph engine (pulled in transitively via agent-utilities[agent]). For production — or to share one knowledge graph across multiple agents — run epistemic-graph as its own database container and point the agent at it instead of embedding it. Deployment recipes (single-node + Raft HA), connection config, and the full database architecture (with diagrams) are documented in the epistemic-graph deployment guide. The slim [mcp] server does not require the database.

MCP config

Register in the multiplexer under nickname camun (tools surface as camun__process, camun__instance, camun__task, …). See camunda_mcp/mcp_config.json.

Additional Deployment Options

camunda-mcp can also run as a local container (Docker / Podman / uv) or be consumed from a remote deployment. The Deployment guide has full, copy-paste mcp_config.json for all four transports — stdio, streamable-http, local container / uv, and remote URL:

  • Local container / uv — launch the server from mcp_config.json via uvx, docker run, or podman run, or point at a local streamable-http container by url.
  • Remote URL — connect to a server deployed behind Caddy at http://camunda-mcp.arpa/mcp using the "url" key.

Documentation

The complete documentation is published as the official documentation site and is the recommended reference for installation, deployment, and day-to-day operation.

Page Contents
Installation pip, source, extras, prebuilt Docker image
Deployment run the MCP and agent servers, Compose, Caddy + Technitium, env config
Usage the MCP tools, the Api client, the CLI
Backing Platform deploy Camunda with Docker
Overview the Camunda 7 / Camunda 8 surface
Concepts concept registry (CONCEPT:CAMUNDA-*)

AGENTS.md is the canonical contributor/agent guidance.

Deploy with agent-os-genesis

This package can be provisioned for you — skill-guided — by the agent-os-genesis universal skill (its single-package deploy mode): it picks your install method, seeds secrets to OpenBao/Vault (or .env), trusts your enterprise CA, registers the MCP server, and verifies it — the same machinery that stands up the whole Agent OS, narrowed to just this package. Ask your agent to "deploy camunda-mcp with agent-os-genesis".

Install mode Command
Bare-metal, prod (PyPI) uvx camunda-mcp · or uv tool install camunda-mcp
Bare-metal, dev (editable) uv pip install -e ".[all]" · or pip install -e ".[all]"
Container, prod deploy knucklessg1/camunda-mcp:latest via docker-compose / swarm / podman / podman-compose / kubernetes
Container, dev (editable) deploy docker/compose.dev.yml (source-mounted at /src; edits live on restart)

Secrets are read-existing + seeded via vault_sync — you are only prompted for what's missing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

camunda_mcp-1.0.1.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

camunda_mcp-1.0.1-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file camunda_mcp-1.0.1.tar.gz.

File metadata

  • Download URL: camunda_mcp-1.0.1.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for camunda_mcp-1.0.1.tar.gz
Algorithm Hash digest
SHA256 e7e6e57123b66d2a6de53a6356fbd4a37bc368ec14f6d34f328493c38041d4bc
MD5 a37d8cd523bdbc3699ef666f06a213d1
BLAKE2b-256 6841110ad1866dbd3737187aee811b003bcf69d2a30fa6599210ccfe48e7e84e

See more details on using hashes here.

File details

Details for the file camunda_mcp-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: camunda_mcp-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for camunda_mcp-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 27b42f303ca5bfb705b8bbfb24994b928cba4a9e41650c5e8aff4ba40263e5ba
MD5 d353c404bd0d512d4209833fb9503aef
BLAKE2b-256 958488576ad4d73f61528b313fc72793b202a77857a1162d7aef17c106738e39

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page