Skip to main content
ClaudeWave

Shared memory for the client engagements you run — MCP tools plus an end-of-turn capture hook for Claude Code.

MCP ServersRegistry oficial0 estrellas0 forksShellMITActualizado today
ClaudeWave Trust Score
87/100
Trusted
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Documented (README)
Last scanned: 9/17/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/amitok2/kika-plugin
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/amitok2/kika-plugin and follow its README for install instructions.
Casos de uso

Resumen de MCP Servers

# Kika for Claude Code

One install, one credential, both halves of the memory:

![What the agent sees at session start: the engagement's blockers, decisions with their reasons, risks, and what is no longer true — then a reply that cites the fact it used](docs/session-start.png)


- **the MCP server** — `get_brief`, `search_memory`, `remember`, `update_memory`,
  `close_loop`; and
- **the Stop hook** — which reads each finished turn and records what was
  decided, without the agent having to remember to.

The hook is the part no other memory product has. A handshake that says "write
things down when they matter" is advice, and a model under load ignores advice.
A hook is not advice.

## Install

```
/plugin marketplace add amitok2/kika-plugin
/plugin install kika@kika
```

Then `/mcp`, choose kika, and approve in the browser.

That is the whole install. The plugin carries both halves — the MCP server and
the Stop hook — so there is nothing to clone, no script to run, and no second
credential: the hook reads the OAuth token Claude Code already holds for this
server and keeps refreshed.

Engagements create themselves the first time something worth remembering is
said in a repository. There is nothing to set up per project.

### With a token instead

For CI, or a machine with no browser. Get one at **getkika.app/app/connect**:

```
claude mcp add --scope user --transport http kika https://api.getkika.app/mcp \
  --header "Authorization: Bearer kika_mcp_…"
```

`--scope user` matters: without it the server is bound to the one project you
happened to be in. The hook reads that same header out of your MCP
configuration, so it is still one credential.

### Platform note

The OAuth path is verified on macOS, where Claude Code keeps the token in the
login keychain. Elsewhere the hook looks for `~/.claude/.credentials.json`
first, which may or may not be where your build stores it. If capture is silent
on Linux or Windows, use the `--header` form above.

### For a teammate

They install the same way and sign in as themselves. What they do in their own
repositories is their own memory.

To put them on an engagement of yours, add them at
**getkika.app/app/projects** — the engagement, then **People**, then the email
address they sign in with. They do not need an account first; the invitation
waits and is claimed the first time they sign in.

From then on their checkout of that repository resolves to *your* graph rather
than a second copy of it: what they decide, you read, and the trail shows whose
turn each entry came from. Everyone on an engagement can read and write its
memory; only the owner decides who else is on it.

Until you add them, a repository that already belongs to an engagement is
refused rather than duplicated — the agent is told the engagement exists, that
they are not on it, and that whoever set it up can add them.

## How the hook works

Claude Code fires a `Stop` event when a turn ends and hands the hook the
finished turn on stdin. Because it runs `async`, your turn never waits for it.

```
turn ends
  ├─ reply too short, or "done." → exit, costs nothing
  ├─ POST /hooks/turn with the turn and the repo's git remote
  │    ├─ Haiku: is there durable state here?   (usually no)
  │    ├─ already in the graph?                 (restatement vs change of mind)
  │    └─ write, marked agent-written
  └─ exit 0, always
```

Most turns stop at the first line and cost nothing at all. The agent is not
involved in any of this — it is not deciding to remember.

## What the hook sends, and what it does not

It runs after your turn ends and, when a turn looks like it contains a decision,
posts to `https://api.getkika.app/hooks/turn`:

- the last assistant message (at most 8,000 characters) and the last user
  message from the transcript (at most 4,000) — the tail of each, since that is
  where a conclusion is
- the working directory, and `git remote get-url origin` for it
- the Claude Code session id

It does **not** send file contents, your repository, your environment, or any
other conversation. Most turns are dropped locally before any request is made —
you can read exactly which in `hooks/capture.sh`, which is the whole program and
is 180 lines.

It reads a credential in one of three places, in this order: the `Authorization`
header you configured on the MCP server, the OAuth access token Claude Code
holds **for this server** (macOS keychain, or `~/.claude/.credentials.json`), or
`~/.kika/token`. It never reads a credential belonging to any other server. With
none of them present it exits immediately and silently, so an uninstalled or
unauthenticated setup costs nothing and says nothing.

## What it costs, and how to take it back

Watch the spend at **getkika.app/app/trail**, which shows every turn the hook
saw — including the ones it saved nothing from, and why — with what each one
actually cost in tokens. Everything the hook records is
marked agent-written and unverified: it can never overwrite something from one
of your meetings, never reaches your meeting notes, and every one is listed at
**getkika.app/app/activity** with an Undo that removes it from the graph.

## Turning it off

Remove the plugin, or `claude mcp remove kika` — with no token to find, the hook
exits immediately and silently.

Lo que la gente pregunta sobre kika-plugin

¿Qué es amitok2/kika-plugin?

+

amitok2/kika-plugin es mcp servers para el ecosistema de Claude AI. Shared memory for the client engagements you run — MCP tools plus an end-of-turn capture hook for Claude Code. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-09-16.

¿Cómo se instala kika-plugin?

+

Puedes instalar kika-plugin clonando el repositorio (https://github.com/amitok2/kika-plugin) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar amitok2/kika-plugin?

+

Nuestro agente de seguridad ha analizado amitok2/kika-plugin y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene amitok2/kika-plugin?

+

amitok2/kika-plugin es mantenido por amitok2. La última actividad registrada en GitHub es del 2026-09-16, con 0 issues abiertos.

¿Hay alternativas a kika-plugin?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega kika-plugin en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: amitok2/kika-plugin
[![Featured on ClaudeWave](https://claudewave.com/api/badge/amitok2-kika-plugin)](https://claudewave.com/repo/amitok2-kika-plugin)
<a href="https://claudewave.com/repo/amitok2-kika-plugin"><img src="https://claudewave.com/api/badge/amitok2-kika-plugin" alt="Featured on ClaudeWave: amitok2/kika-plugin" width="320" height="64" /></a>

Más MCP Servers

Alternativas a kika-plugin