Kika

io.github.amitok2由 GitHub 帳號 amitok2 發布v0.2.3更新於 Oct 1, 2026

Shared memory for client engagements: decisions with reasons, blockers, promises, what was tried.

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶

概覽

AI 產生的概覽

Kika 是共享專案記憶伺服器,讓助理讀取並記錄客戶專案中的決策、阻礙、承諾與已放棄的嘗試。

可以做什麼
  • 讀取專案記憶:取得工作階段簡報,搜尋已做的決策、阻礙、承諾與試過的做法。
  • 寫入專案記憶:記錄新事實、更新既有條目並結案未結事項。
  • 自動擷取對話:搭配的掛鉤會在回合結束後記錄該回合確定的內容,不需助理主動呼叫工具。
  • 檢視與復原:網頁端軌跡列出掛鉤看到的每個回合,並可刪除由助理寫入的條目。
適用情境
適合在同一程式碼儲存庫或客戶專案上協作的團隊與助理,需要程式碼裡看不到的背景,例如某項決策的原因、目前阻礙、承諾了什麼與期限。也適合多人和多個助理共用同一份專案記憶的情境。
執行需求
需要存取 api.getkika.app 的遠端端點(streamable HTTP)以及 Kika 帳號。登入方式為瀏覽器 OAuth,或在 CI 與沒有瀏覽器的機器上透過 Authorization 標頭傳入 bearer 權杖。自動擷取掛鉤以 Claude Code 外掛形式提供;在 Linux 與 Windows 上建議改用標頭權杖方式。
安裝前請注意
擷取掛鉤會把最後一則助理訊息、你最後輸入的訊息、工作目錄、git 遠端位址與工作階段 ID 傳送給 Kika。每個專案首次建立時還會上傳最多 12 個已提交的 markdown 檔案,以及最近 60 次提交的主旨與日期。它會在本地保存一把僅供擷取用的金鑰,可在 Kika 網站撤銷。專案內所有成員都能讀寫該專案記憶,記錄的條目會標示為助理寫入且未經核實。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Kika,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.amitok2%2Fkika/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "kika": {
      "type": "http",
      "url": "https://api.getkika.app/mcp"
    }
  }
}

README

Kika for Claude Code

Kika gives a project one memory that every agent and every person on it reads. What was decided and why, what is blocked, what was promised and by when, what was already tried and dropped. None of that is in the repository, and an agent cannot infer it from the code.

[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]

One install gives you both halves:

  • the MCP server — get_brief, search_memory, remember, update_memory, close_loop, so an agent can read the project's memory and add to it; and
  • the capture hook — which records what a turn settled 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 usekika/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, 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.

Projects 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 a project of yours, add them at getkika.app/app/projects — the project, 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 project rather than a second copy of it: what they decide, you read, and every fact shows who recorded it and from which branch. Everyone on a project 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 a project is refused rather than duplicated. The agent is told the project exists, that they are not on it, and that whoever set it up can add them.

What leaves your machine

When a finished turn looks like it settled something, the hook posts to https://api.getkika.app/hooks/turn:

  • the last assistant message (at most 8,000 characters) and the last message you typed (at most 4,000), keeping the end of each rather than the beginning
  • the working directory, and git remote get-url origin for it
  • the Claude Code session id

It does not send your source code, your environment, or any other conversation. Most turns are discarded on your machine before any request is made at all.

Once per project, when Kika first creates the project for a repository, it asks for that repository's docs so the project starts with an overview rather than an empty page. The hook then posts to https://api.getkika.app/hooks/bootstrap:

  • up to 12 committed markdown files from the top two levels of the repository (README, CLAUDE.md, AGENTS.md, architecture docs first), at most 8,000 characters each. Only files git ls-files lists — never untracked files, never anything under a dot-directory
  • the subjects and dates of the last 60 commits (at most 4,000 characters)
  • the working directory, git remote and branch

This happens once per project and never again.

It reads a credential in one of four 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), ~/.kika/token, or ~/.kika/hooks-key. It never reads a credential belonging to any other server.

~/.kika/hooks-key exists because an OAuth access token lasts an hour and only the agent renews it — so without it, capture stopped an hour into any session where the agent did not happen to call Kika. While your OAuth sign-in is fresh, the session-start hook asks for a capture-only key once per machine and saves it there, readable only by you. The server accepts that key on the hooks and refuses it on the MCP tools, so it cannot search or read your memory beyond the session brief, and it cannot mint another key. It is listed at getkika.app/app/connect as "capture only", and revoking it there works like any key. With none of them present, capture exits immediately and sends nothing.

What it does say: once a day, at the start of a session, if no credential is found or the server rejects the one it has, you see one line — "Kika is not signed in … nothing from this session will be remembered". Capture that is off should never look like capture with nothing to save. That check runs on your machine and sends nothing but the request it was going to make anyway.

The hook runs after your turn ends and never blocks it. It exits quietly in every path, including failure: a hook that interrupts you is a hook you disable.

Seeing and undoing what it saved

getkika.app/app/trail shows every turn the hook saw, including the ones it saved nothing from and why, and what each cost you.

Anything recorded this way is marked agent-written and unverified. It can never overwrite something from one of your meetings, it never reaches your meeting notes, and every entry is listed at getkika.app/app/activity with an Undo that removes it.

Turning it off

Remove the plugin. Removing only the MCP server (claude mcp remove kika) leaves the hooks installed with no token to find: nothing is sent, and the once-a-day "not signed in" line appears until the plugin is removed too.

來源:README.md,提交 2c8377a

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

2
  1. v0.2.3最新Sep 17, 2026
  2. v0.2.2Sep 17, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式必需10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分