Kira
Kira is an MCP server that equips AI agents with persistent failure memory and a curated library of community skills and scars, enabling them to avoid repeating past mistakes and execute tasks more reliably.
kira_lookup— Search for community skills (how-to guides) and scars (failure warnings) by keyword; returns ranked results with critical failure patterns highlighted first, plus near-matches when nothing exactly fits.kira_route— Turn a broad natural-language goal (e.g., "build a web app") into an ordered, step-by-step plan where each step is paired with relevant skills and associated scars to watch out for.kira_get— Fetch full step-by-step instructions for a specific skill or scar by ID (sincekira_lookuponly returns summaries to save tokens).kira_report— Report the outcome (success,retry, orfailure) after applying a skill; failure notes feed the scar system so future agents avoid the same mistake.kira_consent— View or set the telemetry consent level (off,basic, orfull) to control what is shared with the telemetry server.kira_status— Inspect server state: Kira version, tier (free/pro), telemetry level, counts of loaded skills/scars/routes, and local log location.
Agents can also record personal failures as scars via kira_record_failure, surface them at session start with kira_personal_brief, and pre-check for known pitfalls before starting a task using kira_premortem.
Enables submission of community scars via prefilled GitHub issue URLs, allowing users to share sanitized failure patterns.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kira look up instructions for deploying to Vercel"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kira
Your agent stops repeating its own mistakes.
Every failed retry, every exception, every "wait — we hit this exact wall last week" is knowledge your agent throws away when the session ends. Kira keeps it. One MCP install and your agent records what burned it (a scar), sees its scars before it works again, and stops paying for the same mistake twice.
Privacy by design. Personal scars and the lookup-miss log are local-only — never uploaded, on any tier. Community telemetry is opt-in and redacts secrets, paths, and identifiers locally before write AND server-side before storage. Run
npm run demo:privacyto see exactly what leaves your machine. Full wire format and opt-out in PRIVACY.md.
Install (10 seconds)
Add this snippet to your MCP host config:
{
"mcpServers": {
"kira": {
"command": "npx",
"args": ["-y", "kira-mcp@latest"]
}
}
}That's it. Your agent now has Kira.
Client | Config file |
Claude Code |
|
Claude Desktop | macOS: |
Cursor |
|
Cline / Continue | extension settings → MCP servers |
Windsurf |
|
VS Code (MCP preview) |
|
Goose |
|
Zed |
|
The snippet above works as-is in every one of them — just paste it under mcpServers (or the equivalent key for your client).
Related MCP server: nautilus-compass
The loop, in 30 seconds
Monday agent gates a merge on: npm run build 2>&1 | tail -1
exit code comes from tail, not the compiler → broken code reaches main
└─ kira_record_failure(
title: "build gate bypassed: exit code swallowed by pipe to tail",
instead: "never gate on a piped command without pipefail")
Tuesday new session, same machine
└─ session brief: "⚠ You have been burned by this before:
never gate on a piped command without set -o pipefail"
agent writes the gate correctly. Zero repeats. Zero wasted tokens.Not a hypothetical — this is the actual first scar in the database, recorded by the agent that built this feature, about a mistake it made while building it. The next three scars came the same day. The loop works on day one, for a single user, with zero network effects required. FLYWHEEL.md documents the full improvement loop.
Tools (10)
Tool | What it does | |
Personal memory |
| Capture a retry/exception as a personal scar (local-only) |
| Session-start brief of your latest scars — start work already knowing where you got burned | |
| Failure heat-map for a goal before starting — "here's where this kind of task has burned you" | |
Catalog |
| Keyword → proven instructions + failure warnings. On a miss, returns scored |
| Fetch full step-by-step instructions by ID | |
| Goal → ordered plan with a skill per step | |
Community |
| Promote a personal scar into a community submission (sanitized; nothing uploads without your click) — earns contributor status |
Feedback |
| Report success/retry/failure → feeds the quality loop |
| Telemetry consent + one-call introspection |
Auto-firing: you don't call Kira — Kira's MCP instructions tell your agent when to. Japanese queries are first-class (CJK bigram matching).
When nothing matches
A lookup miss is not a dead end — it's demand data. Kira returns the closest scored matches, records the miss locally (with what almost matched), and the weekly flywheel digest turns repeated misses into alias fixes and new-skill candidates. The catalog learns what people actually ask for.
The catalog layer (community skills & scars)

