infra-lens-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PROFILE | No | full, remote-safe, chatgpt, or claude | full |
| INFRA_LENS_DB | No | SQLite database path | ~/.infra-lens-mcp/metrics.db |
| MCP_HTTP_HOST | No | HTTP bind host. HOST remains a deprecated alias | 127.0.0.1 |
| MCP_HTTP_PORT | No | HTTP bind port. PORT remains a deprecated alias | 3000 |
| MCP_HTTP_AUTH_MODE | No | none, bearer, or oauth-gateway; oauth is accepted as a compatibility alias | none |
| MCP_SSH_KNOWN_HOSTS | No | Known hosts file | ~/.ssh/known_hosts |
| MCP_HTTP_BEARER_TOKEN | No | Local/dev bearer fallback token | unset |
| MCP_SSH_ALLOWED_HOSTS | No | Exact host/IP or IPv4 CIDR allowlist; required for remote-safe profiles and enforced in full profile when set | unset |
| MCP_SSH_ALLOWED_PORTS | No | Optional comma-separated SSH port allowlist | unset |
| MCP_SSH_ALLOWED_USERS | No | Optional comma-separated SSH username allowlist | unset |
| MCP_HTTP_ALLOWED_HOSTS | No | Comma-separated allowed Host values | unset |
| MCP_HTTP_ENDPOINT_PATH | No | Canonical Streamable HTTP MCP endpoint path | /mcp |
| MCP_HTTP_ALLOWED_ORIGINS | No | Comma-separated allowed Origin values | unset |
| INFRA_LENS_RETENTION_DAYS | No | Snapshot retention in days; 0 disables automatic pruning | 30 |
| MCP_HTTP_BODY_LIMIT_BYTES | No | Maximum JSON request body size | 1048576 |
| MCP_HTTP_REQUEST_TIMEOUT_MS | No | Maximum time to receive and handle an HTTP request before the socket is closed | 30000 |
| MCP_SSH_STRICT_HOST_CHECKING | No | Strict host key verification toggle | true |
| MCP_HTTP_OAUTH_GATEWAY_HEADER | No | Header injected by a trusted OAuth gateway | x-infra-lens-gateway-auth |
| MCP_HTTP_OAUTH_GATEWAY_SECRET | No | Shared backend secret required for oauth-gateway mode | unset |
| MCP_SSH_MAX_SESSIONS_PER_HOST | No | Optional active SSH session cap per host:port; 0 disables it | 0 |
| MCP_HTTP_AUTHORIZATION_SERVERS | No | OAuth authorization server metadata URLs | unset |
| MCP_HTTP_RATE_LIMIT_PER_MINUTE | No | Optional per-client in-memory rate limit; 0 disables it | 0 |
| MCP_HTTP_MAX_CONCURRENT_REQUESTS | No | Maximum concurrent HTTP requests accepted by the Node process | 100 |
| MCP_SSH_MAX_CONNECTION_ATTEMPTS_PER_MINUTE | No | Optional SSH connection-attempt cap per host:port per minute; 0 disables it | 0 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| analyze_serverB | Collect metrics from a server and explain any anomalies in human language |
| snapshotB | Collect and save current server metrics without analysis |
| record_baselineA | Record current metrics as baseline during normal operation for more accurate anomaly detection later |
| compare_to_baselineB | Compare current server state to a recorded baseline and explain the differences |
| get_historyB | Get historical CPU, memory, or load values for a server |
| inspect_host_capabilitiesB | Check whether a Linux host supports infra-lens collection |
| plan_remediationA | Collect a current read-only snapshot and produce approval-required remediation guidance without executing changes |
| draft_incident_reportB | Create a review-first incident report and postmortem draft from persisted observations |
| compare_incident_windowsA | Compare adjacent time windows for one host or the same recent window across two hosts |
| analyze_server_snapshotC | Collect one immediate server snapshot, analyze it, and persist the completed observation without a sampling delay |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Several tools have overlapping purposes, especially analyze_server and analyze_server_snapshot which both collect and analyze metrics with subtle differences in timing and persistence. snapshot and analyze_server_snapshot also share collection behavior, while compare_to_baseline and compare_incident_windows both perform comparisons in different contexts. Descriptions provide some clarity, but boundaries are not always obvious.
Most tool names follow a verb_noun pattern (analyze_server, record_baseline, compare_to_baseline, get_history, inspect_host_capabilities, plan_remediation, draft_incident_report, compare_incident_windows). However, 'snapshot' is a bare noun, and 'analyze_server_snapshot' diverges from the simpler 'analyze_server' pattern, introducing minor inconsistency.
With 10 tools, the server covers monitoring, baselining, comparison, history, remediation, and incident reporting without feeling bloated. Each tool addresses a distinct aspect of the infrastructure analysis workflow, and the count is well within the ideal range.
The tool set covers the core lifecycle of server monitoring: collection, analysis, baseline recording/comparison, historical lookup, host capability checks, remediation planning, and incident reporting. Minor gaps exist, such as no explicit tools to list or delete saved baselines or snapshots, but these do not cripple the main workflows.