Skip to main content
Glama
nrapendra-singh

Log Pruner MCP Server

Log Pruner MCP Server

A Python MCP server that reduces token usage by ~98% when working with log files. Auto-detects file format, strips noise (kubernetes metadata, duplicate fields, boilerplate), and returns only actionable signal. Works with any common log format — no manual conversion needed.

Tools

Tool

What it does

read_logs

Read any log file, return compact table. Auto-detects format and log type (HTTP vs application).

query_logs

Query OpenSearch API directly, return compact table

summarize_logs

Aggregate summary: level distribution, top loggers/endpoints, error rates

get_errors

Full detail for errors — HTTP 5xx, app-log ERROR/WARN, ImpEx failures, stack traces

get_context

All entries within N seconds of a timestamp — like grep -C for logs

Related MCP server: AgentCost

Supported Formats

Structured (JSON-based)

Format

Example source

OpenSearch/Elasticsearch JSON

Kibana export, API response (hits.hits[]._source)

NDJSON

kubectl logs, docker logs --format json, Fluent Bit, CloudWatch

JSON Array

API responses, custom export tools ([{...}, {...}])

OpenSearch/Kibana CSV

Kibana Discover CSV export (with _source.* columns or log column)

Plain Text

Format

Pattern

Spring Boot

2026-06-06T15:12:44.842Z INFO 1 --- [thread] logger : message

Log4j / Logback

2026-06-06 15:12:44,842 INFO [thread] [logger] - message

Python logging

2026-06-06 15:12:44,842 - module - ERROR - message

Nginx / Apache access

10.0.0.1 - - [12/Jun/2026:10:53:07 +0000] "GET /path HTTP/1.1" 200 1234

Docker container

2026-06-06T15:12:44.842Z stdout F message

Syslog

Jun 12 10:53:07 hostname process[pid]: message

Generic ISO + level

2026-06-06T15:12:44Z ERROR something broke

Generic ISO timestamp

2026-06-06T15:12:44Z any message here

Format detection is automatic — just pass any log file path. No configuration needed.

Log Type Auto-Detection

Type

Detection

Output

HTTP Access Logs

Has status code, request line, response time

Compact table: timestamp, status, ms, bytes, IP, request

Application Logs

Has level, message, thread/logger

Compact table: timestamp, level, thread, message

If HTTP parsing yields no results, tools automatically fall back to application log parsing.

Domain-Specific Error Detection

SAP Commerce ImpEx

get_errors recognizes ImpEx deployment failures that are often logged at INFO level:

  • dumped: N (where N > 0) — lines that couldn't be imported

  • could not import N lines — final failure summary

  • Can not resolve any more lines — resolution failure

  • Impex import failed — SystemSetupException

  • SHUTTING DOWN — context startup failure

These are surfaced as [IMPEX FAILURE] entries alongside regular errors.

The pattern detection system is extensible — add your own domain-specific patterns to IMPEX_ERROR_PATTERNS in src/parser.py.

Setup

1. Install dependencies

cd log-pruner
pip install -r requirements.txt

2. Configure OpenSearch (optional, for live API access)

export OPENSEARCH_URL="https://your-opensearch-cluster:9200"
export OPENSEARCH_USER="admin"
export OPENSEARCH_PASSWORD="secret"

3. Add to Claude Code

{
  "mcpServers": {
    "log-pruner": {
      "command": "python",
      "args": ["/absolute/path/to/log-pruner/server.py"]
    }
  }
}

For live OpenSearch access, add one entry per environment with connection details:

{
  "mcpServers": {
    "log-pruner-dev": {
      "command": "python",
      "args": ["/absolute/path/to/log-pruner/server.py"],
      "env": {
        "OPENSEARCH_URL": "https://dev-opensearch-cluster:9200",
        "OPENSEARCH_USER": "admin",
        "OPENSEARCH_PASSWORD": "dev-password"
      }
    },
    "log-pruner-staging": {
      "command": "python",
      "args": ["/absolute/path/to/log-pruner/server.py"],
      "env": {
        "OPENSEARCH_URL": "https://staging-opensearch-cluster:9200",
        "OPENSEARCH_USER": "admin",
        "OPENSEARCH_PASSWORD": "staging-password"
      }
    }
  }
}

4. Restart Claude Code

5. Add to your project's CLAUDE.md

## Log Analysis

