We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/confluentinc/mcp-confluent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
import { ClientManager } from "@src/confluent/client-manager.js";
import { CallToolResult } from "@src/confluent/schema.js";
import {
BaseToolHandler,
ToolConfig,
} from "@src/confluent/tools/base-tools.js";
import { ToolName } from "@src/confluent/tools/tool-name.js";
import { EnvVar } from "@src/env-schema.js";
import { z } from "zod";
const listTopicArgs = z.object({
// No arguments
});
export class ListTopicsHandler extends BaseToolHandler {
async handle(
clientManager: ClientManager,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
toolArguments: Record<string, unknown>,
): Promise<CallToolResult> {
const topics = await (await clientManager.getAdminClient()).listTopics();
return this.createResponse(`Kafka topics: ${topics.join(",")}`);
}
getToolConfig(): ToolConfig {
return {
name: ToolName.LIST_TOPICS,
description: "List all topics in the Kafka cluster.",
inputSchema: listTopicArgs.shape,
};
}
getRequiredEnvVars(): EnvVar[] {
return ["KAFKA_API_KEY", "KAFKA_API_SECRET", "BOOTSTRAP_SERVERS"];
}
}