Skip to main content
Glama
Jamie643

mcp-local-telemetry

by Jamie643

mcp-local-telemetry

A lightweight Model Context Protocol server that exposes local system telemetry (CPU, RAM, Disk, top processes) to MCP-aware AI agents — Claude Code, Cursor, ChatGPT Desktop, and any other MCP client.

Written as a single-file, dependency-light Python script. Ships in under 200 lines and speaks JSON-RPC 2.0 over stdio.

Why

AI coding agents are increasingly asked to reason about the machine they are running on — "is it safe to run this build?", "what's eating CPU right now?". This server gives them a structured, protocol-standard way to ask.

Related MCP server: open-monitor

Tools

Tool

Description

get_system_metrics

CPU %, memory %, disk %, load average, boot time.

get_top_processes

Top-N processes by CPU usage.

Install

git clone https://github.com/Jamie643/mcp-local-telemetry.git
cd mcp-local-telemetry
python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .

Available Tools

2 tools
get_system_metricsGet System MetricsA

Returns current CPU, RAM, and Disk utilisation for the local machine. Useful for pre-flight checks before launching heavy builds, containers, or model inference.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses scope ('local machine') and implies a read-only snapshot via 'Returns', but says nothing about permissions, cost, latency, or whether the values are instantaneous vs. averaged. Adequate but not rich given the zero annotation coverage.

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?

Two tight sentences with zero padding: the first defines what is returned, the second defines when to use it. Information is front-loaded and every clause earns its place.

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?

For a zero-parameter, low-complexity read tool with no output schema, the description covers the essentials by naming the three metric families returned and giving a use case. It stops short of describing units, formatting, or refresh semantics, which an agent would need for precise downstream reasoning.

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 tool takes no parameters and the schema is fully self-describing, so the baseline of 4 applies. The description correctly adds nothing parameter-related because there is nothing to disambiguate.

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?

States a specific verb ('Returns') and resource ('CPU, RAM, and Disk utilisation') with clear scope ('for the local machine'), so an agent immediately knows what data comes back. It does not explicitly differentiate itself from the sibling get_top_processes, but the resource distinction is implicit and clear enough.

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?

Gives concrete when-to-use guidance: pre-flight checks before heavy builds, containers, or model inference. It supplies no explicit exclusions or named alternatives, which keeps it short of a 5, but the usage context is unambiguous.

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

get_top_processesGet Top ProcessesC

Returns the N processes with the highest CPU usage.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many processes to return.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only states the sort criterion. It doesn't say whether the result is a live snapshot or averaged, whether ties are broken deterministically, or whether privileges are required to see other users' processes.

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?

A single tight sentence with the ranking criterion front-loaded and no filler. It is efficient, though arguably too terse given the absence of annotations.

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?

For a one-parameter read tool with no output schema, the core contract is covered. Still, ordering behavior and result format go unmentioned, leaving gaps that annotations would otherwise have filled.

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

Parameters3/5

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

Schema coverage is 100% and the single limit parameter is fully documented in the schema, so the baseline is 3. The description's 'N processes' merely restates the limit parameter without adding format or behavior detail.

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 states a specific verb (returns), resource (processes), and ranking criterion (highest CPU usage), which is enough to tell it apart from a metrics-aggregation sibling. It stops short of explicitly naming or contrasting with get_system_metrics, so sibling differentiation is only implied.

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?

There is no when-to-use guidance, no prerequisites, and no mention of the get_system_metrics alternative for aggregate CPU data. The agent must infer that this is for per-process inspection rather than system-level totals.

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. 2 tool updatesv0.1.0
    • First observedget_system_metrics
    • First observedget_top_processes

TDQS

B3.4/5.0

Scored across 2 tools

Disambiguation5/5

get_system_metrics returns aggregate machine-level stats while get_top_processes returns per-process ranking, so their purposes are clearly distinct. An agent can trivially choose between them with no overlap.

Naming Consistency5/5

Both tools follow a consistent get_<noun> snake_case verb_noun pattern. Naming is predictable and idiomatic throughout.

Tool Count3/5

Two tools is on the thin side for a telemetry server; while each earns its place, the surface feels minimal and could reasonably include a couple more monitoring dimensions without bloat.

Completeness3/5

Core CPU/RAM/Disk and top-CPU-process coverage exists, but network I/O, memory-heavy process ranking, disk I/O, and any historical/sampling data are missing. Agents can perform basic pre-flight checks but hit dead ends for richer diagnostics.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A real-time system diagnostics MCP server that gives AI agents live access to CPU, RAM, disk, network, processes, and hardware health metrics, with zero cloud dependency.
    7
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Multi-machine system monitor with a built-in MCP server that enables AI agents to query health metrics, manage processes, schedule cron jobs, and run diagnostics across local and remote machines.
    133 npm
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to monitor real-time CPU, RAM, and disk usage on the local machine.
    -