When the user provides a log file or asks to analyze/debug logs:
- Do NOT read the file with the built-in Read tool — it will flood context
- Pass the file path to the log-pruner MCP tools which strip ~98% of noise:
  - `mcp__log-pruner__read_logs` — compact table from any log file
  - `mcp__log-pruner__summarize_logs` — overview (level distribution, top loggers, error rates)
  - `mcp__log-pruner__get_errors` — all errors with full detail
  - `mcp__log-pruner__get_context` — entries around a specific timestamp
  - `mcp__log-pruner__query_logs` — query live OpenSearch (requires env vars)

Usage Examples

Any Plain Text Log File

read_logs(path="app.log")
→ 1327 app log entries
  TIMESTAMP                | LVL    | THREAD                        | MESSAGE
  2026-06-06T15:12:44Z     | INFO   | main                          | Starting application
  2026-06-06T15:12:45Z     | ERROR  | http-nio-8080-exec-1          | NullPointerException at line 42
  2026-06-06T15:12:46Z     | WARN   | scheduler-1                   | Job took 5000ms

Nginx/Apache Access Logs

read_logs(path="access.log", status_filter="5xx")
→ 3 hits (of 50000 total)
  TIMESTAMP                | ST  |    MS |  BYTES | FROM            | REQUEST
  12/Jun/2026:10:53:07Z    | 500 |       |     56 | 10.0.0.2        | POST /api/login
  12/Jun/2026:10:53:09Z    | 502 |       |      0 | 10.0.0.3        | GET /api/users

NDJSON (kubectl logs, docker logs)

read_logs(path="pod-logs.json")
→ 500 app log entries
  TIMESTAMP                | LVL    | THREAD                        | MESSAGE
  2026-06-06T15:12:44Z     | ERROR  |                               | Connection refused
  2026-06-06T15:12:45Z     | INFO   |                               | Retrying in 5s...

Aggregate Summary

summarize_logs(path="deployment.log")
→ === App Log Summary (3808 entries) ===

  Level distribution:
    INFO: 3749 (98.5%)
    WARN: 55 (1.4%)
    ERROR: 4 (0.1%)

  Top 10 loggers:
    3012x  de.hybris.platform.impex.jalo.imp.ImpExWorker
     215x  de.hybris.platform.servicelayer.impex.impl.DefaultImportService
     ...

  Warnings/Errors (22 unique):
    [WARN] column absolute of type Discount is read-only...
    [ERROR] Can not resolve any more lines...

Error Detection (with ImpEx awareness)

get_errors(path="deployment.log")
→ === ImpEx Failures (3) ===

  [IMPEX FAILURE] 2026-06-06T15:12:46Z
    Thread:  main
    Logger:  de.hybris.platform.impex.jalo.cronjob.ImpExImportJob
    Message: Can not resolve any more lines ... Aborting further passes (at pass 3).

  === Errors (2) ===

  [ERROR] 2026-06-06T15:12:46Z
    Thread:  main
    Logger:  de.hybris.platform.core.Initialization
    Message: SystemSetupException: Impex import failed for : '00037874-ImpEx-Import'

Troubleshooting Workflow

1. read_logs(path="file.log")                    → Quick scan (compact, low tokens)
2. summarize_logs(path="file.log")               → Level distribution, top loggers
3. get_errors(path="file.log")                   → All errors + ImpEx failures
4. get_context(path="file.log", timestamp="..")  → Entries around a specific time

Token Savings

Token Savings

Supported Formats

Before vs After Workflow

Input

Without log-pruner

With log-pruner

Savings

10-hit OpenSearch JSON

~2,500 tokens

~50 tokens

~98%

4MB CSV export (3,800 rows)

~400,000 tokens

~3,000 tokens

~99%

1000-line Spring Boot log

~15,000 tokens

~200 tokens

~99%

Nginx access log (10k lines)

~150,000 tokens

~500 tokens

~99%

Error extraction from any format

~400,000 tokens

~500 tokens

~99%

Limitations

  • Plain text parsing relies on pattern matching — custom formats without a recognized timestamp pattern won't be parsed (lines are skipped)

  • Application log parsing expects JSON in the log field or direct level/message fields

  • ImpEx detection is pattern-based — custom error messages outside the known patterns won't be caught

  • API mode requires opensearch-py and env vars configured

  • Time filtering uses string comparison (works for ISO timestamps; approximate for other formats)

Available Tools

5 tools
get_contextA

Get full log entries around a specific timestamp — like grep -C for logs. Shows what happened before and after an event for troubleshooting.

