list-sessions
Retrieve and display all active sessions in Consul for monitoring and management purposes using the Consul MCP Server interface.
Instructions
List all sessions in Consul
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/consulTools.ts:445-463 (registration)Registration of the 'list-sessions' MCP tool, including its inline handler function that retrieves and formats Consul sessions.server.tool( "list-sessions", "List all sessions in Consul", {}, async () => { try { const sessions = await consul.session.list(); if (!sessions || sessions.length === 0) { return { content: [{ type: "text", text: "No sessions found" }] }; } const sessionsText = `Sessions:\n\n${Object(sessions).map(formatSession).join("\n")}`; return { content: [{ type: "text", text: sessionsText }] }; } catch (error) { console.error("Error listing sessions:", error); return { content: [{ type: "text", text: "Error listing sessions" }] }; } } );
- src/utils/formatter.ts:62-73 (helper)Helper function to format a Consul session into a readable string, used by the list-sessions handler.export function formatSession(session: Session): string { return [ `ID: ${session.ID || "Unknown"}`, `Name: ${session.Name || "Unknown"}`, `Node: ${session.Node || "Unknown"}`, `Checks: ${session.Checks?.join(", ") || "None"}`, `LockDelay: ${session.LockDelay || "Unknown"}`, `Behavior: ${session.Behavior || "Unknown"}`, `TTL: ${session.TTL || "Unknown"}`, "---", ].join("\n"); }
- src/server.ts:42-42 (registration)Invocation of registerSessionTools which registers the list-sessions tool among session tools.registerSessionTools(server, consul);