← Back to Blog

How to Run an AI Kafka Message Queue Agent with OE Runtime

Publish events, check consumer lag, and monitor your Kafka topics with AI. OE Runtime lets you run a local Kafka agent that verifies topic health and delivers structured messages with confirmed offsets — no separate Kafka tooling required.

📨
Step 1
Check Topic Status
List available topics, their partition counts, and consumer group lag.
Step 2
Publish Test Events
Publish 3 structured JSON events one at a time and confirm each with the returned offset.
Step 3
Report
Summarise topics found, lag before publishing, events published, and delivery confirmation.

What You Need


Create the Project Folder

Create a folder called message-queues/ and add these two files:

message-queues/
├── SKILL.md         # the portable skill (agentskills.io)
├── agent.yaml       # wires SKILL.md to your connector
└── oe-config.json  # LLM key + connector credentials

The Skill Files

Create SKILL.md inside a message-queues/ directory. This is the portable skill — it follows the agentskills.io format and runs unchanged on Claude, Cursor, Windsurf, or OE Runtime:

---
name: message-queues
description: Publish messages to Kafka topics and verify delivery
license: Apache-2.0
metadata:
  author: Open Enthrium
  version: "1.0"
---

You are a message queue agent. Publish events to Kafka topics and confirm delivery.
Format all payloads as JSON. Include event_type, timestamp, and payload in every message.
Complete all steps fully before writing your report.

## Step 1: Check Topic Status
List the available Kafka topics and their partition counts.
Check the consumer group lag for the main topic to see if messages are being consumed.

## Step 2: Publish Test Events
Publish 3 test events to the main topic with the following structure:
  { "event_type": "system.health_check", "timestamp": "<current ISO timestamp>", "payload": { "status": "ok", "sequence": <1, 2, 3> } }
Publish them one at a time and confirm each delivery with the returned offset.

## Step 3: Report
Summarize queue activity:
- Topics found and their partition counts
- Consumer group lag before publishing
- Events published (topic, offset, timestamp for each)
- Delivery confirmation status

Create agent.yaml in the same directory to wire the skill to your connector:

name: Queue Publisher
description: Publish messages to Kafka topics and verify delivery
connectors:
  - connection_name: My Kafka
    connection_type: kafka
skills:
  - path: ./
    trigger_type: auto

The Config File

Create oe-config.json in the same directory:

{
  "llm": {
    "provider": "openai",
    "model": "gpt-4o",
    "apiKey": "YOUR_OPENAI_API_KEY"
  },
  "server": {
    "enabled": false,
    "port": 3333,
    "apiKey": "your-secret-api-key"
  },
  "connectors": [
    {
      "connection_name": "My Kafka",
      "connection_type": "kafka",
      "brokers": ["localhost:9092"],
      "clientId": "oe-runtime",
      "topic": "my-topic"
    }
  ]
}

Replace localhost:9092 with your Kafka broker address. For managed Kafka services like Confluent Cloud or AWS MSK, add SSL and SASL authentication fields to the connector config.

Download OE Runtime

OE Runtime — Direct Downloads

Run the Agent

From the parent folder containing your skill directory:

MethodBest forDownload
1 npx recommended No install needed — always runs the latest version —
2 Windows .exe Download once, run offline on Windows ⊞ Windows (.exe)
3 macOS binary Download once, run offline on Mac  macOS
4 Linux binary Server deployments, cron jobs, Docker 🐧 Linux
5 API Server integration Call from any app, webhook, or automation pipeline 📮 Postman Collection

1 npx recommended

npx -y @openenthrium/oe-runtime@latest ./message-queues

2 Windows

oe-runtime-win.exe ./message-queues

3 macOS

chmod +x oe-runtime-macos
./oe-runtime-macos ./message-queues

First run blocked? System Settings → Privacy & Security → Allow Anyway.

4 Linux

chmod +x oe-runtime-linux
./oe-runtime-linux ./message-queues

5 API Server integration

Add a "server" block to oe-config.json, then start with --serve:

{
  "llm": { ... },
  "server": { "enabled": true, "port": 3333, "apiKey": "your-secret-key" },
  "connectors": [ ... ]
}
npx -y @openenthrium/oe-runtime@latest --serve --config oe-config.json

Run with inline YAML:

curl -X POST http://localhost:3333/run \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-secret-key" \
  -d '{"yaml": "...", "params": {}}'

Or run from a file on the server:

curl -X POST http://localhost:3333/run-file \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-secret-key" \
  -d '{"file": "/path/to/agent.yaml", "params": {}}'

Use Cases

Build your own agents with OE Runtime

Download OE Runtime and run any AI agent locally or as a server — no cloud required.

Get OE Runtime →
Series OE Runtime Agent Guides — 21 Connectors
Series overview →