Args: path: Path to local OpenSearch JSON file. index: OpenSearch index to query (requires OPENSEARCH_URL env). timestamp: Center timestamp (ISO format, e.g. "2026-06-03T01:05:05Z"). window_seconds: Seconds before and after timestamp to include (default 5). pod: Optional pod name filter — only show entries from this pod. limit: Max entries to return (default 50).

ParametersJSON Schema
NameRequiredDescriptionDefault
podNo
pathNo
indexNo
limitNo
timestampNo
window_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the burden. It mentions that the 'index' parameter requires the OPENSEARCH_URL env variable and gives default values for window_seconds and limit. However, it does not disclose the return format, ordering, or behavior when no logs are found, leaving some transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two clear sentences establishing purpose, followed by a bullet-style argument list. Every sentence adds value, and the structure is front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters, no schema descriptions, and no annotations, the description covers parameter semantics and a key environmental requirement (OPENSEARCH_URL). However, it omits whether path and index are mutually exclusive, does not clarify that timestamp is effectively required, and does not address error cases or output structure. An output schema exists, but the description itself is not fully complete for an agent to use without ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the tool description compensates by listing all six parameters with explanations, including the timestamp format example, the role of pod as a filter, and default values. This adds significant meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'full log entries around a specific timestamp' and uses the analogy 'like grep -C for logs', which immediately conveys its purpose and distinguishes it from sibling tools like get_errors or query_logs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly frames the tool for troubleshooting and provides context on when to use it (showing logs before and after an event). It does not explicitly state when not to use it or mention alternatives, but the usage context is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_errorsA

Get full detail for non-200 responses (errors). Shows stack traces, log bodies, pod info — everything needed for troubleshooting.

Args: path: Path to local OpenSearch JSON file. index: OpenSearch index to query (requires OPENSEARCH_URL env). query: Additional Lucene query for API mode. time_from: ISO timestamp lower bound. time_to: ISO timestamp upper bound. limit: Max error entries to return (default 20). context_before: Number of log entries to show before each error (default 0). Set to 20 to see what happened leading up to the error.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
indexNo
limitNo
queryNo
time_toNo
time_fromNo
context_beforeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It reveals output content (stack traces, log bodies) and mentions two modes (local file vs OpenSearch index) with an environment variable requirement. However, it omits error handling (e.g., if both path and index are provided), return structure, and potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is front-loaded with a clear purpose statement followed by structured Args list. It is not overly verbose, though the Arg descriptions could be slightly more concise. Overall efficiently conveys necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, two data sources, output schema present), the description covers core behavior but lacks details on parameter interactions (e.g., mutual exclusivity of path and index) and edge cases. The presence of an output schema reduces the need to explain return values, but behavioral gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries full parameter explanation. It thoroughly describes all 7 parameters, including types, defaults, and contextual details (e.g., 'ISO timestamp', 'requires OPENSEARCH_URL env'). This compensates fully for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves full details for non-200 responses (errors), including stack traces, log bodies, and pod info. This distinguishes it from sibling tools like query_logs or read_logs which are general-purpose log retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool versus alternatives like query_logs or read_logs. It lacks explicit when-not-to-use instructions or comparisons to siblings, forcing the agent to infer usage from the name and context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_logsA

Query OpenSearch directly and return compact log table. Requires OPENSEARCH_URL env var.

Args: index: OpenSearch index pattern (e.g. "logs-json-"). query: Lucene query string (e.g. "status:500 AND logs.requestFirstLine:/api/users*"). time_from: ISO timestamp lower bound (e.g. "2026-06-03T01:00:00Z"). time_to: ISO timestamp upper bound. limit: Max entries to fetch (default 50). status_filter: Client-side filter by HTTP status after fetch. min_response_time: Client-side filter by min response time (ms).

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYes
limitNo
queryNo
time_toNo
time_fromNo
status_filterNo
min_response_timeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses client-side filtering (status_filter, min_response_time) and parameter defaults, but does not mention pagination, error behavior, or performance implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately long with a summary and bullet-style args. It is structured but could be more concise; the first sentence effectively summarizes the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

All 7 parameters are described with examples, and the env var requirement is noted. An output schema exists, so the lack of return value description is acceptable. Missing details on error handling or rate limits but sufficient for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description provides detailed semantics for each parameter, including examples and default values (e.g., Lucene query format, ISO timestamps). Fully compensates for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries OpenSearch and returns a compact log table. However, it does not differentiate from siblings like read_logs or summarize_logs, lacking specificity on when this tool is preferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It mentions the OPENSEARCH_URL requirement but does not specify when not to use it or provide example contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_logsA

