Skip to main content
Glama

Consul MCP Server

formatter.ts2.27 kB
import { ServiceList, HealthCheck, CatalogNode, KVPair, Session } from "../types/consul.js"; export function formatService(feature: ServiceList): string { const props = feature; return [ `ID: ${props.ID || "Unknown"}`, `Port: ${props.Port || "Unknown"}`, `Service: ${props.Service || "Unknown"}`, `Tags: ${props.Tags || "Unknown"}`, "---", ].join("\n"); } export function formatHealthCheck(check: HealthCheck): string { return [ `Node: ${check.Node || "Unknown"}`, `CheckID: ${check.CheckID || "Unknown"}`, `Name: ${check.Name || "Unknown"}`, `Status: ${check.Status || "Unknown"}`, `ServiceName: ${check.ServiceName || "Unknown"}`, `ServiceID: ${check.ServiceID || "Unknown"}`, `ServiceTags: ${check.ServiceTags?.join(", ") || "None"}`, `ServiceName: ${check.ServiceName || "Unknown"}`, `Output: ${check.Output || "No output"}`, "---", ].join("\n"); } export function formatCatalogNode(node: CatalogNode): string { return [ `Node: ${node.Node || "Unknown"}`, `Address: ${node.Address || "Unknown"}`, `ServiceID: ${node.ServiceID || "Unknown"}`, `ServiceName: ${node.ServiceName || "Unknown"}`, `ServicePort: ${node.ServicePort || "Unknown"}`, `ServiceTags: ${node.ServiceTags?.join(", ") || "None"}`, "---", ].join("\n"); } export function formatKVPair(pair: KVPair): string { // Decode base64 value if it exists let value = "No value"; if (pair.Value !== null && pair.Value !== undefined) { try { // Consul stores values as base64 encoded strings value = atob(pair.Value); } catch (e) { value = pair.Value; } } return [ `Key: ${pair.Key || "Unknown"}`, `Value: ${value}`, `Flags: ${pair.Flags || 0}`, `Last Modified Index: ${pair.ModifyIndex || "Unknown"}`, "---", ].join("\n"); } 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"); }

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