Token导航 LogoToken导航TokenDH.com
Wso2 Mi Kafka MCP Server logo
运维云端未说明官方级别未说明来源级核验

Wso2 Mi Kafka MCP Server

MCP Server

本地开发平台,通过AI代理控制Apache Kafka和WSO2 Micro Integrator,实现一键设置、主题管理、消息发布、诊断等功能。

工具数

26

提示词数

0

GitHub Stars

0

资源数

0
本地开发TypeScriptClaudeClaude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

PasinduGunarathne

提供方

PasinduGunarathne

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

WSO2 MI+Kafka MCP服务器

一个本地开发平台,允许您直接从AI代理控制Apache Kafka和WSO2 Micro Integrator。一个提示设置整个堆栈。26个MCP工具处理之后的一切——主题管理、消息发布、工件生成、诊断等等。

适用于 克劳德桌面版, 克劳德代码, 光标, 帆板运动, 法典, 泽德, Continue.dev,以及任何兼容MCP的客户端。

核心成果: 你克隆这个仓库,在你的AI客户端注册它,比如说 *“设置卡夫卡和米”*,并在Docker中运行一个完全工作的Kafka+WSO2 MI集成栈——无需手动Docker命令,无需YAML编辑,无需配置步骤。

所得

  • 运行中的Kafka代理、ZooKeeper、Kafka UI和WSO2微集成器——都在Docker中
  • 一个可用的演示流程:HTTP POST→ 卡夫卡→ WSO2 MI消费者→ 丰富审计主题
  • 死信队列(DLQ)的错误处理
  • 26个MCP工具,用于管理主题、发布/使用消息、生成MI工件、跟踪消息流和故障排除
  • 一切都通过克劳德的自然语言控制

这是给谁的

  • 集成工程师 在本地构建Kafka+WSO2 MI流
  • 开发者 谁想要一个单命令本地Kafka/MI堆栈进行测试
  • 人工智能辅助开发人员 使用任何兼容MCP的客户端:Claude Desktop、Claude Code、Cursor、Windsurf、Codex、Zed、Continue.dev或其他

快速开始

这将使您从一个新的克隆到一个正在运行的堆栈。按顺序执行每一步。

步骤1:检查先决条件

你需要Docker和Node.js。运行以下命令进行验证:

docker --version        # Need Docker with Compose v2
docker compose version  # Should print "Docker Compose version v2.x.x"
node --version          # Need v18 or higher

如果 docker compose version 失败,安装或更新Docker Desktop、Rancher Desktop或Colima。

步骤2:克隆和构建

git clone https://github.com/PasinduGunarathne/wso2-mi-kafka-mcp-server.git
cd wso2-mi-kafka-mcp-server
npm install
npm run build

npm run build 步骤创建 dist/ 目录。没有它,MCP服务器将无法工作。

步骤3:获取绝对路径

下一步你需要这个。复制以下输出:

echo "$(pwd)/dist/index.js"

输出示例: /Users/you/wso2-mi-kafka-mcp-server/dist/index.js

步骤4:注册MCP服务器

此服务器使用 stdio传输 --通用MCP标准。它适用于任何兼容MCP的AI客户端。在下面选择您的客户。

在以下所有示例中,替换 /absolute/path/to 使用您在步骤3中获得的实际路径。

______________________________________________________________________

克劳德桌面版

打开(或创建)配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "kafka-mi": {
      "command": "node",
      "args": ["/absolute/path/to/wso2-mi-kafka-mcp-server/dist/index.js"]
    }
  }
}

重新启动: 完全退出并重新打开Claude Desktop(而不仅仅是关闭窗口)。 验证: 在新对话中查找锤子/工具图标→ 应该看看 setup_kafka_and_mi.

______________________________________________________________________

克劳德代码(CLI)

claude mcp add kafka-mi node /absolute/path/to/wso2-mi-kafka-mcp-server/dist/index.js

验证: claude mcp list → 应该显示 kafka-mi.

______________________________________________________________________

光标

打开 设置→ MCP (或 Cmd/Ctrl+Shift+P → “MCP:添加服务器”),然后添加到您的MCP配置中:

{
  "mcpServers": {
    "kafka-mi": {
      "command": "node",
      "args": ["/absolute/path/to/wso2-mi-kafka-mcp-server/dist/index.js"]
    }
  }
}

重新启动: 重新启动游标或重新加载窗口。 验证: 打开MCP面板→ kafka-mi 应显示为与26个工具连接。

______________________________________________________________________

风帆冲浪(Codeium)

打开 设置→ MCP服务器 (或 Cmd/Ctrl+Shift+P → “MCP:配置”),然后添加:

{
  "mcpServers": {
    "kafka-mi": {
      "command": "node",
      "args": ["/absolute/path/to/wso2-mi-kafka-mcp-server/dist/index.js"]
    }
  }
}

