otel-pocket
by kanchingyg
README.md
# otel-pocket
[](https://github.com/kanchingyg/otel-pocket/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/otel-pocket)
[](https://jsr.io/@kanchingyg/otel-pocket)
[](https://github.com/kanchingyg/otel-pocket)
[](https://github.com/kanchingyg/otel-pocket/blob/HEAD/LICENSE)
**One command** local OpenTelemetry collector: `npx otel-pocket` (or `bunx otel-pocket`) listens on `:4318` for OTLP/JSON traces, renders a live terminal flamegraph, flags SQL N+1 loops, and surfaces `gen_ai.*` LLM spans (Ollama, OpenAI, Anthropic).
## Install
[Bun](https://bun.sh) / [npm](https://www.npmjs.com/package/otel-pocket):
```bash
bunx otel-pocket
npx otel-pocket
# or install in your project / globally
bun add -d otel-pocket
npm i -D otel-pocket
```
[JSR](https://jsr.io/@kanchingyg/otel-pocket):
```bash
bunx jsr add @kanchingyg/otel-pocket
npx jsr add @kanchingyg/otel-pocket
```
[Go (native binary)](https://github.com/kanchingyg/otel-pocket):
```bash
go install github.com/kanchingyg/otel-pocket@latest
```
The core collector runs in **Go** (`main.go`, `internal/`). TypeScript under `src/*.ts` is included for `npx` / `bunx` / JSR usage and MCP bridge helpers.
## Quick start
```bash
npx otel-pocket
bunx otel-pocket
# point your SDK exporter to http://127.0.0.1:4318/v1/traces
```
```bash
npx otel-pocket --mcp
```
Add to Cursor or Claude Code MCP config:
```json
{
"mcpServers": {
"otel-pocket": {
"command": "npx",
"args": ["-y", "otel-pocket", "--mcp"]
}
}
}
```
### MCP tools
| Tool | Purpose |
| --- | --- |
| `list_recent_traces` | Recent traces with duration and error status |
| `inspect_trace_tree` | Span tree, critical path, N+1 SQL, and `gen_ai` metrics (SQL redacted unless `verbose` or `OTEL_POCKET_VERBOSE_MCP=1`) |
| `diagnose_slow_trace` | Ask a local OpenAI-compatible model (Ollama/LM Studio); loopback-only unless `OTEL_POCKET_ALLOW_REMOTE_LLM=1` |
Set `OTEL_POCKET_LLM_URL` / `OTEL_POCKET_LLM_MODEL` for local LLM diagnosis.
## Why otel-pocket
Jaeger and desktop viewers require a browser, lack a terminal TUI, and do not ship MCP tools for coding agents. Phoenix and Langfuse are heavy Python/Docker stacks. **otel-pocket** correlates HTTP, SQL N+1, and `gen_ai.*` spans in a single zero-config `npx`, `bunx`, or `go install` binary.
## License
[MIT](./LICENSE)
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues