SkillTide Submit
Official description7 sourcesMCP servers8d ago
arnavranjan005/mcp-telemetry

arnavranjan005/mcp-telemetry

Socket.IO-style telemetry for MCP servers — live progress from any tool call, watched by any MCP client.
View on GitHub ↗Direct link · no redirect page
Config template (adjust for your client)
claude mcp add mcp-telemetry -- npx -y mcp-telemetry
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
2 ★ · arnavranjan005/mcp-telemetry · read from the GitHub search API · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 2 ★ · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository arnavranjan005/mcp-telemetry;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Third-party quality signals

mcp-telemetry

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

**Socket.IO for AI agents.** Instrument any MCP server's tool calls with a few lines, and any MCP client watching (Claude Code, Cursor, or your own tooling) gets live, structured progress — no polling, no context-flooding tool calls.
Why this exists
MCP tool calls are synchronous: an agent calls a tool, waits, gets a result. For anything long-running, that leaves two bad options — block the whole call with no visibility, or have the agent poll a status tool in a loop (which floods the conversation with repeated tool calls and burns context for no new information).
MCP does have one legitimate way for a server to push updates mid-call: notifications/progress, keyed to a progressToken on the in-flight request. But every MCP server author ends up re-implementing the same plumbing — extracting the token, wiring a timer, tailing output, cleaning up on completion. mcp-telemetry is that plumbing, factored out once, plus a companion server so a job started in _one_ session can be watched from a completely different one.
How it fits together
Two packages, one job each:
| Package | Who uses it | What it does |
| ----------------------------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| mcp-telemetry-sdk | MCP server authors | Import it, call job.start() / .stepDone() / .log() from your tool handlers. Zero runtime dependencies — it's a socket writer with a persistent, queued connection and nothing else. |
| mcp-telemetry-server | Agent users | An MCP server you register once. Exposes telemetry_subscribe (blocks and streams live progress for a job), plus telemetry_jobs/telemetry_job_status for point-in-time queries. |
These two packages are architecturally independent — the SDK never calls any MCP tool, and the server never imports your tool's code. They only ever meet at a local socket, so a producer with a broken connection can't take down anything, and a collector that's overwhelmed can't block your tool call.
Quickstart
1. Instrument your MCP server (mcp-telemetry-sdk)
That's the entire integration. If nothing is listening on the socket, every call is a fast no-op — your server behaves identically with or without a collector running.
2. Watch it from an agent (mcp-telemetry-server)
Register it as an MCP server, alongside your instrumented one:
Then, in your agent session:
No polling, no separate terminal, no context-flooding tool calls — one deploy call plus one telemetry_subscribe call, regardless of how long the job runs.
API reference
mcp-telemetry-sdk
**new MCPTelemetry(opts?)**
Creates a telemetry client. opts.socketPath overrides the default (derived from process.cwd() via getSocketPath()). Owns one persistent, queued connection shared by every job it creates.
**telemetry.createJob({ id?, task }) → JobHandle**
Starts tracking a job. id defaults to an auto-incrementing job-N.
**telemetry.disconnect()**
Closes the underlying connection. Call on server shutdown if you want a clean teardown instead of letting it idle.
| JobHandle method | Emits | Notes |
| --------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| start() | job_start | Call once, at the beginning of the tool handler. |
| stepStart(name, meta?) | step_start | name is any string — 'build', 'implement', whatever fits your domain. |
Source
awesome · https://github.com/arnavranjan005/mcp-telemetry
Browse by field
MCP servers
Traction
2 ★
added
yesterday

More in MCP servers

All 5,525 in MCP servers →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index