Skip to main content
Glama

list-events

Retrieve and filter all events by name using the Consul MCP Server, enabling efficient event monitoring and management.

Instructions

List all events

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoFilter events by name

Implementation Reference

  • Registration of the 'list-events' tool, including inline schema and handler function.
    "list-events", "List all events", { name: z.string().default("").optional().describe("Filter events by name"), }, async ({ name }) => { try { const events = await consul.event.list({ name }); if (!events || events.length === 0) { return { content: [{ type: "text", text: "No events found" }] }; } const eventsText = events.map(event => `ID: ${event.ID}, Name: ${event.Name}, Payload: ${event.Payload || 'None'}` ).join("\n"); return { content: [{ type: "text", text: `Events:\n\n${eventsText}` }] }; } catch (error) { console.error("Error listing events:", error); return { content: [{ type: "text", text: "Error listing events" }] }; } } ); }
  • The handler function executes the tool logic: lists events from Consul (optionally filtered by name), formats them, and returns as text content.
    async ({ name }) => { try { const events = await consul.event.list({ name }); if (!events || events.length === 0) { return { content: [{ type: "text", text: "No events found" }] }; } const eventsText = events.map(event => `ID: ${event.ID}, Name: ${event.Name}, Payload: ${event.Payload || 'None'}` ).join("\n"); return { content: [{ type: "text", text: `Events:\n\n${eventsText}` }] }; } catch (error) { console.error("Error listing events:", error); return { content: [{ type: "text", text: "Error listing events" }] }; } } );
  • Input schema using Zod: optional 'name' parameter to filter events.
    { name: z.string().default("").optional().describe("Filter events by name"), },
  • src/server.ts:44-44 (registration)
    Top-level call to registerEventTools, which includes the 'list-events' tool registration.
    registerEventTools(server, consul);
  • Helper function that registers event-related tools, including 'list-events'.
    export function registerEventTools(server: McpServer, consul: Consul) { // Fire an event server.tool( "fire-event", "Fire a new event", { name: z.string().default("").describe("Name of the event"), payload: z.string().default("").optional().describe("Event payload"), }, async ({ name, payload }) => { try { // @ts-ignore - The Consul type definitions are incomplete const event = await consul.event.fire(name, payload || ""); return { content: [{ type: "text", text: `Fired event: ${event.ID}` }] }; } catch (error) { console.error("Error firing event:", error); return { content: [{ type: "text", text: `Error firing event: ${name}` }] }; } } ); // List events server.tool( "list-events", "List all events", { name: z.string().default("").optional().describe("Filter events by name"), }, async ({ name }) => { try { const events = await consul.event.list({ name }); if (!events || events.length === 0) { return { content: [{ type: "text", text: "No events found" }] }; } const eventsText = events.map(event => `ID: ${event.ID}, Name: ${event.Name}, Payload: ${event.Payload || 'None'}` ).join("\n"); return { content: [{ type: "text", text: `Events:\n\n${eventsText}` }] }; } catch (error) { console.error("Error listing events:", error); return { content: [{ type: "text", text: "Error listing events" }] }; } } ); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kocierik/consul-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server