MCP.Market

Kawa Code MCP server

by kawacode.ai·ai.kawacode/mcp·v10.1.1

Team-aware memory: intent, decisions, real-time conflicts for AI coding assistants.

A89/100grade A
What users say
No reviews yet
Be the first
Safety scan
A89/100

full report

Adoption
Growing

0 stars324 downloads/wk

Reviews

Write one

Nobody has reviewed Kawa Code yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Kawa Code tools (22, 2 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • activate_intent

    Activate an existing intent by ID — sets it as THIS session's current focus. Use this to: - Switch your current focus to a different intent found via list_team_intents or get_relevant_context - Re-activate an intent that was deactivated (e.g., to complete it) - Resume work on a previously created intent - Resume an "abandoned" intent (see below) Accepts both cloud IDs (from get_relevant_context /

  • arbiter_apply

    Resolve live code overlaps and AUTO-APPLY the safe tier. Kawa judges → adversarially verifies → and,

  • arbiter_resolve

    Get Kawa Code's AI verdict for live code overlaps with peers — SUGGEST-ONLY, never writes.

  • check_active_intent

    REQUIRED before writing any code. Returns this session's current intent; if there is none, confirm the details with the user and call create_and_activate_intent. Intents are active PER SESSION — many can be active on one repo at once. hasActiveIntent reflects only YOUR session, while activeIntents lists every session's current intent (yours and teammates') and may be non-empty when you have none.

  • complete_intent

    Mark the active intent completed and clear it. Call after a successful git commit, passing commitSha so code blocks are captured. status: committed (default, local commit) | pushed | done | abandoned. You MUST inspect the response: - success === true — done. If committedDecisionCount > 0, say N decisions were recorded; do NOT list them. If apiSyncDeferred, say the sync was deferred and will replay

  • create_and_activate_intentwrite action

    Create a new intent from the user's request and mark it as active for THIS session. Call this when check_active_intent returns no active intent for your session. Before calling: 1. Summarize what the user is asking for 2. Ask the user to confirm the intent details (title, description, type) 3. Then call this tool with the confirmed details This ensures all AI-generated code gets properly tracked a

  • detect_intent_conflicts

    Find intents from other team members that potentially conflict with the active intent. When to use: - Before committing, to surface overlapping team work so the user can coordinate before merging. Inputs of note: - `intentId`: the active intent to check against. - `minScore` (optional): minimum match score to include in results. Returns scored conflict candidates with: - `score`: how strongly the

  • edit_session_decision

    Edit or delete a decision in the current session. Use this when reviewing decisions before commit: - action: "update" - Modify the decision fields - action: "delete" - Remove the decision entirely Only ephemeral (in-flight) session decisions are editable. Once a decision is synced to Kawa Code, it is immutable — refine it instead by recording a new decision with `supersedes: [<id>]`. This allows u

  • get_decision_detail

    Expand one decision to its full detail. Recall surfaces (get_relevant_context, get_project_decisions, get_session_decisions) return decisions summary-only to keep context lean. Use this to pull the full reasoning for a single decision you want to open — pay for detail only where you ask for it. Inputs: - `decisionId`: the decision to expand (the `id` / `decisionId` from a recall result). Returns t

  • get_intents_for_file

    Intents with code blocks in a file, so you can see in-progress work and team conflicts before editing. Pass startLine + endLine to narrow to a range; the result then reports the exact overlap and warns when it hits a teammate's active intent.

  • get_project_decisions

    ONE PAGE of the project's decisions across all intents, newest first — architectural choices, trade-offs, and the constraints they respected. Max 100 rows. If `hasMore`, you are holding a prefix, not the history: walk it with `offset`, or better, use get_relevant_context for the decisions that bear on your task. For the whole corpus (export, audit), use Kawa Code, not this tool. Returns: decisions

  • get_relevant_context

    Find past intents and decisions relevant to the current user request. When to use: - After you have done a quick initial exploration of the user's request and know which files are involved. Calling earlier with only a vague prompt gives weak results. - To pull task-specific context instead of dumping all recent activity — preferred for large projects. Inputs of note: - `prompt`: the user request,

  • get_resolution_context

    Resolve a live code collision with a peer BEFORE you write (Layer C resolution handoff). Call this when the Stop hook's collision report (or complete_intent's resolution_required gate) surfaced a live peer (a teammate or AI agent editing the same lines). Pass that collision's uid as peerUid and its overlapping ranges. You get back: - peerSnippet — the peer's actual (decrypted) code at the overlapp

  • get_session_decisions

    Get all decisions recorded in the current session for an intent. Use this before committing to review what decisions were captured during development. Decisions are presented for user review and can be edited or removed before being persisted. Returns: - intentId: The intent these decisions belong to - decisions: Array of decision points (summary-only — call get_decision_detail(decisionId) for ful

  • infer_history

    One-time-ish bootstrap: mine a repo's git history into intents and decisions. Rare — use it to seed a repo that has no recorded history yet, or to extend coverage after many new commits. NOT part of the per-turn workflow. Costs real money and time, so it is a two-step call: run with estimateOnly (the default) to preview tokens/cost, show the user, then re-call with estimateOnly: false only if they

  • list_team_intents

    List intents from team members for this repository. Use this to: - See what your team is working on - Check for potential overlapping work before starting a new task - Review the status of various features/refactors in progress Filtering (status, author, date range) and pagination are applied server-side across the full result set (default: 50 per page; use limit/offset to page). `count` is the to

  • log_work

    DEPRECATED — trivial changes (typos, one-line fixes, obvious bugs, doc updates, config changes) should skip the intent workflow entirely: just make the change and commit, no intent needed. Do not call this tool. Kept available for backwards compatibility only and will be removed in a future release.

  • pre_edit_acknowledge

    Acknowledge pre-edit decisions so they stop blocking your edits for the rest of this session. When a pre_edit_decision_check block fires and you judge the surfaced reasoning does NOT apply to your edit, call this with the surfaced decision IDs, then retry the edit — those decisions won't re-block this session. The acknowledgment is recorded by this call itself appearing in the session transcript,

  • pre_edit_decision_check

    Check whether the line range about to be edited has prior recorded reasoning attached. Call this BEFORE editing code in a kawa-indexed repo. Surfaces: - Tier 1a — overlapping intents whose blocks cover these lines (line-precise team coordination + intent-scoped decisions) - Tier 1b — repo decisions whose relatedFiles include this file (file-coarse, catches infer_history-extracted constraints) (Liv

  • record_decision

    Silently record a decision point during development. Call this tool when you: - Choose between multiple alternatives (type: fork) - Try an approach that fails or is rejected (type: abandoned) - Find unexpected behavior or limitations (type: discovery) - Identify a hard constraint that must be respected (type: constraint) - Make an explicit trade-off between competing concerns (type: tradeoff) - Se

  • resume_intent

    Resume an existing intent by ID in one call — activate it AND load its recorded decisions. Use this to pick up a handoff. When a prompt says "follow up on intent <id>" (or you otherwise want to continue a specific existing intent), call resume_intent(<id>) instead of creating a new one. It: - activates the intent as THIS session's current focus (multi-active — never displaces a teammate's active i

  • update_intentwrite action

    Update an active intent's title, description, scope, or constraints. Use this to reformulate an intent as understanding evolves during work. Intents are living documents — they should be updated to reflect what the work actually became, not left as the initial guess. Common triggers for reformulation: - The real problem turned out to be different from the initial hypothesis - Scope expanded or nar

Public scan report

scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it

no findings
  • Code scan99 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 1 days ago15/15
  • Maintainer identitynamespace and repository owner differ; website matches verified namespace6/10
Overall 89/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Kawa Code compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
89/100
higher than 80% of 48,255 servers
Tools
22
the typical server has 7
Tools that change things
9%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
324
more than 82% of 12,191 servers with a package

What its tools let an agent do: 19 read · 1 create · 2 change

Release history: 4 versions in the registry since 2026-08-15, latest 2026-11-03, typically one every 27 days.

Install Kawa Code in Claude Code, Cursor or VS Code

Runs npx -y @kawacode/mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add mcp -- npx -y @kawacode/mcp
Add to Cursor

What the publisher says

From the Kawa Code repository's README, as published. We do not edit it. Read it on GitHub

Kawa Code MCP

Team-aware memory for AI coding assistants. Track intent, record decisions, and see when a teammate is editing the same code — in real time, before commit.

@kawacode/mcp is the official Model Context Protocol (MCP) server for Kawa Code. It lets Claude Code, Cursor, and any MCP-compatible AI assistant:

  • Remember what you're working on across sessions, branches, and machines — no more re-explaining the architecture every morning.
  • Surface team conflicts before they happen — know when a teammate is editing the same file or function in their working copy right now, before either of you commits.
  • Capture architectural decisions with their reasoning — future you (and future AI sessions) inherit the team's accumulated context instead of relitigating choices.
  • Link commits to intent automatically — every commit gets the why attached, not just the diff.

Prerequisites

Required

  • Node.js >= 18.0.0 — runtime for the MCP server
  • Kawa Code desktop app running — kawa.mcp is a thin MCP-to-IPC adapter; all git operations, storage, and API communication happen in Kawa Code

Optional (for history inference)

  • Anthropic API key — your own Claude API key, passed as a parameter to the inference tools
  • GitHub CLI (gh) — enables richer data tiers (PR descriptions, review comments, issue discussions). Without gh, tiers 2 and 4 are skipped automatically

Installation

Add the MCP in your AI configuration, for example on Claude Code:

claude mcp add -s user kawa-intents -- npx -y @kawacode/mcp

For Cursor AI, install the MCP with npm install -g @kawacode/mcp and add it to ~/.cursor/mcp.json.

{
  "mcpServers": {
    "kawa-intents": {
      "command": "kawacode-mcp"
    }
  }
}

Note that the MCP will not be automatically updated to future versions in this scenario. To upgrade to a newer release, run npm update -g @kawacode/mcp.

Manual Installation

For the project you want Kawa Code to run on, create a .mcp.json file in your project root (recommended for teams — commit it to git):

{
  "mcpServers": {
    "kawa-intents": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@kawacode/mcp"]
    }
  }
}

Usage

The MCP server works together with the Kawa Code application, Kawa Code IDE extensions, and AI code generators such as Cursor AI and Claude Code.

Pre-edit decision check (Claude Code hook)

Optional. When the agent is about to edit code that has prior recorded reasoning attached (an overlapping intent's blocks, or a constraint with the file in relatedFiles), the hook surfaces it before the Edit fires. Recommendation maps to action: silent (proceed), advisory context injected (review), or blocked with stderr message (investigate-upstream).

Wire it as a Claude Code PreToolUse hook in your ~/.claude/settings.json or project .claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          { "type": "command", "command": "npx -y -p @kawacode/mcp kawacode-on-pre-edit" }
        ]
      }
    ]
  }
}

