
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.
概覽
Kika 是遠端共享記憶伺服器,讓助理讀取並記錄專案中的決策、阻礙、承諾與已放棄的嘗試。
- 可以做什麼
- 讀取專案簡報並搜尋既有記憶
- 記錄新事實並更新既有條目
- 關閉承諾、阻礙等待辦事項
- 透過搭配的掛鉤自動擷取已定案的對話輪次
- 在網頁端檢視軌跡並復原已儲存內容
- 適用情境
- 適合多個代理或多人協作同一程式碼儲存庫或客戶專案,而決策理由、阻礙與承諾等資訊無法從程式碼看出來的情境。也適合希望這些脈絡跨工作階段保留並與同事共享的團隊。
- 執行需求
- 需要連線到 api.getkika.app 的遠端端點(streamable HTTP),並在瀏覽器中完成 OAuth 登入;在 CI 或無瀏覽器的機器上可改用 Authorization 標頭中的 Bearer 權杖。擷取掛鉤以 Claude Code 外掛形式安裝,Linux 與 Windows 上建議使用標頭權杖方式。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Kika,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
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.
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
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:
--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 originfor 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-fileslists — 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版本歷史
1- v0.2.4最新Sep 17, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分