RocketMQ

Un servidor para interactuar con Apache RocketMQ, una plataforma distribuida de mensajería y streaming, que requiere variables de entorno para su configuración.

Documentación

Servidor MCP de RocketMQ

Servidor MCP de RocketMQ basado en Spring Boot, que proporciona interfaces HTTP para las funciones de administración de RocketMQ.

Estructura del proyecto

rocketmq-mcp/
├── src/                         # Java源代码
│   └── main/java/org/apache/rocketmq/mcp/
│       ├── Startup.java         # 启动类
│       ├── ToolsLoader.java     # 工具加载器
│       ├── common/              # 通用工具类
│       ├── spring/              # Spring配置
│       └── tool/                # RocketMQ AI Agent Tools
├── test/                        # Python测试脚本和工具
│   ├── README.md               # 测试目录说明
│   ├── requirements.txt        # Python依赖
│   ├── TESTING.md              # 详细测试指南
│   ├── test_rocketmq_mcp_unittest.py # unittest版本
│   ├── demo_unittest.py        # unittest演示
│   └── run_unittest.sh         # unittest运行脚本
├── pom.xml                     # Maven配置
├── build.sh                    # 构建脚本
└── README.md                   # 本文件

Inicio rápido

1. Construir el proyecto

./build.sh

2. Ejecutar el servidor

java -jar target/rocketmq-mcp-*.jar

El servidor se iniciará en el puerto 6868.

3. Probar las interfaces

Todos los scripts y herramientas de prueba están en el directorio test/. Consulte test/README.md para obtener instrucciones detalladas de uso.

Interfaces API

El servidor proporciona las siguientes interfaces HTTP para las funciones de administración de RocketMQ:

Interfaces de Controller

  • POST /controller/getControllerConfig - Obtener la configuración del controlador
  • POST /controller/updateControllerConfig - Actualizar la configuración del controlador

Interfaces de Nameserver

  • POST /nameserver/getNameServerAddressList - Obtener la lista de direcciones de NameServer
  • POST /nameserver/getKVConfig - Obtener la configuración de KV

Interfaces de Message

  • POST /message/viewMessage - Consultar mensajes

Interfaces de Broker

  • POST /broker/getBrokerRuntimeStats - Obtener estadísticas de ejecución de Broker

Interfaces de ACL

  • POST /acl/getAclVersionList - Obtener la lista de versiones de ACL

Interfaces de Consumer

  • POST /consumer/examineConsumerConnectionInfo - Obtener información de conexión de consumidores

Interfaces de Topic

  • POST /topic/topicList - Obtener la lista de Topics

Interfaces de Cluster

  • POST /cluster/clusterList - Obtener información del clúster

Interfaces de Producer

  • POST /producer/examineProducerConnectionInfo - Obtener información de conexión de productores

Interfaces de ConsumeQueue

  • POST /consumequeue/examineConsumeQueue - Obtener información de colas de consumo

Instrucciones de prueba

Todos los scripts y herramientas de prueba en Python están centralizados en el directorio test/:

  • Scripts de prueba estándar - Marco de pruebas personalizado que genera informes JSON detallados
  • Versión unittest - Utiliza el marco de pruebas estándar de Python, adecuado para integración CI/CD
  • Scripts de demostración - Muestran las diversas funcionalidades del marco de pruebas
  • Scripts de ejecución - Simplifican el proceso de ejecución de pruebas

Para instrucciones detalladas de uso, consulte: test/README.md

Instrucciones de configuración

La configuración del servidor está en src/main/resources/application.properties:

server.port=6868
spring.application.name=rocketmq-mcp

Gestión de dependencias

  • Dependencias de Java: Gestionadas por Maven, consulte pom.xml
  • Dependencias de pruebas en Python: Consulte test/requirements.txt

Instrucciones de desarrollo

Agregar nuevas clases de herramientas

  1. Cree una nueva clase de herramienta en el directorio src/main/java/org/apache/rocketmq/mcp/tool/
  2. Implemente la interfaz HTTP correspondiente
  3. Registre la nueva clase de herramienta en ToolsLoader.java
  4. Agregue los casos de prueba correspondientes en el directorio test/

Ampliar las pruebas

  1. Agregue nuevos métodos de prueba en los scripts de prueba estándar
  2. Agregue los métodos de prueba correspondientes en la versión unittest
  3. Actualice los scripts de demostración para mostrar las nuevas funcionalidades
  4. Actualice la documentación de pruebas para describir el nuevo alcance de las pruebas

Depuración local

  1. Inicie la herramienta de depuración de mcp
sh mcp_inspector.sh
  1. Ingrese la información de la dirección mcp local