38 community skills across deploy / database / auth / payments / UI / testing / CI / infra / mobile / CMS, and 45 community scars — real failure patterns like "Vercel deploy succeeds but the app crashes: missing env vars" or "Auth.js v5 signIn imported from the wrong side". kira_route turns a goal ("build a web app") into an ordered plan with the right skill and scars per step.
Community scars are where personal scars graduate to — and the flow is live. Ask your agent to run kira_share_scar(scar_id): it re-sanitizes your personal scar, generalizes it, and hands you a prefilled submission link (nothing uploads until you click). An intake bot validates the JSON; a human reviews the content; on merge it ships to every Kira user. Prefer forms? Submit a scar directly.
Every accepted scar earns contributor status — sharing is how you get the fresh feed for free (see Contributing below).
How it works
Your agent hits a wall Your agent gets a task
↓ ↓
kira_record_failure() kira_premortem(goal) / kira_lookup(keyword)
↓ ↓
~/.kira/personal-scars/ scars first, then instructions
↓ ↓
next session: brief surfaces agent announces → executes → kira_report()
your scars before work starts ↓
↓ misses + failure notes feed the flywheel
never the same mistake twice → digest → catalog improvementsSkills are natural language Markdown — no executable code, no injection risk.
Why not just CLAUDE.md?
CLAUDE.md / .cursorrules | Kira | |
Setup | Copy per project | Install once |
Failure memory | You write it by hand, if you remember |
|
Recall | You re-read it, if you remember | Surfaced automatically at session start / task start |
Selection | You choose | Agent chooses, scored |
Updates | Manual | Automatic (flywheel) |
Works across AI tools | Tool-specific | Any MCP client |
Not another "memory MCP"?
There are excellent memory servers (knowledge graphs, session recall, context handoff). Kira is deliberately narrower:
Failure-first, not everything-first. General memory stores what happened; Kira stores what must never happen again, in a shape built for avoidance:
mistake→instead, severity, recurrence count. A pre-task heat-map (kira_premortem) exists only because the data is failures.Recurrence is measured, not assumed. Re-recording a similar failure folds into the same scar and bumps
hit_count— the corpus learns which walls actually get hit, and honest counts are enforced by review.The commons compounds. Your scar, sanitized and human-reviewed, ships to every install — and earns you the fresh feed (RECIPROCITY.md). Memory servers make one agent smarter; a scar corpus makes every agent immune.
Trust is engineered, not implied. Corpus text is injected into agents' contexts, so every entry passes a sanitizer-stability gate in CI, natural-language-only rules, and human review (SECURITY.md).
If you need general episodic memory, run one of those servers alongside Kira — they don't compete for the same job.
Telemetry
Personal scars (~/.kira/personal-scars/) and the miss log (~/.kira/misses.log) are local-only and never uploaded. Community telemetry is separate and consent-gated:
Mode ( | What leaves your machine |
| Nothing. Local log only. |
| Anonymous core: skill ID, status, anonymous UUID, kira version, OS family, Node major version, free/pro tier. No free text. |
| Same as basic plus sanitized |
Full schema, redaction rules, retention, and opt-out instructions: PRIVACY.md.
Env var | Default | Purpose |
| (unset → | Override consent level for this process: |
|
| Endpoint for batch upload. |
|
| Where consent state, personal scars, miss log, and flywheel output live. |
| (unset → free tier) | Contributor / supporter key — unlocks the fresh community feed. |
| (unset → no network) | Opt-in corpus feed URL for the free tier (90-day-delayed commons). |
Share a scar, or subscribe, or wait
The corpus is MIT and everything in it eventually becomes free. Freshness is the only premium — failure knowledge decays as models retrain, so the newest scars carry the value:
Fresh community feed | How | |
Contributor | ✅ free | One accepted scar = 12 months ( |
Supporter | ✅ paid | Sponsor the project → supporter key. Funds human review of every submission. |
Free | 90 days later | Base corpus ships with npm; delayed commons feed available opt-in. Local features + privacy guarantees are free forever, on every tier. |
Currently in grace mode: the fresh feed is open to everyone until the corpus reaches 100 community scars. Full policy: RECIPROCITY.md.
Contributing
The first 1,000 contributors get permanent free access to all Kira features (fresh feed included) — see the reciprocity table above.
See CONTRIBUTING.md for how to add Skills and Scars.
Links
The Flywheel — how the improvement loop runs
Where agents shine — by remembering where they got burned.
A B Button Corporation project.
Available Tools
10 toolskira_consentAIdempotent
Set the telemetry consent level for kira_report. level='off' disables all uploads (local log still written). level='basic' uploads only anonymous core (skill_id, status, anonymous UUID, version, OS family, Node major). level='full' additionally uploads sanitized free-text note/context. Call with no arguments to query the current state. See PRIVACY.md for the exact wire format and redaction rules.
Inputs: level.
kira_getARead-onlyIdempotent
Get the full instructions for a specific skill or scar by ID. Call this AFTER kira_lookup to retrieve the step-by-step instructions for the skill you've chosen. lookup returns summaries (no instructions) to save tokens — use this tool to get the full details.
Inputs: id (required).
kira_lookupARead-onlyIdempotent
Look up skills (how to do it) AND scars (what to avoid) for a given keyword. Returns matching skills (community first, then vendor) and scars (critical first; your own recorded failures before shared ones, then by frequency). Personal scars recorded by kira_record_failure on this machine fire here too. The agent MUST: 1. Read ALL returned scars first — these are past failures. Avoid repeating them. 2. Read returned skills and choose the best fit for the project context. 3. ANNOUNCE the chosen skill's 'declaration' field to the user BEFORE executing. 4. Follow the skill's instructions step by step, watching for scar patterns.
Inputs: keyword (required), context.
kira_personal_briefARead-onlyIdempotent
Surface your most recent PERSONAL scars — the private, local-only failure notes recorded by kira_record_failure under ~/.kira/personal-scars/. Call this at the START of a session (ideally from a SessionStart hook) so you begin already aware of the walls you hit last time on this machine. Returns the top-N scars by recency (most recent first), each with its mistake and what to do instead. Pass 'limit' to change how many, and 'contexts' to keep only scars relevant to the current project. Personal scars are LOCAL-ONLY — this reads them from disk and never touches the network.
Inputs: limit, contexts.
kira_premortemARead-onlyIdempotent
Run a PRE-MORTEM before starting a task. Given a goal (and optional project context), return a heat map of the past failure patterns (scars, shared and personal) most likely to bite — ranked by how many times each wall has been recorded (hit_count). Each hotspot includes the mistake, the fix ('instead'), a relative heat score, and estimated minutes saved by avoiding it, plus an aggregate prevention value. When nothing matches strictly, 'near_scars' lists the closest recorded scars instead. Call this FIRST for any non-trivial task to surface known traps up front, then read each hotspot's 'instead' and use kira_lookup / kira_route to plan the actual work.
Inputs: goal (required), top_k, context.
kira_record_failureA
Capture a retry or exception you just hit as a PERSONAL scar — a private, local-only failure note stored under ~/.kira/personal-scars/. Call this immediately after a task needed extra attempts or threw an error, so future runs on this machine can avoid the same wall. Provide 'title' (what went wrong), 'mistake' (what was done / the exception), and ideally 'instead' (what to do next time). All free text is sanitized (keys, paths, emails redacted) before it touches disk. Personal scars are LOCAL-ONLY — they are never uploaded, on any tier.
Inputs: title (required), mistake (required), instead, summary, +3 more.
kira_reportA
Report the outcome of applying a Kira skill. ALWAYS call this after completing (or failing) a task guided by a Kira skill. Statuses: 'success' = worked first try, 'retry' = needed extra attempts, 'failure' = gave up. For 'retry' and 'failure', include a note describing what went wrong — this feeds the scar system so other agents don't repeat the same mistake.
Inputs: status (required), skill_id (required), note, context.
kira_routeARead-onlyIdempotent
Plan a complete route for a goal. Instead of looking up individual skills, describe what you want to achieve (e.g., 'build a web app', 'add payments') and Kira returns an ordered sequence of steps, each with its Skill and Scars. Use this FIRST when the user describes a broad goal rather than a specific task. Then execute each step in order, calling kira_report after each one.
Inputs: goal (required), context.
kira_statusARead-onlyIdempotent
Report what's currently loaded and configured: kira version, tier (free/pro), telemetry consent level, counts of skills/scars/routes available, and where the local report log lives. Call this whenever you need to know the install state without exhausting the keyword search via lookup.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool has a distinct role in the skill/scar lifecycle: lookup, retrieval, planning, reporting, consent, status, pre-mortem, recording, briefing, and sharing. There is mild overlap between lookup, premortem, and personal_brief in surfacing scars, but their use cases are clearly differentiated by timing and intent.
All tools share the kira_ prefix and use clean, readable names. Most follow a verb_noun pattern (record_failure, share_scar, personal_brief), though a few are noun-like (status, consent, premortem), creating minor inconsistency without harming predictability.
Ten tools is well-scoped for a skill-and-scar assistant: discovery, planning, execution support, feedback capture, personal memory, sharing, privacy, and status are all covered without redundancy. Each tool earns its place in the workflow.
The core workflow is complete: plan/route, lookup, retrieve details, run, report, capture failures, and review personal scars. Minor gaps exist such as no way to edit or delete personal scars and no direct skill creation tool, but these are outside the agent-facing usage loop and can be worked around.
Maintenance
Related MCP Connectors
Collective memory for AI agents. One agent solves a bug — every agent gets the fix instantly.
Deploy and manage your apps, databases, storage, and scheduled jobs from your AI agent
Diagnose why an AI agent failed and get the verified fix instantly. Free, no token.
Hosted self-curating shared memory that keeps your agents working like a high-performing team
Related MCP Servers
- AlicenseAqualityCmaintenanceCollective memory for AI agents. One agent solves a bug - every agent in the world gets the fix instantly.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to retain memory of past interactions and detect behavioral drift, preventing repeated mistakes without LLM token extraction.23 npm32 PyPI1,257MIT
- AlicenseNot gradedqualityCmaintenanceGives AI assistants a reliable memory for proven, verified skills, enabling them to reuse successful solutions and avoid repeating mistakes.30 npm1MIT
- AlicenseAqualityCmaintenanceIt enables AI agents to recover from failures by diagnosing issues, refocusing broad tasks, restoring session context, and managing retries safely with bounded memory and credential redaction.61MIT