mcp-local-telemetry
# mcp-local-telemetry
[](https://github.com/Jamie643/mcp-local-telemetry/actions/workflows/ci.yml)
[](https://pypi.org/project/mcp-local-telemetry/)
[](https://pypi.org/project/mcp-local-telemetry/)
[](https://github.com/Jamie643/mcp-local-telemetry/blob/main/LICENSE)
A lightweight [Model Context Protocol](https://modelcontextprotocol.io) 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.
## Tools
| Tool | Description |
| --- | --- |
| `get_system_metrics` | CPU %, memory %, disk %, load average, boot time. |
| `get_top_processes` | Top-N processes by CPU usage. |
## Or install from source:
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 .
## Claude Code
claude mcp add local-telemetry -- mcp-local-telemetry
## Cursor / Claude Desktop (mcp.json)
{
"mcpServers": {
"local-telemetry": {
"command": "mcp-local-telemetry"
}
}
}
## Manual smoke test
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_system_metrics","arguments":{}}}' \
| mcp-local-telemetry
## Development
pip install -e ".[dev]"
ruff check .
mypy mcp_server.py
pytest
## Protocol notes
Transport: JSON-RPC 2.0 over stdio, newline-delimited.
Protocol version: 2024-11-05.
Capabilities: tools only.
All logs go to stderr; stdout carries only JSON-RPC frames.
## License
MIT — see LICENSE.
## Commit it
```bash
git add README.md
git commit -m "Rewrite README: add badges, remove unrelated stack section, use PyPI install"
git push
## Install
```bash
pip install mcp-local-telemetry
TDQS
Scored across 2 tools
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.
Both tools follow a consistent get_<noun> snake_case verb_noun pattern. Naming is predictable and idiomatic throughout.
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.
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.