Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/δΈ­ζ–‡
Sign inSign up
Home/Servers/AgentLens

AgentLens

I
by io.github.agentkitai

Tamper-evident, SHA-256 hash-chained audit trail and observability for AI agents.

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y @agentkitai/[email protected]
Provider
Claude Code
claude mcp add io.github.agentkitai-agentlens -- npx -y @agentkitai/[email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.agentkitai-agentlens": {
      "command": "npx",
      "args": [
        "-y",
        "@agentkitai/[email protected]"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • FirecrawlπŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Questions

How do I install AgentLens?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does AgentLens need an API key?
No required environment variable is listed on this record.
What transport does AgentLens use?
AgentLens runs locally over stdio.
When was AgentLens last checked?
Last checked 2026-10-16. Tamper-evident, SHA-256 hash-chained audit trail and observability for AI agents.

Tamper-evident, SHA-256 hash-chained audit trail and observability for AI agents.


πŸ“‘ Table of Contents

  • Tamper-Evident by Design
  • Quick Start
  • Architecture
  • Integration Guides
  • Key Features
  • Dashboard
  • AgentLens Cloud
  • Packages
  • API Overview
  • CLI
  • Development
  • Contributing
  • AgentKit Ecosystem
  • License

AgentLens is a flight recorder for AI agents. It captures every LLM call, tool invocation, approval decision, and error β€” then presents it through a queryable API and real-time web dashboard.

πŸ”’ Tamper-evident by design

What sets AgentLens apart from other observability tools: every event is SHA-256 hash-chained to the one before it, the same way git commits and blockchains are linked. The audit log is append-only and cryptographically verifiable β€” alter, delete, or reorder a single record after the fact and verification fails, pointing at the exact event that broke. Purpose-built for the record-keeping obligations of EU AI Act Article 12 and the emerging IETF Agent Audit Trail work.

See it for yourself in 30 seconds (needs Docker):

git clone https://github.com/agentkitai/agentlens && cd agentlens
./demo/aha.sh
1/5  Starting AgentLens (SQLite, zero-config)…   βœ“ up at http://localhost:3400
2/5  Ingesting a 5-event agent trace…            βœ“ 5 events ingested
3/5  Verifying the hash chain…                    βœ“ CHAIN VALID β€” no tampering detected
4/5  Tampering with one event in the database…   βœ“ altered llm_call (changed the logged model)
5/5  Re-verifying the hash chain…                 βœ— CHAIN BROKEN β€” tampering detected βœ…

The demo ingests a real trace, verifies the chain (passes), edits one record directly in the database behind the audit log's back, then re-verifies (fails). Auditors get a signed, verifiable JSON snapshot from GET /api/audit/verify/export.

Five ways to integrate β€” pick what fits your stack:

IntegrationLanguageEffortCapture
πŸ”­ OpenTelemetryAnyPoint your OTLP exporterAny gen_ai.*-instrumented agent β€” no AgentLens SDK
πŸ€– OpenClaw PluginOpenClawCopy & enableEvery Anthropic call β€” prompts, tokens, cost, tools β€” zero code
🐍 Python Auto-InstrumentationPython1 lineEvery OpenAI / Anthropic / LangChain call β€” deterministic
πŸ”Œ MCP ServerAny (MCP)Config blockTool calls, sessions, events from Claude Desktop / Cursor
πŸ“¦ SDKPython, TypeScriptCodeFull control β€” log events, query analytics, build integrations

πŸš€ Quick Start

One command β€” server + dashboard on SQLite, zero config:

docker run -p 3400:3400 -e AUTH_DISABLED=true -e JWT_SECRET=dev-secret ghcr.io/agentkitai/agentlens
# Open http://localhost:3400

Or without Docker:

npx @agentkitai/agentlens-server
# http://localhost:3400 with SQLite β€” zero config

AUTH_DISABLED=true is for a quick local trial (JWT_SECRET is still required by the hardened image). For anything shared, drop AUTH_DISABLED, set a real JWT_SECRET, and create an API key (below).

Full stack (Postgres + Redis, auth, TLS) β€” runs from source:

git clone https://github.com/agentkitai/agentlens && cd agentlens
cp .env.example .env
docker compose up
# production overlay (auth, restart policies):
docker compose -f docker-compose.yml -f docker-compose.prod.yml up

Create an API Key

curl -X POST http://localhost:3400/api/keys \
  -H "Content-Type: application/json" \
  -d '{"name": "my-agent"}'

Save the als_... key from the response β€” it's shown only once. Then head to the Integration Guides to instrument your agent.

πŸ“– Full setup guide β†’

πŸ—οΈ Architecture

graph TB
    subgraph Agents["Your AI Agents"]
        PY["Python App<br/>(OpenAI, Anthropic, LangChain)"]
        MCP_C["MCP Client<br/>(Claude Desktop, Cursor)"]
        TS["TypeScript App"]
        OC["OpenClaw Plugin"]
    end

    PY -->|"agentlensai.init()<br/>auto-instrumentation"| SERVER
    MCP_C -->|MCP Protocol| MCP_S["@agentkitai/agentlens-mcp"]
    MCP_S -->|HTTP| SERVER
    TS -->|"@agentkitai/agentlens-sdk"| SERVER
    OC -->|HTTP| SERVER

    subgraph Server["@agentkitai/agentlens-server"]
        direction TB
        INGEST[Ingest Engine]
        QUERY[Query Engine]
        ALERT[Alert Engine]
        LLM_A[LLM Analytics]
        HEALTH[Health Scoring]
        COST[Cost Optimizer]
        REPLAY[Session Replay]
        BENCH[Benchmark Engine]
        GUARD[Guardrails]
    end

    SERVER --> DB[(SQLite / Postgres)]
    SERVER --> DASH["Dashboard<br/>(React SPA)"]

    EXT["AgentGate / FormBridge"] -->|Webhook| SERVER

πŸ”§ Integration Guides

πŸ”­ OpenTelemetry (any GenAI agent β€” no SDK)

If your agent is already instrumented with the OpenTelemetry GenAI semantic conventions β€” via OpenLLMetry, OpenInference, or the official OTel instrumentations β€” just point its OTLP exporter at AgentLens. No AgentLens SDK required.

# Send standard OTLP/HTTP to AgentLens (JSON or protobuf, /v1/traces)
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:3400
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:3400/v1/traces

AgentLens maps gen_ai.* spans into its model and into the tamper-evident audit log:

OTel GenAI span (gen_ai.operation.name)Becomes
chat / text_completion / generate_contenta paired llm_call + llm_response (model, provider, messages, usage.input_tokens/output_tokens, finish reason, latency, cost)
execute_tooltool_call (gen_ai.tool.name, gen_ai.tool.call.id, arguments)
embeddingsembedding event with token usage
invoke_agent / create_agentagent-invocation event

Each OTel trace maps to a session (or gen_ai.conversation.id if present), and every event is hash-chained like any other β€” so traces from any GenAI framework get the same verifiable audit trail. Set OTLP_AUTH_TOKEN to require a bearer token on the OTLP endpoints in production.

Cost with no SDK: OTel GenAI instrumentation reports tokens but rarely cost. AgentLens reconstructs costUsd from the model's per-1M-token pricing (fuzzy-matched on the model id), so OTel-only agents get the same cost analytics as SDK-instrumented ones β€” no per-call cost attribute required.

πŸ€– OpenClaw Plugin

If you're running OpenClaw, the AgentLens plugin captures every Anthropic API call automatically β€” prompts, completions, token usage, costs, latency, and tool calls.

cp -r packages/relay-plugin /usr/lib/node_modules/openclaw/extensions/agentlens-relay
openclaw config patch '{"plugins":{"entries":{"agentlens-relay":{"enabled":true}}}}'
openclaw gateway restart

Set AGENTLENS_URL if your AgentLens instance isn't on localhost:3400. See the plugin README for details.

🐍 Python Auto-Instrumentation

One line β€” every LLM call captured automatically across 9 providers (OpenAI, Anthropic, LiteLLM, AWS Bedrock, Google Vertex AI, Google Gemini, Mistral AI, Cohere, Ollama):

pip install agentlensai[all-providers]
import agentlensai

agentlensai.init(
    url="http://localhost:3400",
    api_key="als_your_key",
    agent_id="my-agent",
)
# Every LLM call is now captured automatically

Key guarantees: βœ… Deterministic Β· βœ… Fail-safe Β· βœ… Non-blocking Β· βœ… Privacy (init(redact=True))

πŸ“– Python SDK full docs β†’

πŸ”Œ MCP Integration

For Claude Desktop, Cursor, or any MCP client β€” add to your config:

{
  "mcpServers": {
    "agentlens": {
      "command": "npx",
      "args": ["@agentkitai/agentlens-mcp"],
      "env": {
        "AGENTLENS_API_URL": "http://localhost:3400",
        "AGENTLENS_API_KEY": "als_your_key_here"
      }
    }
  }
}

AgentLens ships 22 MCP tools β€” covering core observability, intelligence & analytics, and operations. Full MCP tool reference β†’

πŸ“– MCP setup guide β†’

πŸ“¦ Programmatic SDK

Python:

pip install agentlensai
from agentlensai import AgentLensClient
client = AgentLensClient("http://localhost:3400", api_key="als_your_key")
sessions = client.get_sessions()
analytics = client.get_llm_analytics()

TypeScript:

npm install @agentkitai/agentlens-sdk
import { AgentLensClient } from '@agentkitai/agentlens-sdk';
const client = new AgentLensClient({ baseUrl: 'http://localhost:3400', apiKey: 'als_your_key' });
const sessions = await client.getSessions();

πŸ“– SDK reference β†’

✨ Key Features

  • 🐍 Python Auto-Instrumentation β€” agentlensai.init() captures every LLM call across 9 providers automatically. Deterministic β€” no reliance on LLM behavior.
  • πŸ”Œ MCP-Native β€” Ships as an MCP server. Works with Claude Desktop, Cursor, and any MCP client.
  • πŸ”­ OpenTelemetry GenAI β€” Ingests gen_ai.* OTLP traces from any OTel-instrumented agent (OpenLLMetry, OpenInference, official OTel) β€” no AgentLens SDK required.
  • 🧠 LLM Call Tracking β€” Full prompt/completion visibility, token usage, cost aggregation, latency measurement, and privacy redaction.
  • πŸ“Š Real-Time Dashboard β€” Session timelines, event explorer, LLM analytics, cost tracking, and alerting.
  • πŸ”’ Tamper-Evident Audit Trail β€” Append-only event storage with SHA-256 hash chains per session.
  • πŸ’° Cost Tracking β€” Track token usage and estimated costs per session, per agent, per model. Alert on cost spikes.
  • 🚨 Alerting β€” Configurable rules for error rate, cost threshold, latency anomalies, and inactivity.
  • β€οΈβ€πŸ©Ή Health Scores β€” 5-dimension health scoring with trend tracking.
  • πŸ’‘ Cost Optimization β€” Complexity-aware model recommendation engine with projected savings.
  • πŸ“Ό Session Replay β€” Step-through any past session with full context reconstruction.
  • βš–οΈ A/B Benchmarking β€” Statistical comparison of agent variants using Welch's t-test and chi-squared analysis.
  • πŸ›‘οΈ Guardrails β€” Automated safety rules with dry-run mode for safe testing.
  • πŸ”Œ Framework Plugins β€” LangChain, CrewAI, AutoGen, Semantic Kernel β€” auto-detection, fail-safe, non-blocking.
  • πŸ”— AgentKit Ecosystem β€” Integrations with AgentGate, FormBridge, Lore, and AgentEval.
  • πŸ”’ Tenant Isolation β€” Multi-tenant support with per-tenant data scoping and API key binding.
  • 🏠 Self-Hosted β€” SQLite by default, no external dependencies. MIT licensed.

πŸ“Έ Dashboard

AgentLens ships with a real-time web dashboard for monitoring your agents.

Overview β€” At-a-Glance Metrics

Dashboard Overview

The overview page shows live metrics β€” sessions, events, errors, and active agents β€” with a 24-hour event timeline chart, recent sessions with status badges, and a recent errors feed.

Sessions β€” Track Every Agent Run

Sessions List

Every agent session with sortable columns: agent name, status, start time, duration, event count, error count, and total cost.

Session Detail β€” Timeline & Hash Chain

Session Detail

Full event timeline with tamper-evident hash chain verification. Filter by event type, view cost breakdown.

Events Explorer β€” Search & Filter Everything

Events Explorer

Searchable, filterable view of every event across all sessions.

🧠 LLM Analytics β€” Prompt & Cost Tracking

LLM Analytics

Total LLM calls, cost, latency, and token usage across all agents with model comparison.

🧠 Session Timeline β€” LLM Call Pairing

LLM Timeline

LLM calls in session timeline with model, tokens, cost, and latency.

πŸ’¬ Prompt Detail β€” Chat Bubble Viewer

LLM Call Detail

Full prompt and completion in a chat-bubble style viewer with metadata panel.

β€οΈβ€πŸ©Ή Health Overview β€” Agent Reliability

Health Overview

5-dimension health score for every agent with trend tracking.

πŸ’‘ Cost Optimization β€” Model Recommendations

Cost Optimization

Analyzes LLM call patterns and recommends cheaper model alternatives with confidence levels.

πŸ“Ό Session Replay β€” Step-Through Debugger

Session Replay

Step through any past session event by event with full context reconstruction.

βš–οΈ Benchmarks β€” A/B Testing for Agents

Benchmarks

Create and manage A/B experiments with statistical significance testing.

πŸ›‘οΈ Guardrails β€” Automated Safety Rules

Guardrails

Create and manage automated safety rules with trigger history and activity feed.

☁️ AgentLens Cloud

Don't want to self-host? AgentLens Cloud is a fully managed SaaS β€” same SDK, zero infrastructure:

import agentlensai
agentlensai.init(cloud=True, api_key="als_cloud_your_key_here", agent_id="my-agent")
  • Same SDK, one parameter change β€” switch url= to cloud=True
  • Managed Postgres β€” multi-tenant with row-level security
  • Team features β€” organizations, RBAC, audit logs
  • No server to run β€” dashboard at app.agentlens.ai

πŸ“– Cloud Setup Guide Β· Migration Guide Β· Troubleshooting

πŸ“¦ Packages

Python (PyPI)

PackageDescriptionPyPI
agentlensaiPython SDK + auto-instrumentation for 9 LLM providers

TypeScript / Node.js (npm)

PackageDescriptionnpm
@agentkitai/agentlens-serverHono API server + dashboard serving
@agentkitai/agentlens-mcpMCP server for agent instrumentation
@agentkitai/agentlens-sdkProgrammatic TypeScript client
@agentkitai/agentlens-coreShared types, schemas, hash chain utilities
@agentkitai/agentlens-cliCommand-line interface
@agentkitai/agentlens-dashboardReact web dashboard (bundled with server)private

πŸ”Œ API Overview

EndpointDescription
POST /api/eventsIngest events (batch)
GET /api/eventsQuery events with filters
GET /api/sessionsList sessions
GET /api/sessions/:id/timelineSession timeline with hash chain verification
GET /api/analyticsBucketed metrics over time

Full API Reference β†’

⌨️ CLI

npx @agentkitai/agentlens-cli health                          # Overview of all agents
npx @agentkitai/agentlens-cli health --agent my-agent          # Detailed health with dimensions
npx @agentkitai/agentlens-cli optimize                          # Cost optimization recommendations

Both commands support --format json for machine-readable output. See agentlens health --help for all options.

πŸ› οΈ Development

git clone https://github.com/agentkitai/agentlens.git
cd agentlens
pnpm install

pnpm typecheck && pnpm test && pnpm lint  # Run all checks
pnpm dev                                   # Start dev server

Requirements: Node.js β‰₯ 20.0.0 Β· pnpm β‰₯ 10.0.0

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for setup instructions, coding standards, and the PR process.

🧰 AgentKit Ecosystem

ProjectDescription
AgentLensObservability & tamper-evident audit trail for AI agents⬅️ you are here
AgentGateHuman-in-the-loop approval gateway + reactive guardrails
LoreCross-agent memory and lesson sharing
AgentEvalTesting & evaluation framework
FormBridgeAgent-human mixed-mode forms

πŸ“„ License

MIT Β© Amit Paz

How do I install AgentLens?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does AgentLens need an API key?
No required environment variable is listed on this record.
What transport does AgentLens use?
AgentLens runs locally over stdio.
When was AgentLens last checked?
Last checked 2026-10-16. Tamper-evident, SHA-256 hash-chained audit trail and observability for AI agents.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Pricing
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • MCP Apps
  • Tools
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • Club
  • Work with us
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA