Trace AI agent execution: every tool call, every error, every dollar. Open source, local-first.
Trace AI agent execution: every tool call, every error, every dollar. Open source, local-first. The agent mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 7 defined tools rather than through you.
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
Everything the assistant can do here goes through one of these:
obs_record_tool_call — sessionId, toolName, serverName, duration (ms), status (success/error), input, outputobs_record_token_usage — sessionId, inputTokens, outputTokens, modelobs_record_decision — sessionId, context, options, chosen, reasoningobs_record_grade — sessionId, grade (A/B/C/D/F), reasoningobs_get_session_report — sessionIdobs_list_sessions — limit, offsetCursor — 1. MCP Config — Add to Cursor's MCP settings (~/.cursor/mcp.json, or Settings → MCP → Add new global MCP server):Installation goes through your MCP client rather than a global install: point it at agent-obs on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Agent's toolset — obs_record_tool_call, obs_record_token_usage, obs_record_decision and 4 more — is a fair guide to whether it matches your workflow. It is maintained by KryptosAI; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| obs_record_tool_call | sessionId, toolName, serverName, duration (ms), status (success/error), input, output |
| obs_record_token_usage | sessionId, inputTokens, outputTokens, model |
| obs_record_decision | sessionId, context, options, chosen, reasoning |
| obs_record_grade | sessionId, grade (A/B/C/D/F), reasoning |
| obs_get_session_report | sessionId |
| obs_list_sessions | limit, offset |
| Cursor | 1. **MCP Config** — Add to Cursor's MCP settings (~/.cursor/mcp.json, or Settings → MCP → Add new global MCP server): |
**Claude Code:** Create `.mcp.json`:
```json
{
"mcpServers": {
"agent-obs": {
"command": "npx",
"args": ["-y", "agent-obs@latest", "server"]
}
}
}Configuration as documented by the project. Restart the client after saving.
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.