Skip to content

Repository files navigation

toolcall-timeline

CI License: MIT

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-server

Status: pre-1.0 / early preview (0.0.x). APIs and log schema may change. M0–M2 features below work today; packaging for npx publish is still in progress.

Features

  • 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 treeparent_span_id / W3C traceparent when present; turn heuristic otherwise
  • Cost dashboard — per-session token rollup when responses include usage
  • Local-only — sessions under ~/.toolcall-timeline/sessions/; no cloud account

Usage

# 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 terminal

Until 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 ui

Editor config (stdio)

Point 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"
      ]
    }
  }
}

Develop

Requires Node 24+ (Active LTS) and pnpm 11+.

pnpm install
pnpm build
pnpm test

UI dev loop (two terminals):

node packages/proxy/dist/index.js ui   # API + static on :7333
pnpm ui:dev                            # Vite on :5173, proxies /api

See CONTRIBUTING.md for PR guidelines.

Monorepo layout

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)

Try it manually

pnpm build
node packages/proxy/dist/index.js -- \
  node packages/proxy/test/fixtures/fake-server.mjs

Paste 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 ui

Security

See SECURITY.md for how to report vulnerabilities privately.

License

MIT © Joseph Chow

About

Chrome DevTools Network tab for AI agent tool calls (MCP-native, local-first)

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages