Kestrel
БесплатноНе проверенError tracking built for AI agents, not dashboards. Single Go binary, SQLite-only, MCP-native. < 20 MB. 为 AI agent 而生的错误监控。单 Go 二进制 + SQLite,内置 MCP,< 20 MB。 WIP
Описание
Error tracking built for AI agents, not dashboards. Single Go binary, SQLite-only, MCP-native. < 20 MB. 为 AI agent 而生的错误监控。单 Go 二进制 + SQLite,内置 MCP,< 20 MB。 WIP
README
Kestrel is a single-binary error tracker designed so an AI agent — Claude Code, Cursor, or your own — can read incoming errors, diagnose them, and mark them resolved with the commit SHA that fixed them. A web UI is included for humans, but it is the secondary interface.
It is deliberately small: a stripped binary under 20 MB, idle memory under 50 MB, SQLite as the only storage. No team permissions, no alert channels, no release management screens.
Why?
Sentry-style tools were built for ops teams clicking through dashboards. Their data models reflect that — events are decomposed into the columns a human cares about. LLMs read better when the full event envelope arrives intact: every stack frame with source context, recent log entries, the git commit, the runtime banner. Kestrel stores the raw envelope as JSON and serves it back through MCP. That is the whole differentiator.
Quickstart
1. Run Kestrel
docker run -d \
--name kestrel \
-p 8080:8080 \
-v kestrel-data:/data \
ghcr.io/wearzdk/kestrel:latest
The first start prints a temporary admin password to the container logs (or
set one with -e KESTREL_ADMIN_PASSWORD=...). Open http://localhost:8080,
log in, create a project, and copy its ingest token.
2. Send your first event
JavaScript / TypeScript
npm install kestrel-sdk
import { init } from "kestrel-sdk";
init({
endpoint: "http://localhost:8080/api/v1/ingest",
token: "YOUR_PROJECT_TOKEN",
});
// `window.error` and `unhandledrejection` are now captured automatically.
Python
pip install kestrel-sdk
import kestrel_sdk
kestrel_sdk.init(endpoint="http://localhost:8080/api/v1/ingest", token="YOUR_PROJECT_TOKEN")
# sys.excepthook is wired up.
Go
go get github.com/wearzdk/kestrel/sdks/go@latest
import kestrel "github.com/wearzdk/kestrel/sdks/go"
if err := kestrel.Init("http://localhost:8080", "YOUR_PROJECT_TOKEN"); err != nil {
panic(err)
}
defer kestrel.Recover(ctx) // captures panics
Trigger an exception in your app — a fresh issue should appear in the web UI within a second.
3. Hand the keys to an AI
Add Kestrel as an MCP server in Claude Code (~/.claude/mcp.json). Use the
HTTP transport when the agent and the server are on different machines (the
common Docker case):
{
"mcpServers": {
"kestrel": {
"url": "http://localhost:8080/mcp",
"headers": { "Authorization": "Bearer YOUR_PROJECT_TOKEN" }
}
}
}
If the agent runs on the same host as a binary install, the stdio transport also works — see the MCP overview for both forms.
The agent now has list_errors, get_error, mark_resolved,
mark_ignored, and get_trend available as tools.
What's in the box
- Server —
cmd/kestrel. One binary serves REST ingest, MCP (StreamableHTTP at/mcpand stdio viakestrel mcp), and the embedded web UI. SQLite viamodernc.org/sqlite(pure Go, no CGO). - Web UI — Vite + React + Tailwind. Issue list, detail, project / token management. Bilingual (English / 中文) with locale-aware timestamps.
- JS SDK — sdks/js. Zero deps, ~1 KB gzip, passive capture only.
- Python SDK — sdks/python. stdlib-only, hooks
sys.excepthookand the asyncio loop. - Go SDK — sdks/go. Independent module, stdlib-only,
Recover+slog.Handlerintegrations.
Self-hosting essentials
| Need | Pointer |
|---|---|
| Configuration | kestrel.example.toml |
| Docker image | ghcr.io/wearzdk/kestrel:latest (multi-arch) |
| Static binary | GitHub Releases (linux/macos/windows, amd64/arm64) |
| Backups | kestrel backup <out.tar.gz> |
| Health & metrics | /healthz, /healthz/ready, /metrics (Prometheus) |
| Reverse proxy | Self-hosting guide (Caddy / Nginx / Traefik) |
| MCP integration | MCP overview |
Roadmap & non-goals
See ROADMAP.md. Phases 0–5 are released in v0.1.0.
The non-goals list there is firm: no distributed tracing, no session replay, no APM, no Sentry-protocol compatibility, no team RBAC, no alert channels. Kestrel is scoped tightly on purpose.
Contributing
See CONTRIBUTING.md. For security issues, see SECURITY.md.
License
MIT © wearzdk
Установка Kestrel
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/wearzdk/kestrelFAQ
Kestrel MCP бесплатный?
Да, Kestrel MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Kestrel?
Нет, Kestrel работает без API-ключей и переменных окружения.
Kestrel — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Kestrel в Claude Desktop, Claude Code или Cursor?
Открой Kestrel на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
автор: wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
автор: madhurprashPostgres
Query your database in natural language
автор: AnthropicPostgreSQL
Read-only database access with schema inspection.
автор: modelcontextprotocolRedis
Interact with Redis key-value stores.
автор: modelcontextprotocolSQLite
Database interaction and business intelligence capabilities.
автор: modelcontextprotocolmxcp
Open-source framework for building enterprise-grade MCP servers using just YAML, SQL, and Python, with built-in auth, monitoring, ETL and policy enforcement.
автор: raw-labstadas-github/a2asearch-mcp
MCP server to search 4,800+ MCP servers, AI agents, CLI tools and agent skills. Install: npx -y a2asearch-mcp. Ask Claude: "Find MCP servers for database access
автор: tadas-githubjulien040/anyquery
Query more than 40 apps with one binary using SQL. It can also connect to your PostgreSQL, MySQL, or SQLite compatible database. Local-first and private by desi
автор: julien040drakonkat/wizzy-mcp-tmdb
A MCP server for The Movie Database API that enables AI assistants to search and retrieve movie, TV show, and person information.
автор: drakonkatCompare Kestrel with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории data