重新启动: 重新加载Windsurf窗口。 验证: MCP服务器面板应显示 kafka-mi 作为活跃。

______________________________________________________________________

Codex(OpenAI CLI)

添加到您的 ~/.codex/config.json (或项目 .codex/config.json):

{
  "mcpServers": {
    "kafka-mi": {
      "command": "node",
      "args": ["/absolute/path/to/wso2-mi-kafka-mcp-server/dist/index.js"]
    }
  }
}

然后在启用MCP的情况下运行Codex:

codex --model o4-mini

验证: Codex将在启动时列出可用的MCP工具。

______________________________________________________________________

泽德

打开 设置 (Cmd+,)并添加到您的 settings.json 在...之下 "context_servers":

{
  "context_servers": {
    "kafka-mi": {
      "command": {
        "path": "node",
        "args": ["/absolute/path/to/wso2-mi-kafka-mcp-server/dist/index.js"]
      },
      "settings": {}
    }
  }
}

重新启动: 重新加载Zed。 验证: 打开“助手”面板→ 服务器工具应该可用。

______________________________________________________________________

Continue.dev

添加到Continue配置文件(~/.continue/config.yaml.continue/config.yaml):

mcpServers:
  - name: kafka-mi
    command: node
    args:
      - /absolute/path/to/wso2-mi-kafka-mcp-server/dist/index.js

重新启动: 重新加载Continue扩展。 验证: MCP工具应出现在继续工具面板中。

______________________________________________________________________

任何其他MCP客户端

此服务器与 支持MCP stdio传输的任何客户端通用配置模式为:

字段
命令node
参数["/absolute/path/to/wso2-mi-kafka-mcp-server/dist/index.js"]
运输stdio(默认)

服务器公开了26个工具。一旦连接,说 "setup kafka and mi" 开始。

步骤5:运行第一个设置

确保Docker正在运行,然后打开你的AI客户端并键入:

setup kafka and mi

您的AI代理将提供两个选项:

  • 选项A:Docker Hub镜像 --提取WSO2 MI的官方图像。不需要本地文件。最适合大多数用户。
  • 选项B:本地MI包 --使用a wso2mi-.zip 你提供。用于自定义构建或企业包。

选择一个(例如“使用Docker Hub镜像”或“使用本地MI包”)。然后,代理运行完整的设置,第一次运行需要3-5分钟:

  1. 检查Docker和Node.js是否可用
  2. 生成中的所有项目文件 ~/kafka-mi-demo
  3. 构建Docker镜像(下载WSO2 MI、Kafka连接器JAR)
  4. 启动4个容器(ZooKeeper、Kafka、Kafka UI、WSO2 MI)
  5. 创建3个Kafka主题
  6. 运行烟雾测试以验证流量是否正常

步骤6:确认它有效

设置完成后,告诉您的AI代理:

run health checks

所有检查都应通过。您也可以手动验证:

检查如何
集装箱正在运行docker ps --应显示4个集装箱 demo- 前缀
Kafka UI可访问打开http://localhost:8090在浏览器中
WSO2 MI可访问打开http://localhost:8290/kafka/health--应该返回 {"status":"ok"}
主题已创建在Kafka UI中,单击“主题”-应该看到 demo.orders.in, demo.orders.audit, demo.orders.dlq

你的前10分钟

堆栈运行后,在AI客户端中尝试以下提示:

1.运行演示

run demo

这将通过完整流程发布一个示例订单事件:HTTP→ 卡夫卡→ WSO2 MI消费者→ 审计主题。克劳德在每一步都给你看证据。

2.测试错误处理

trigger error

这会发送一条故意使处理失败的消息,并被路由到死信队列。

3.检查DLQ

check dlq

显示带有错误详细信息和原始有效载荷的失败消息。

4.探索卡夫卡

list kafka topics
consume 5 messages from demo.orders.audit

成功是什么样子的

完成这些步骤后,您应该:

  • 4个Docker容器运行良好(docker ps)
  • Kafka UI中可见的3个Kafka主题http://localhost:8090
  • 在中可见的消息 demo.orders.in (生), demo.orders.audit (丰富),以及 demo.orders.dlq (失败)
  • WSO2 MI在http://localhost:8290/kafka/health

建筑

以下是消息在系统中流动时发生的情况:

HTTP Client ──POST /kafka/publish──> WSO2 MI ──kafkaTransport──> demo.orders.in (Kafka)
                                                                        │
                                     WSO2 MI  大多数用户可以跳过此部分。默认的Docker Hub镜像可以开箱即用。

这 `setup_kafka_and_mi` 该工具允许您通过以下方式在两个MI源之间进行选择 `miSource` 参数:

### 选项1:Docker Hub镜像(默认)

不需要本地文件。告诉克劳德:

setup kafka and mi


或者使用特定版本:

setup kafka and mi with MI version 4.5.0


