# io.github.oaslananka/infra-lens-mcp (npm · infra-lens-mcp)

SSH Linux metrics, baselines, anomaly detection, and plain-English infrastructure explanations.

- Trust score: 73/100 (medium)
- Change this week: +29
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `infra-lens-mcp`: 73/100 (this document), [markdown](https://verifymcp.io/servers/oaslananka-infra-lens-mcp/infra-lens-mcp.md), [page](https://verifymcp.io/servers/oaslananka-infra-lens-mcp/infra-lens-mcp)

## Channel facts

- Registry: `npm`
- Package: `infra-lens-mcp`
- Version: `1.5.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 83/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (138 of 142), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to oaslananka/infra-lens-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 11 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 57/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 524 tokens (~52/item across 10 items; 10 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 84/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 43% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add oaslananka-infra-lens-mcp -- npx -y infra-lens-mcp
```

### Codex

```bash
codex mcp add oaslananka-infra-lens-mcp -- npx -y infra-lens-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "oaslananka-infra-lens-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "infra-lens-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add oaslananka-infra-lens-mcp --command npx --arg -y --arg infra-lens-mcp
```

### Hermes

```yaml
mcp_servers:
  oaslananka-infra-lens-mcp:
    command: "npx"
    args: ["-y", "infra-lens-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "oaslananka-infra-lens-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "infra-lens-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 73, +53)

- [security regression] GHSA-frvp-7c67-39w9 affects this package: medium
- [security regression] Known CVEs: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Provenance: unverified → pass
- [security] The attested source repository moved: oaslananka/infra-lens-mcp
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → fair
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: MIT

### 2026-08-02 (score 20, +1)

- [security improvement] Malware scan: unverified → pass
- [functional regression] Tool coverage: 100 → unverified

### 2026-08-01 (score 19, +14)

- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 5, −39)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 44, +20)

- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 24, −20)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 44)

First indexed and scored.

## MCP tools (10)

### `analyze_server` (~69 tokens)

Analyze Server

Collect metrics from a server and explain any anomalies in human language

Input parameters:

- `connection` (object, required)
- `duration_minutes` (integer): How many minutes of metrics to collect for analysis
- `include_network` (boolean): Include network metrics
- `include_processes` (boolean): Include top process analysis

Output parameters:

- `anomalies` (array)
- `collection_mode` (string)
- `collection_window_minutes` (number)
- `health_score` (number)
- `host` (string)
- `metrics` (object)
- `samples_collected` (integer)
- `summary` (string)
- `timestamp` (string)
- `warnings` (array)

### `snapshot` (~23 tokens)

Take Metric Snapshot

Collect and save current server metrics without analysis

Input parameters:

- `connection` (object, required)

Output parameters:

- `host` (string)
- `saved` (boolean)
- `timestamp` (integer)
- `warnings` (array)

### `record_baseline` (~52 tokens)

Record Baseline

Record current metrics as baseline during normal operation for more accurate anomaly detection later

Input parameters:

- `connection` (object, required)
- `label` (string): Label for this baseline (e.g. "normal", "peak-hours")

Output parameters:

- `host` (string)
- `label` (string)
- `message` (string)
- `sample_count` (integer)
- `saved` (boolean)
- `warnings` (array)

### `compare_to_baseline` (~38 tokens)

Compare to Baseline

Compare current server state to a recorded baseline and explain the differences

Input parameters:

- `baseline_label` (string)
- `connection` (object, required)

Output parameters:

- `anomalies` (array)
- `baseline_label` (string)
- `baseline_samples` (integer)
- `health_score` (number)
- `host` (string)
- `summary` (string)
- `warnings` (array)

### `get_history` (~113 tokens)

Get Metric History

Get historical CPU, memory, or load values for a server

Input parameters:

- `cursor` (string): Opaque cursor returned by a previous history page
- `host` (string, required): Server hostname or IP
- `hours` (integer): How many hours of history to return
- `label` (string): Optional label filter; omitted returns observations, set returns matching records
- `limit` (integer): Maximum history points returned in one page; defaults to 100
- `metric` (string): Metric to return from historical snapshots

Output parameters:

- `data_points` (integer)
- `has_more` (boolean)
- `history` (array)
- `host` (string)
- `hours` (integer)
- `label`
- `metric` (string)
- `next_cursor`

### `inspect_host_capabilities` (~28 tokens)

Inspect Host Capabilities

Check whether a Linux host supports infra-lens collection

Input parameters:

- `connection` (object, required)

Output parameters:

- `capabilities` (array)
- `checked_at` (string)
- `host` (string)
- `warnings` (array)

### `plan_remediation` (~32 tokens)

Plan Remediation

Collect a current read-only snapshot and produce approval-required remediation guidance without executing changes

Input parameters:

- `connection` (object, required)

Output parameters:

- `confidence` (number)
- `execution_performed` (boolean)
- `generated_at` (string)
- `health_score` (number)
- `host` (string)
- `review_required` (boolean)
- `steps` (array)
- `summary` (string)

### `draft_incident_report` (~46 tokens)

Draft Incident Report

Create a review-first incident report and postmortem draft from persisted observations

Input parameters:

- `host` (string, required)
- `hours` (integer)
- `limit` (integer)

Output parameters:

- `completeness` (string)
- `detection_evidence` (array)
- `executive_summary` (string)
- `generated_at` (string)
- `host` (string)
- `impact_signals` (array)
- `invalid_rows` (integer)
- `postmortem` (object)
- `remediation` (object)
- `review_required` (boolean)
- `sample_count` (integer)
- `status` (string)
- `timeline` (array)
- `window` (object)

### `compare_incident_windows` (~64 tokens)

Compare Incident Windows

Compare adjacent time windows for one host or the same recent window across two hosts

Input parameters:

- `compare_host` (string)
- `end_timestamp` (integer)
- `host` (string, required)
- `limit` (integer)
- `recent_hours` (integer)

Output parameters:

- `left` (object)
- `left_invalid_rows` (integer)
- `left_label` (string)
- `metrics` (array)
- `review_required` (boolean)
- `right` (object)
- `right_invalid_rows` (integer)
- `right_label` (string)
- `summary` (string)

### `analyze_server_snapshot` (~59 tokens)

Analyze Current Server Snapshot

Collect one immediate server snapshot, analyze it, and persist the completed observation without a sampling delay

Input parameters:

- `connection` (object, required)
- `include_network` (boolean): Include network metrics
- `include_processes` (boolean): Include top process analysis

Output parameters:

- `anomalies` (array)
- `collection_mode` (string)
- `collection_window_minutes` (number)
- `health_score` (number)
- `host` (string)
- `metrics` (object)
- `samples_collected` (integer)
- `summary` (string)
- `timestamp` (string)
- `warnings` (array)

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/oaslananka-infra-lens-mcp/infra-lens-mcp#diagnostics

## Score history

- 2026-08-03: 73
- 2026-08-02: 20
- 2026-08-01: 19
- 2026-07-31: 5
- 2026-07-30: 44
- 2026-07-28: 24
- 2026-07-27: 44

## Links

- npm package: https://www.npmjs.com/package/infra-lens-mcp
- Socket report: https://socket.dev/npm/package/infra-lens-mcp
- Repository: https://github.com/oaslananka/infra-lens-mcp
- Changelog RSS feed: https://verifymcp.io/servers/oaslananka-infra-lens-mcp/infra-lens-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/oaslananka-infra-lens-mcp/infra-lens-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/oaslananka-infra-lens-mcp/infra-lens-mcp