Read an OpenSearch log file (JSON or CSV) and return compact log table. Strips kubernetes metadata, duplicate fields — ~98% token reduction. Supports both HTTP access logs and application logs (auto-detected).

Args: path: Path to the OpenSearch JSON or CSV export file. limit: Max entries to return (default 100). status_filter: Only show entries with this HTTP status (e.g. "500", "4xx"). Only applies to HTTP access logs. min_response_time: Only show entries slower than this (ms). Only applies to HTTP access logs. time_from: ISO timestamp lower bound filter (e.g. "2026-06-03T01:05:05Z"). time_to: ISO timestamp upper bound filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
limitNo
time_toNo
time_fromNo
status_filterNo
min_response_timeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses key behaviors: stripping Kubernetes metadata and duplicate fields for ~98% token reduction, auto-detecting log types, and returning a compact table. It does not mention read-only nature but implies it, and lacks details on rate limits or auth, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a concise purpose statement, followed by key transformations (stripping, token reduction, auto-detection). The Args section is clearly separated and each parameter is described in a single line. No redundant or unnecessary sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, no annotations, and an output schema exists, the description covers the main functionality and filtering options. It does not explain return values (handled by output schema) but could mention file path assumptions or performance notes. Overall, sufficient for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The 'Args:' section thoroughly explains all 6 parameters with details like default (limit), applicability notes (status_filter/min_response_time only for HTTP access logs), and format (ISO timestamps for time_from/time_to), adding significant value beyond the schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Read an OpenSearch log file (JSON or CSV) and return compact log table', specifying the action, resource, and output format. It also distinguishes from siblings by highlighting file-based reading vs likely query-based tools like query_logs, and mentions token reduction and auto-detection of log types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives (e.g., query_logs, summarize_logs). It only describes what it does without providing conditions, prerequisites, or exclusions, leaving the agent to infer from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summarize_logsA

Aggregate log summary: top endpoints, error rates, slowest requests, unique IPs. Provide either path (file) or index (API).

Args: path: Path to local OpenSearch JSON file. index: OpenSearch index to query (requires OPENSEARCH_URL env). query: Lucene query string for API mode. time_from: ISO timestamp lower bound for API mode. time_to: ISO timestamp upper bound for API mode. limit: Max entries to analyze (default 200).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
indexNo
limitNo
queryNo
time_toNo
time_fromNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions output aggregates and env requirements but lacks details on whether the tool is read-only, error handling, or performance implications. Destructive potential is not addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear lead sentence followed by structured argument list. It avoids fluff, though the first sentence is a fragment. The layout is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Inputs are well-covered, and the output schema exists (not shown) so return values need not be detailed. However, missing guidance on mutually exclusive parameters (path vs index), edge cases, and error states reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries full weight. It explains each parameter (path, index, query, time_from, time_to, limit) with context like local file vs API index, Lucene query, ISO timestamps, and default limit. This adds significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool aggregates log summaries including top endpoints, error rates, slowest requests, and unique IPs. It also specifies two modes (file or API index), making the purpose distinct from sibling tools like query_logs or get_errors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use file mode vs API mode and mentions required env variable for API. However, it does not explicitly differentiate from siblings or state when not to use this tool (e.g., when raw logs are needed).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedget_context
    • First observedget_errors
    • First observedquery_logs
    • First observedread_logs
    • First observedsummarize_logs

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct purpose: get_context retrieves logs around a timestamp, get_errors filters errors, query_logs queries OpenSearch directly, read_logs reads from a file, and summarize_logs aggregates. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: get_context, get_errors, query_logs, read_logs, summarize_logs. The naming is predictable and clear.

Tool Count5/5

With 5 tools, the server is well-scoped for log analysis. Each tool covers a specific operation (read, query, error extraction, context, summary) without redundancy or excessive complexity.

Completeness5/5

The tool set covers all essential log analysis operations: reading, querying, error inspection, context retrieval, and summarization. No obvious gaps for the intended domain of log troubleshooting.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A Python-based MCP server that enables AI-assisted log file analysis with features for filtering, parsing, and interpreting log outputs, plus executing and analyzing test runs with varying verbosity levels.
    12
    12
    -
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for log file analysis. Gives LLMs the ability to efficiently analyze large log files without loading them into context.
    7
    100
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides structure-aware code analysis (symbol trees, dependencies, docs) to reduce AI agent token consumption by up to 99%, along with Git commit intelligence.
    MIT