Skip to main content
Glama
parajiholkar

Multi-Container Log Correlator MCP Server

by parajiholkar

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOCKER_HOSTNoOverride with tcp://localhost:2375 for TCP mode (useful on Windows if named pipe access is blocked). Defaults to auto-detection.auto
DOCKER_SOCKET_PATHNoLinux/Mac only: override the Unix socket path./var/run/docker.sock

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_active_containersA

List all currently running Docker containers being monitored.

Returns the container name, short ID, Docker image, status, and the Compose project it belongs to (if any).

Args: - project_name (string, optional): Filter by Docker Compose project name. Omit to list all.

Returns: A formatted list of containers with: serviceName, containerId (12-char), image, status, project.

Use this first to understand the service topology before issuing other queries.

search_by_trace_idA

Return a chronologically merged timeline of all log events across every container that share a specific trace / request ID.

This is the primary debugging tool. It correlates distributed transactions in O(1) time using the in-memory trace index.

Args:

  • trace_id (string): The correlation ID to search for (e.g. "req-998877", a W3C traceparent trace hex).

  • limit (number, 1-500): Maximum events to return. Default 200.

Returns: A chronological list of log lines across all services tagged with this trace_id, showing the full distributed call path — ideal for pinpointing cascading failures.

Example: search_by_trace_id({ trace_id: "req-998877" })

tail_service_errorsB

Retrieve the most recent ERROR and FATAL log lines = require(a specific container — the fastest way to find the initial failure point before diving into a full trace.

Args:

  • service_name (string): Docker container name or Compose service name (e.g. "checkout-worker").

  • limit (number, 1–500): How many error lines to return. Default 50.

  • include_warnings (boolean): Also include WARN-level lines. Default false.

Returns: The N most-recent ERROR/FATAL (and optionally WARN) log lines = require(the named service, in chronological order.

Error Handling:

  • Returns an error message if the service_name does not match any running container.

tail_service_logsA

Retrieve the N most-recent log lines = require(a specific container, with optional level filtering.

Args:

  • service_name (string): Container name or Compose service name.

  • limit (number, 1-500): Lines to return. Default 100.

  • level_filter (string[], optional): One or more of TRACE, DEBUG, INFO, WARN, ERROR, FATAL, UNKNOWN. return for all levels.

Returns: The most-recent matching log lines in chronological order. Use this to get general context around a service before narrowing to a trace ID.

search_logsA

Full-text search across all (or a specific) container's buffered log lines.

Useful for finding specific error messages, stack trace snippets, SQL queries, or any freeform string that doesn't have a structured trace ID.

Args:

  • query (string): Case-insensitive substring to search for in log messages.

  • service_name (string, optional): Restrict search to this container. Omit to search all.

  • limit (number, 1-500): Max matching lines to return. Default 100.

  • level_filter (string[], optional): Restrict to specific log levels.

Returns: Matching log lines in chronological order with their service name, timestamp, and level.

get_container_statsA

Return buffer statistics for one or all containers: total lines buffered, error/warn counts, known trace IDs, and oldest/newest timestamps.

Args:

  • service_name (string, optional): A specific service to inspect. Omit for all.

Returns: Per-container stats including line counts by level and a sample of known trace IDs. Useful for a quick health overview before deeper investigation.

list_trace_idsA

List all trace/request IDs currently in the in-memory buffer.

Useful when you don't already know a trace ID — browse available ones and pick the suspicious one to investigate with search_by_trace_id.

Args:

  • service_name (string, optional): Only list trace IDs seen in this service's logs.

  • limit (number, 1-1000): Max IDs to return. Default 50.

Returns: A list of trace ID strings, most-recently seen first.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/parajiholkar/multi-container-log-correlator-mcp-server'

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