Override paths when blocked:

  • Persistent (recommended): record a fork decision that supersedes the existing one and retry the Edit.
record_decision(type: "fork", supersedes: ["<surfaced-decision-id>"], rationale: "...")
  • One-off escape hatch: add force: true to the Edit tool args. The hook acks the surfaced decisions in the session cache and allows the edit. Cache resets when the Kawa Code daemon restarts.

Disable the hook for a session with KAWAPREEDIT_CHECK=off.

Local telemetry (logs)

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Kawa Code: common questions

Is Kawa Code MCP server safe?
Yes, by our scan: it is graded A (89/100). Read the Kawa Code safety report
How do I install Kawa Code?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Kawa Code need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Kawa Code maintained?
The last commit was in the last day (2026-11-03). The latest release is v10.1.1.
What can I use instead of Kawa Code?
Servers from other publishers that do the same job: Deja Vu MCP server, State Memory MCP server and Tradememory Protocol MCP server. Compare all Kawa Code alternatives.
How does Kawa Code compare with other MCP servers?
safety score 89/100 (higher than 80% of 48,255 servers); tools 22 (the typical server has 7); tools that change things 9% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Kawa Code

Same job from other publishers: the closest match first, then the best rated.

All Kawa Code alternatives →
  • Deja Vu
    deja-vu: local memory over the session histories of forty-three coding agents.
    A
  • State Memory MCP
    Persistent workflow graph server tracking tasks, decisions, spatial entities, and blockers.
    A
  • Tradememory Protocol
    Tamper-evident decision audit trail and outcome-weighted memory for AI trading agents.
    B