Chrome DevTools Network tab — for AI agent tool calls. Local-first, MCP-native.
Wrap any MCP server, record every tool call, and inspect latency, payloads, parent/child structure, and best-effort token usage in a local web UI.
npx toolcall-timeline -- npx your-mcp-serverStatus: pre-1.0 / early preview (
0.0.x). APIs and log schema may change. M0–M2 features below work today; packaging fornpxpublish is still in progress.
- stdio proxy — wrap any MCP server command; pass-through with JSONL logs
- HTTP proxy — POST + SSE pass-through for URL-based MCP clients
- Waterfall timeline — latency bars, status colors, payload inspector
- Trace tree —
parent_span_id/ W3Ctraceparentwhen present; turn heuristic otherwise - Cost dashboard — per-session token rollup when responses include
usage - Local-only — sessions under
~/.toolcall-timeline/sessions/; no cloud account
# stdio wrap (Claude Code, Cursor, etc.)
toolcall-timeline -- npx @modelcontextprotocol/server-filesystem /tmp
# HTTP proxy (point your client's MCP URL at :8081)
toolcall-timeline --http --upstream http://localhost:8080 --port 8081
# Web UI for recorded sessions
toolcall-timeline ui # http://localhost:7333
toolcall-timeline sessions # list sessions from the terminalUntil the package is published, run from a checkout:
pnpm install && pnpm build
node packages/proxy/dist/index.js -- npx your-mcp-server
node packages/proxy/dist/index.js uiPoint an MCP server entry at the proxy instead of the server binary:
{
"mcpServers": {
"filesystem": {
"command": "node",
"args": [
"/path/to/toolcall-timeline/packages/proxy/dist/index.js",
"--",
"npx",
"@modelcontextprotocol/server-filesystem",
"/tmp"
]
}
}
}Requires Node 24+ (Active LTS) and pnpm 11+.
pnpm install
pnpm build
pnpm testUI dev loop (two terminals):
node packages/proxy/dist/index.js ui # API + static on :7333
pnpm ui:dev # Vite on :5173, proxies /apiSee CONTRIBUTING.md for PR guidelines.
| Package | Role |
|---|---|
packages/core |
Event schema, JSONL reader, pairing, trace tree, cost summary |
packages/proxy |
CLI (toolcall-timeline), stdio + HTTP proxies, UI server |
packages/ui |
React UI (waterfall, trace, cost) |
pnpm build
node packages/proxy/dist/index.js -- \
node packages/proxy/test/fixtures/fake-server.mjsPaste JSON-RPC into stdin, then Ctrl-D:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"math.add","arguments":{"a":2,"b":3}}}node packages/proxy/dist/index.js uiSee SECURITY.md for how to report vulnerabilities privately.
MIT © Joseph Chow