MCP Infra Lens
mcp-infra-lens
Erklären Sie Linux-Vorfälle über SSH mit Baseline-fähigen MCP-Tools.
Demo

Beispiel für eine analyze_server-Antwort, wenn Claude fragt: „Was stimmt mit prod-01 nicht?“:
{
"host": "prod-01.internal",
"health_score": 42,
"summary": "Found 2 anomalies on prod-01.internal. Most urgent signal: CPU is at 91% (3.4σ above baseline 28.2%). Load is 7.2/6.8/5.1. Top CPU consumer: java (87%).",
"anomalies": [
{
"metric": "cpu",
"severity": "high",
"value": 91,
"z_score": 3.4,
"explanation": "CPU is at 91% (3.4σ above baseline 28.2%). Load is 7.2/6.8/5.1. Top CPU consumer: java (87%).",
"recommendation": "Investigate java (PID 18432) and review application logs or scale-out options."
},
{
"metric": "disk:/",
"severity": "high",
"value": 91,
"explanation": "Disk / is 91% full (182GB/200GB).",
"recommendation": "Run du -sh //* | sort -rh | head -20 and clean logs or temporary files."
}
]
}Was es tut
mcp-infra-lens verbindet sich über SSH mit Linux-Hosts, erstellt einen Live-Infrastruktur-Snapshot, vergleicht diesen mit kürzlich aufgezeichneten Baselines und erklärt Anomalien in einfacher Sprache.
Erfasst CPU-, Speicher-, Festplatten-, Netzwerk-, Prozess- und OS-Daten, ohne den Ziel-Host zu verändern
Zeichnet lokale Metrik-Historien in SQLite für Baselines, Vergleiche und Trendanalysen auf
Verwendet Z-Score-Analyse zur CPU-Anomalieerkennung, sobald genügend Baseline-Stichproben vorhanden sind
Erklärt die wahrscheinliche Ursache von Belastungen, nicht nur den reinen Metrikwert
Unterstützt MCP über
stdiound Streamable HTTP
Funktionsweise
flowchart TD
A["Claude / Cursor / VS Code / Windsurf"] --> B["mcp-infra-lens"]
B --> C["server-core.ts"]
C --> D["collector.ts"]
C --> E["analyzer.ts"]
C --> F["baseline.ts + db.ts"]
D --> G["ssh.ts"]
G --> H["Linux host over SSH"]
F --> I["SQLite history + baselines"]analyze_server führt nun eine echte Stichprobenerhebung über die angeforderte duration_minutes durch, mittelt die CPU- und Speicherauslastung über das Erfassungsfenster, speichert den resultierenden Snapshot und führt dann eine Anomalieerkennung gegen die ausgewählte Baseline durch.
Tools
Tool | Was es tut | Wichtige Parameter |
| Erfasst einen Stichproben-Snapshot, speichert ihn und erklärt Anomalien |
|
| Erfasst und speichert die aktuellen Metriken ohne Analyse |
|
| Speichert eine markierte Stichprobe des Normalzustands für zukünftige Vergleiche |
|
| Vergleicht den aktuellen Zustand mit einer benannten Baseline und erklärt die Deltas |
|
| Gibt historische CPU-, Speicher- oder Lastwerte aus SQLite zurück |
|
Schnellstart
1. Ausführen via npx
npx -y mcp-infra-lensWenn Sie auf 1.0.1 fixiert sind, führen Sie ein Upgrade auf 1.0.2 oder neuer durch, um native Installationsfehler unter Node 24 zu vermeiden:
npx -y mcp-infra-lens@latest2. Claude Desktop
Veröffentlichtes Paket:
{
"mcpServers": {
"infra-lens": {
"command": "npx",
"args": ["-y", "mcp-infra-lens"],
"env": {
"INFRA_LENS_DB": "/Users/you/.mcp-infra-lens/metrics.db"
}
}
}
}Lokale Entwicklung:
{
"mcpServers": {
"infra-lens": {
"command": "node",
"args": ["/absolute/path/to/mcp-infra-lens/dist/mcp.js"],
"env": {
"INFRA_LENS_DB": "/Users/you/.mcp-infra-lens/metrics.db"
}
}
}
}3. Docker
docker build -t mcp-infra-lens .
docker run --rm -it \
-v "$HOME/.mcp-infra-lens:/home/appuser/.mcp-infra-lens" \
mcp-infra-lensKonfiguration
Umgebungsvariable | Standard | Beschreibung |
|
| Pfad zur SQLite-Datenbank. Verwenden Sie |
|
| Bind-Adresse für den HTTP-Transport |
|
| Port für den HTTP-Transport |
Gesundheits-Score
90-100: gesund, keine signifikanten Anomalien erkannt70-89: leichte oder isolierte Belastung40-69: mehrere Warnungen oder ein größeres Problem im Gange0-39: kritischer Zustand, dringende Maßnahmen erforderlich
Empfohlener Workflow
Zeichnen Sie
record_baseline-Stichproben während normaler Betriebszeiten auf.Verwenden Sie
analyze_serverbei Vorfällen oder Lastspitzen.Verwenden Sie
compare_to_baselinefür eine präzisere Differenzansicht gegenüber einer benannten Baseline.Verwenden Sie
get_history, um Trends zu untersuchen und Standard-Snapshots von markierten Baseline-Sitzungen zu trennen.
Authentifizierung
Das SSH-Eingabeschema unterstützt:
Passwort-Authentifizierung
Inline-Authentifizierung mit privatem Schlüssel
Optionale Passphrase-Unterstützung für verschlüsselte Schlüssel
Anmeldedatenfelder werden aus strukturierten Protokollen entfernt, bevor sie in stderr geschrieben werden.
Sicherheitshinweise
Die SSH-Erfassung erfolgt schreibgeschützt auf dem Ziel-Host
SSH-Anmeldedaten werden niemals in SQLite gespeichert
Die Host-Key-Verifizierung ist in v1 aus Kompatibilitätsgründen permissiv; Produktionsbereitstellungen sollten ausgehenden Netzwerkzugriff einschränken und planen, eine strikte Host-Verifizierung in einem späteren Release zu erzwingen
Der HTTP-Transport verfügt über keine integrierte Authentifizierung; binden Sie ihn an Loopback und platzieren Sie ihn in nicht-lokalen Bereitstellungen hinter einem authentifizierten Reverse-Proxy
Siehe SECURITY.md für die Meldungsrichtlinie und den Umfang der gespeicherten Daten.
Integrationen
Claude Desktop
{
"mcpServers": {
"infra-lens": {
"command": "npx",
"args": ["-y", "mcp-infra-lens"],
"env": {
"INFRA_LENS_DB": "/Users/you/.mcp-infra-lens/metrics.db"
}
}
}
}Cursor IDE
{
"mcpServers": {
"infra-lens": {
"command": "npx",
"args": ["-y", "mcp-infra-lens"]
}
}
}VS Code (MCP-Erweiterung)
{
"inputs": [],
"servers": {
"infra-lens": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-infra-lens"]
}
}
}Windsurf
{
"mcpServers": {
"infra-lens": {
"command": "npx",
"args": ["-y", "mcp-infra-lens"]
}
}
}Docker (HTTP-Transport)
docker run -d \
-p 3000:3000 \
-v $HOME/.mcp-infra-lens:/home/appuser/.mcp-infra-lens \
ghcr.io/oaslananka/mcp-infra-lens:latestKonfigurieren Sie dann Ihren MCP-Client für die Verwendung von http://localhost:3000.
Docker
Das gebündelte Docker-Image:
Erstellt das TypeScript-Projekt in einer separaten Stufe
Erstellt
better-sqlite3für die Container-Architektur in beiden Stufen neuLäuft als Nicht-Root-
appuserSpeichert SQLite-Daten in
/home/appuser/.mcp-infra-lens/metrics.db
Mitwirken
Beiträge sind willkommen. Beginnen Sie mit CONTRIBUTING.md und verwenden Sie dann:
docs/usage.md für Tool-Beispiele
docs/architecture.md für die Komponentenübersicht
docs/testing.md für lokale Validierungs- und Veröffentlichungsprüfungen
RELEASE_POLICY.md für Versionsregeln von npm und MCP Registry
AGENTS.md,CLAUDE.md,GEMINI.md,.github/copilot-instructions.mdund.agent/rules/repository.mdfür repository-spezifische KI-Coding-Richtlinien
Betriebs- / CI-Hinweise
azure-pipelines.ymlist die kanonische CI-Pipeline und führt nun eineQuality-Stufe auf Node 20 und Node 22 aus, veröffentlicht JUnit- und Cobertura-Artefakte und führt Docker-basierte SSH-E2E-Abdeckung auf Node 20 aus.azure/pipelines/publish.ymlbleibt die manuelle npm-Release-Pipeline.azure/pipelines/mirror.ymlbleibt für Repository-Mirroring-Workflows verfügbarVeröffentlichen Sie erst, nachdem die lokale Pre-Publish-Checkliste und die CI auf Node 20 erfolgreich durchlaufen wurden
Befolgen Sie RELEASE_POLICY.md, wenn Sie entscheiden, ob eine Änderung eine npm-, MCP Registry- oder eine reine Registry-Pre-Release-Veröffentlichung erfordert
Lizenz
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.1- First observed
analyze_server - First observed
compare_to_baseline - First observed
get_history - First observed
record_baseline - First observed
snapshot
TDQS
Tools are mostly distinct, though analyze_server and compare_to_baseline both perform explanatory analysis of deviations, which could cause brief hesitation. snapshot vs analyze_server clearly separates raw collection from analysis.
Four tools follow a clear verb_noun pattern (analyze_server, get_history, record_baseline, compare_to_baseline). snapshot stands alone without a verb prefix, though it functions as a verb in context—minor deviation but readable.
Five tools is ideal for this focused scope: baseline lifecycle (record, compare), historical retrieval, real-time analysis, and raw capture. Each serves a specific step in the monitoring workflow without bloat.
Covers the core monitoring lifecycle: establishing baselines, recording current state, historical lookup, and comparative analysis. Minor gaps exist (no list_baselines or delete_baseline), but agents can work around these.
Related MCP Connectors
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
- emisarOAuthdev.emisar
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Gain visibility into the performance, availability, and health of your apps and infrastructure.
Scoped, audited SSH exec, sessions, and SFTP on your saved servers without exposing credentials
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/oaslananka/mcp-infra-lens'
If you have feedback or need assistance with the MCP directory API, please join our Discord server