Kika

io.github.usekika由 GitHub 帳號 usekika 發布v0.2.4更新於 Nov 2, 2026

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

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

概覽

AI 產生的概覽

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

可以做什麼
  • 讀取專案簡報並搜尋既有記憶
  • 記錄新事實並更新既有條目
  • 關閉承諾、阻礙等待辦事項
  • 透過搭配的掛鉤自動擷取已定案的對話輪次
  • 在網頁端檢視軌跡並復原已儲存內容
適用情境
適合多個代理或多人協作同一程式碼儲存庫或客戶專案,而決策理由、阻礙與承諾等資訊無法從程式碼看出來的情境。也適合希望這些脈絡跨工作階段保留並與同事共享的團隊。
執行需求
需要連線到 api.getkika.app 的遠端端點(streamable HTTP),並在瀏覽器中完成 OAuth 登入;在 CI 或無瀏覽器的機器上可改用 Authorization 標頭中的 Bearer 權杖。擷取掛鉤以 Claude Code 外掛形式安裝,Linux 與 Windows 上建議使用標頭權杖方式。
安裝前請注意
擷取掛鉤會把最後一則助理訊息與你最後輸入訊息的尾端、工作目錄、git 遠端網址與工作階段 ID 傳送給服務商;每個專案首次建立時還會上傳最多 12 個已提交的 markdown 檔案,以及最近 60 次提交的主旨與日期。它會在 ~/.kika/hooks-key 儲存僅供擷取用的金鑰。專案成員皆可讀寫該專案記憶,代理寫入的條目未經核實。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Kika,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "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 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v0.2.4最新Sep 17, 2026

評分

已滿足適用檢查項的 85%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

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

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