
Agent Observability
io.github.KryptosAIPublished by GitHub account KryptosAIv1.0.7Updated Oct 24, 2026
Trace AI agent execution: every tool call, every error, every dollar. Open source, local-first.
Overview
A local-first MCP server that records AI agent sessions — tool calls, token usage, decisions and grades — into a local SQLite database with a dashboard.
- What you can do
- Record tool calls with name, server, duration, status, input and output, plus token usage and estimated cost per session, and log decision points with context, options and reasoning, and assign A–F session grades with reasoning, then retrieve a full session report or list past sessions with grade, token totals and cost. A companion local dashboard and REST API expose sessions, tool calls, tokens, decisions, search, stats and JSON export.
- When to use it
- Use it when you want a flight recorder for Claude Code, Cursor or opencode sessions: to see which tools ran, why a run failed, what it cost, and to keep an audit trail of files read or changed. Useful for tuning prompts and estimating spend.
- Requirements
- Runs locally as a Node.js process via npx (package agent-obs); no authentication, environment variables or headers declared. Setup writes MCP config for the detected agent, and data is stored in a local SQLite database under the user's home directory. The dashboard listens on local port 9400.
Installation
In SourceWeft
- Open Agent Observability in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
agent-observability
Open source agent observability — see what your agents did, why they failed, and what it cost. Runs locally. No cloud required.
Quick Start
One command. No manual config. No copy-paste.
This auto-detects your AI agent (opencode, Claude Code, Cursor) and configures everything:
- Adds agent-obs to your MCP config
- Adds the self-reporting instruction
- Tells you what to do next
Then restart your agent. Every action will now self-report.
What you'll see
After running a task in your agent, the dashboard shows:
- Every tool call with duration and status
- A-F session grade (how efficient was your agent?)
- Cost per session in tokens and dollars
- Full audit trail of what was read, edited, and executed
Manual setup (if setup can't detect your agent)
opencode: Add to opencode.json:
Claude Code: Create .mcp.json:
Cursor: Add to Cursor Settings > MCP:
See Agent-Specific Setup below for detailed per-platform instructions including self-reporting directives.
Note: All data is written to a local SQLite database in
~/.agent-observability/. No data leaves your machine.
Proxy mode (fallback)
For agents that can't self-report, wrap any MCP server and every tool invocation gets traced automatically:
Proxy mode captures only MCP tool calls (~30% of typical agent actions). Prefer the setup / MCP server approach above.
Agent-Specific Setup
Claude Code
- MCP Config — Create
.mcp.jsonin your project root:
- Self-reporting instruction — Create
.claude/instructions.md(or reference the existing SKILL.md under.claude/skills/agent-obs/SKILL.md):
- Verify — Run
agent-obs dashboard, open http://localhost:9400, and look for your session after the agent completes a task.
Cursor
- MCP Config — Add to Cursor's MCP settings (
~/.cursor/mcp.json, or Settings → MCP → Add new global MCP server):
- Self-reporting instruction — Create
.cursorrules(or.cursor/rules/agent-obs.md):
- Verify — Run
agent-obs dashboard, open http://localhost:9400, and look for your session after the agent completes a task.
Architecture
API Reference
REST Endpoints (Dashboard)
MCP Tools (Server Mode)
What Gets Tracked
Every tool call
- Tool name — e.g.
read_file,execute_command,search_code - Server — which MCP server handled it
- Duration — wall-clock milliseconds
- Status —
successorerror - Input — full arguments passed to the tool
- Output — full result returned (truncated at 64KB for storage)
Token consumption
- Input tokens — prompt and context
- Output tokens — generated response
- Total tokens — sum per session
- Per-call breakdown — token delta for each LLM round-trip
Cost estimation
Costs are estimated based on published API pricing:
Costs are tracked per session and displayed in the dashboard. You can add custom model pricing via ~/.agent-observability/models.json.
Session grades
Every session receives a letter grade based on efficiency and correctness:
Decision points
When the agent has multiple possible actions, it can record why it chose one over another. Example:
Decision points create an audit trail of agent reasoning, making it possible to understand not just what happened, but why.
Full audit trail
Every action is timestamped and linked to a session. The audit trail answers:
- Who (which agent/user) accessed what data?
- When did each tool call happen?
- What data was read or modified?
- Was the action authorized?
Grade System
Grades are assigned manually by the agent via obs_record_grade or automatically by the dashboard based on session statistics:
- A = Clean — No issues detected. Every tool call succeeded, token usage was efficient relative to task complexity, and the session completed its stated goal.
- B = Minor issues — Some inefficiencies (e.g., reading the same file twice, calling a tool that returned empty results and then trying it again). No failures.
- C = Inefficient — Needs attention. Redundant tool calls, excessive token consumption, or recoverable errors that were eventually resolved.
- D = Risky — Significant problems. Multiple failed tool calls, unusually high cost for the task, or the agent chose demonstrably wrong tools.
- F = Failed — Errors occurred that prevented task completion, or the agent abandoned the session.
Grades accumulate over time. The /api/stats endpoint shows your average grade and grade distribution.
Why This Exists
AI agents are a black box. You tell Claude Code or Cursor to fix a bug, refactor a module, or add a feature — and minutes later you have a diff. But what actually happened in between? How many tool calls did it make? How many tokens did it burn? Which files did it read? Did it try three approaches before landing on one? You have no idea.
This isn't just academic curiosity. Without observability:
- You can't estimate costs. A session that feels quick might have burned $5 in API calls. A session that felt slow might have cost $0.50. You're operating blind.
- You can't debug failures. The agent produced broken code — was it because it read the wrong file? Used a deprecated API? Misunderstood the task? Without traces, you're guessing.
- You can't improve your prompts. Is the agent reading too many files? Calling too many tools? Wasting tokens on irrelevant context? You need data to tune your system instructions.
- You can't audit access. If an agent reads a file containing secrets or API keys, you should know about it. If it makes an unexpected network call, you need to see it.
Agent Observability gives you a flight recorder for every agent session. It answers: what happened, why it happened, and what it cost.
Provenance
This project combines ideas from three prior projects:
AgentShelf (Shopify AI readiness scanner)
AgentShelf scans a Shopify store's theme, apps, admin settings, and custom code to produce an AI readiness score. As it scans, it builds a full audit trail — every file read, every API call made, every finding logged with a timestamp and data source. Pattern adopted here: structured audit trail with per-action timestamps, data source attribution, and session-level summarization.
Veros (FHIR clinical ground truth)
Veros generates synthetic longitudinal patient records (FHIR R4) and uses them to validate clinical decision support agents. Its core principle: "no trace, no answer." Every snippet of clinical reasoning produced by an AI must be traceable back to the specific data element (lab result, medication, condition) that supports it. Pattern adopted here: decision point tracking — every agent choice must cite its basis, making reasoning auditable and contestable.
MCP Observatory
MCP Observatory secures MCP servers — testing them for vulnerabilities, schema drift, and attack surfaces before agents depend on them. It's used by 850+ developers weekly and powers CI pipelines for MCP server security. Use Observatory to secure your MCP servers. Use agent-obs to trace the agents that depend on them. Observatory validates; agent-obs observes.
Pattern adopted here: tool health scoring, session grading (A-F), and automatic degradation flags.
Open Source vs Cloud
This open source package (agent-observability on npm) is the core engine. It's MIT licensed and will always remain free and local-first:
- CLI tools (proxy, server, dashboard)
- Local SQLite storage
- REST API
- MCP server tools
- Full audit trail, cost estimation, and session grading
A cloud version (app.agentobservability.dev) is in development with additional features:
- Team dashboards with shared session history
- Alerting (Slack/email when an agent's grade drops below C)
- Historical analytics (cost trends, efficiency trends over months)
- Role-based access control for audit trails
- SOC 2 compliant infrastructure
The open source package will always be able to run independently. The cloud version is additive, not a replacement.
License
MIT
Source: README.md at commit 2658eef
Tools
0Version history
1- v1.0.7LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts