tju-yxq opened a new issue, #3051: URL: https://github.com/apache/rocketmq-dashboard/issues/3051
## Problem The AI/MCP/CLI inventory tools are deliberately read-only, but three of them execute full in-memory inventories and return every row in one response: - `rmq.topic.list` calls `MetadataService.listTopics(...)` - `rmq.group.list` calls `MetadataService.listConsumerGroups(...)` - `rmq.alert.rule.list` calls `AlertService.listRules()` The regular web endpoints use provider-aware pagination for topics and consumer groups (`listTopicsPage` / `listConsumerGroupsPage`, max page size 100), but the tool catalog exposes no `page` or `pageSize` input and the handlers do not use those paged services. A large instance can therefore return thousands of projected rows to an AI client in one call, increasing response latency, memory pressure, and context consumption. Alert rules have no paged tool path at all. This is different from message-query payload budgeting already handled in #2538/#2539 and tool authorization work in #2370: those changes do not bound inventory tool responses. ## Expected behavior - Inventory tools should accept explicit `page` and `pageSize` inputs with a small maximum page size. - Topic and consumer-group tools should use the existing paged service/provider paths instead of materializing and projecting the complete inventory. - The alert-rule tool should use a paged repository query rather than filtering the full rule list in memory. - Tool output should retain total/page/size and the existing item projection so clients can request additional pages. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