可用版本: **4.3.0**, **4.4.0**, **4.5.0** (默认)。追加 `-alpine` 或 `-rocky` 对于变体(例如。 `4.5.0-alpine`).

### 选项2:本地MI分发ZIP

1. 从下载WSO2 MI分发ZIP [WSO2](https://wso2.com/micro-integrator/)
1. 将其放置在MCP服务器项目根目录中: `wso2mi-kafka-mcp-server/wso2mi-4.4.0.zip`
1. 告诉克劳德:

setup kafka and mi using local MI pack


该工具会自动检测ZIP并提取版本。如果存在多个ZIP,请明确指定版本:

setup kafka and mi using local MI pack version 4.5.0


### 检查当前配置

get mi config


显示活动源代码、版本、检测到的本地ZIP以及所有可用的Docker Hub版本。

### 手动构建(无MCP)

Docker Hub (default)

MI_VERSION=4.5.0 docker compose build wso2mi

Local pack

MI_DOCKERFILE=Dockerfile MI_VERSION=4.5.0 docker compose build wso2mi


你的选择是坚持的 `~/kafka-mi-demo/.env` 以便 `start_stack` 并且所有组合命令都自动使用相同的设置。

## 高级:可扩展性

对于想要构建自定义集成流的高级用户:

- **人工脚手架:** 使用 `generate_mi_api`, `generate_mi_sequence`,以及 `generate_mi_inbound_endpoint` 从模板创建新的Synapse XML工件。这些生成了具有适当名称空间、日志记录和错误处理的生产就绪样板。
- **验证:** 使用 `validate_mi_artifacts` 在部署之前检查XML文件是否存在常见错误(缺少属性、名称空间错误、Kafka配置问题)。
- **自定义烟雾测试:** 使用 `smoke_test_custom_flow` 测试任何HTTP端点,并可选地验证消息是否出现在Kafka主题中。
- **订单跟踪:** 使用 `trace_order_flow` 在管道的每个阶段(输入主题、MI消费者日志、审计主题和DLQ)遵循特定的订单ID。

## 项目结构

wso2-mi-kafka-mcp-server/ ├── src/ │ ├── index.ts # Server entry point — registers all 26 MCP tools │ ├── types.ts # TypeScript interfaces for topics, messages, traces │ ├── tools/ │ │ ├── setup.ts # One-command stack setup (setup_kafka_and_mi) │ │ ├── demo.ts # Demo flow, error triggers, DLQ checks, health checks │ │ ├── stack.ts # Start, stop, status, logs, reset │ │ ├── kafka-admin.ts # Topic CRUD operations │ │ ├── kafka-messages.ts # Publish, consume, search, replay messages │ │ ├── mi-artifacts.ts # Generate and validate WSO2 MI XML artifacts │ │ └── diagnostics.ts # Order tracing, diagnostics, custom smoke tests │ ├── services/ │ │ ├── kafka-service.ts # Runs kafka-* CLI commands inside the Kafka container │ │ └── mi-service.ts # Calls WSO2 MI management API, renders XML templates │ └── utils/ │ ├── config.ts # MI source config persistence (.env read/write) │ ├── docker.ts # Docker and Compose command wrappers with timeouts │ ├── files.ts # Copies resource files into the project directory │ ├── logger.ts # Colored output formatting for tool results │ └── validation.ts # Input validation (topic names, required fields) ├── resources/ │ ├── artifacts/ # Pre-built WSO2 MI Synapse XML artifacts │ │ ├── apis/ # HTTP API that publishes to Kafka │ │ ├── sequences/ # Processing sequence + fault/DLQ sequence │ │ ├── inbound-endpoints/ # Kafka consumer endpoint │ │ ├── local-entries/ # Kafka producer connection config │ │ └── imports/ # Kafka connector import declaration │ ├── templates/ # Mustache templates for artifact generation │ ├── conf/deployment.toml # WSO2 MI server configuration │ ├── docker/ # Dockerfiles and docker-compose.yml │ └── scripts/ # Shell scripts for topic creation and testing ├── claude-desktop-config.json # Example MCP config (copy into your Claude config) ├── package.json └── tsconfig.json


## MI Docker镜像依赖关系

**dropin/(OSGi捆绑包):** mi-inbound-kafka-2.0.6、kafka-avro序列化器-7.6.0.wso2v1、kafka-模式序列化器-7-6.0.wso2v1、kafka模式调节客户端-7.6.0.wso2v1、org.apache.avro-1.11.3(自定义OSGi包)

**lib/(类路径JAR):** kafka-clients-3.6.1、通用配置-7.6.0、通用工具-7.6.0和度量标准-2.2.0

**突触库/(连接器):** kafkaTransport连接器-3.2.0.zip

参考:https://mi.docs.wso2.com/en/latest/reference/connectors/kafka-connector/setting-up-kafka/

目录标签

目录标签

本地开发TypeScriptClaudeKafka集成本地部署WSO2MIAI辅助开发消息队列

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

26

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP