MCP server for intelligent log file analysis and debugging assistance
Project description
Log Analyzer MCP
🔍 Stop copy-pasting logs into AI. Let Claude read them directly.
An MCP server for AI-powered log analysis. Parse, search, and debug log files across 9+ formats — right from Claude Code.
📊 At a Glance
| 14 MCP tools | 9+ log formats |
| 280 tests | 81%+ coverage |
🎬 Demo
Analyzing logs with 14 specialized tools
🤔 Why?
| Without log-analyzer-mcp | With log-analyzer-mcp |
|---|---|
| Copy-paste chunks of logs | Point Claude at the file |
| Lose context between pastes | Full file access |
| Manual format parsing | Auto-detection |
| Miss related errors | Smart correlation |
✨ Features
- Auto-Detection — Identifies format from 9+ common log types
- Smart Search — Pattern matching with context, regex, and time filtering
- Error Extraction — Groups similar errors, captures stack traces
- Natural Language — Ask questions like "what errors happened today?"
- Sensitive Data Scan — Detect PII, credentials, and secrets
- Multi-File Analysis — Correlate events across distributed systems
- Streaming — Handles 1GB+ files without memory issues
🚀 Quick Start
# Install (adds to Claude Code automatically)
uvx codesdevs-log-analyzer install
Then in Claude Code:
Analyze /var/log/app.log and tell me what's causing the errors
📦 Installation
One-liner (Recommended)
uvx codesdevs-log-analyzer install
Manual
pip / uv / Claude Code config
# pip
pip install codesdevs-log-analyzer
# uv
uv tool install codesdevs-log-analyzer
Add to ~/.claude/settings.json:
{
"mcpServers": {
"log-analyzer": {
"command": "uvx",
"args": ["codesdevs-log-analyzer"]
}
}
}
📋 Supported Formats
| Format | Example |
|---|---|
| Syslog | Jan 15 10:30:00 hostname process[pid]: message |
| Apache/Nginx | 127.0.0.1 - - [15/Jan/2026:10:30:00] "GET /path" 200 |
| JSON Lines | {"timestamp": "...", "level": "ERROR", "message": "..."} |
| Docker | 2026-01-15T10:30:00.123Z stdout message |
| Python | 2026-01-15 10:30:00,123 - module - ERROR - message |
| Java/Log4j | 2026-01-15 10:30:00,123 ERROR [thread] class - message |
| Kubernetes | level=error msg="..." ts=2026-01-15T10:30:00Z |
| Generic | Any line with recognizable timestamp |
⚡ Performance
| Metric | Value |
|---|---|
| 100MB log file | < 10 seconds |
| Memory footprint | Streaming (no full load) |
| Max tested size | 1GB+ |
| Format detection | < 100ms |
🛠️ Available Tools
| Tool | Description |
|---|---|
log_analyzer_parse |
Detect format and extract metadata |
log_analyzer_search |
Search with context lines |
log_analyzer_extract_errors |
Extract and group errors |
log_analyzer_summarize |
Generate debugging summary |
log_analyzer_correlate |
Find related events |
log_analyzer_watch |
Monitor for new entries |
log_analyzer_ask |
Natural language queries |
log_analyzer_scan_sensitive |
Detect PII/credentials |
| + 6 more | Full reference → |
💡 Examples
Find errors:
Extract all errors from /var/log/app.log, group similar ones
Search with context:
Search for "timeout" in app.log with 5 lines of context
Correlate events:
What happened 60 seconds before each OutOfMemoryError?
Scan for secrets:
Check /var/log/app.log for accidentally logged credentials
🔧 Development
git clone https://github.com/Fato07/log-analyzer-mcp
cd log-analyzer-mcp
uv sync
uv run pytest -v --cov
📈 Star History
📄 License
MIT License - see LICENSE for details.
Found this useful? Give it a ⭐ on GitHub!
Report bugs ·
Request features ·
Discussions ·
Full docs
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codesdevs_log_analyzer-0.5.0.tar.gz.
File metadata
- Download URL: codesdevs_log_analyzer-0.5.0.tar.gz
- Upload date:
- Size: 712.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5c4622a002705e4df3a03bb64b8e539c96e5b022f2ea8f24c64d1e39c10aa39
|
|
| MD5 |
3174d1eafa3dd4ef4196ae527d399d9f
|
|
| BLAKE2b-256 |
ade772ae2e5624e7f25c16d1656055b520ec68f2d1019d1cffb887e61334cb11
|
Provenance
The following attestation bundles were made for codesdevs_log_analyzer-0.5.0.tar.gz:
Publisher:
publish.yml on Fato07/log-analyzer-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codesdevs_log_analyzer-0.5.0.tar.gz -
Subject digest:
d5c4622a002705e4df3a03bb64b8e539c96e5b022f2ea8f24c64d1e39c10aa39 - Sigstore transparency entry: 831866826
- Sigstore integration time:
-
Permalink:
Fato07/log-analyzer-mcp@bcf0b3804b5dc52ff80b8a3439bb78e05a7b7b56 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/Fato07
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bcf0b3804b5dc52ff80b8a3439bb78e05a7b7b56 -
Trigger Event:
push
-
Statement type:
File details
Details for the file codesdevs_log_analyzer-0.5.0-py3-none-any.whl.
File metadata
- Download URL: codesdevs_log_analyzer-0.5.0-py3-none-any.whl
- Upload date:
- Size: 114.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be737b74a1c0a7a9544a5dc2d928912c966ae0c5b49541c791f3a3418f7d0e1e
|
|
| MD5 |
40b10a599e7a3b4ce707b67df262e485
|
|
| BLAKE2b-256 |
db1d54f4cbe84c6fb70052ff6c7cd433b4ebf0332ae054728bf522866e31b81f
|
Provenance
The following attestation bundles were made for codesdevs_log_analyzer-0.5.0-py3-none-any.whl:
Publisher:
publish.yml on Fato07/log-analyzer-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codesdevs_log_analyzer-0.5.0-py3-none-any.whl -
Subject digest:
be737b74a1c0a7a9544a5dc2d928912c966ae0c5b49541c791f3a3418f7d0e1e - Sigstore transparency entry: 831866836
- Sigstore integration time:
-
Permalink:
Fato07/log-analyzer-mcp@bcf0b3804b5dc52ff80b8a3439bb78e05a7b7b56 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/Fato07
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bcf0b3804b5dc52ff80b8a3439bb78e05a7b7b56 -
Trigger Event:
push
-
Statement type: