Kato

io.github.manduks由 GitHub 帳號 manduks 發布v0.2.1更新於 Nov 6, 2026

What was said, shown and promised on your client's calls, filed by client. Needs the Kato app.

已驗證STDIO僅桌面效率與工作流溝通與協作

概覽

AI 產生的概覽

Kato 外掛讓在客戶資料夾中工作的代理依客戶查詢通話中說過、展示過與承諾過的內容,無需貼上紀錄。

可以做什麼
  • 依客戶查詢通話中說過、展示過與承諾過的內容
  • 搜尋並閱讀所綁定客戶的通話紀錄、筆記與承諾
  • 取得目前資料夾所綁定客戶的簡報
  • 工作階段開始時查看該客戶最新動態的簡短摘要
  • 把代理回報的工作標為「自稱完成,未經核實」而非已確認
適用情境
適合在 Mac 上於客戶專案資料夾中工作,希望代理不必貼上紀錄就能回想該客戶通話歷史、承諾與筆記的情況。只有已在使用 Kato 應用程式並錄製客戶通話時才有意義。
執行需求
需另行購買 Kato 應用程式(每月 29 美元,7 天試用,須先綁卡),執行於 Apple Silicon Mac、macOS 14 或更新版本。需從應用程式安裝 Kato 命令列工具,並以 kato bind 指令把資料夾綁定到客戶。在 Claude 桌面應用程式中還需 .mcpb 安裝包並選定客戶資料夾。外掛本身不需要 API 金鑰,也不建立網路連線。
安裝前請注意
此應用程式非開源,會在任何通話(客戶或私人)時自行啟動,並在通話之間讀取視窗文字;通話紀錄與視窗文字會傳送到託管服務。資料夾綁定只約束透過 MCP 存取 Kato 的代理:能執行 shell 指令的代理可直接讀取大腦檔案。回答預設會去識別化,封存的客戶只回傳路由資訊。同時安裝外掛與 kato connect 會讓工具重複出現。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Kato for Claude Code

Kato is the eyes and ears of your agents. It runs on your Mac, hears your client calls and files them by client. This plugin lets an agent working in a client's folder ask what was said, shown and promised, with no paste. What an agent reports done shows as "says done, not verified".

You need the Kato app

This repository holds only the plugin. The Kato app is not open source and is sold separately: $29/month USD with a 7-day trial and a card up front, at installkato.com. It runs on an Apple Silicon Mac with macOS 14 or later (14.4 or later for both sides of a call). Without the app the plugin does nothing except say so.

Know what the app does before you install it. It starts on its own on any call, client or personal, when a meeting app or a browser is in front with your mic in use. Between calls it reads the text of the window you're in. Audio stays on your Mac; transcript and window text go to the hosted brain, logged in a ledger on your Mac. Its privacy page has the details.

What this plugin runs and sends

  • bin/kato-mcp.sh starts ~/.local/bin/kato mcp ~/kato, a local server over stdio, in the folder it was started in (in Claude's desktop app, the client folder you picked). If that file is missing, it prints where to get Kato and stops; in Claude's desktop app, every tool call answers with that link instead, and the same for a folder not picked yet or gone.
  • hooks/session-start.sh runs the same local tool at session start and prints at most 5 lines of what is new for the client this folder is bound to, or one line if Kato isn't installed.
  • skills/whats-new tells the agent when to ask.

The plugin opens no network connection and has no key.

Install

  1. Install the app from the link above and start the trial.
  2. Install the command-line tool from Kato's right-click menu.
  3. In your shell:
claude plugin marketplace add manduks/kato-mcpclaude plugin install kato@kato

Run /reload-plugins or start a new session afterwards. The server reads the brain at ~/kato. Elsewhere, use kato connect <brain> instead, which also registers Kato in Cursor, Codex and OpenCode. Pick one: with both, Claude Code shows the tools twice.

Claude's desktop app

Claude's desktop app doesn't start Kato in a folder, so Kato needs you to pick one. Download kato-mcp.mcpb from the latest release, open it and press Install; Claude turns Kato on. Then open Settings > Extensions > Kato and pick the Client folder. Until you do, every Kato tool answers with that step. Bind that folder first (next section): a folder bound to no client gets a refusal from every tool. Kato in Claude's app then answers for that folder's client and nothing else, or for every client if you bound it with --all. Every conversation in Claude's app uses this one folder.

Bind a folder to a client

An agent gets nothing until its folder is bound, and a client exists in Kato only once you have filed a call to it (Kato asks which client when the call ends) or named it when you set up the app. So a new install answers nothing before your first call. After that:

kato spaces ~/katokato bind ~/kato <client> <dir>

A folder bound to a client sees only that client, on EVERY tool of the kato server (transcripts, notes, commitments, search, brief, not only whats_new): asking for another client is refused with no content. A folder bound to no client gets a refusal from every tool (it names no client) and silence from the hook. For your own operator workspace, where an agent should see every client:

kato bind ~/kato --all <dir>

That is set by hand only; Kato never learns or guesses it. kato bind ~/kato --unbind <dir> removes either kind.

A folder that holds two or more git repositories (and has no .git of its own) is refused, because binding it would hand the client to every one of them; the refusal lists the repositories it found. A folder holding just one binds, and kato bind names that one project so it is in view. If Kato later learns that project is another client's (a folder it has seen you use for that client), the project's folder answers no client until you bind it yourself. A folder Kato cannot fully read (permissions) is refused unless it already found two repositories. Hidden folders (.founder, .claude) and dependency folders (node_modules, vendor, third_party, Carthage, Pods) are not counted. If it is one project, git init in it makes it bindable. If every repository in it belongs to that client, bind it anyway:

kato bind ~/kato <client> <dir> --wide-ok

--wide-ok is recorded with the binding and lifts only that rule: your home folder, /, /tmp and a non-git folder directly in your home are still refused. Kato checks what a folder holds once, when you bind it, so a repository cloned into a bound folder later does not change who that folder answers for. (A row Kato learned on its own is checked the first time a session starts in it.) --unbind makes a folder answer no client — also one inside another client's bound folder, and also an --all folder — and says what the folder answers afterwards (and which outer folder answers for its other folders again). A bound folder whose path now runs through a symlink, or a binding Kato cannot read in agent/work-roots.json, answers no client until you bind it again.

Codex

Skills use the shared skills/<name>/SKILL.md layout. OpenAI documents .claude-plugin/marketplace.json as a legacy-compatible marketplace location but does not document reading Claude's plugin.json, so for Codex use kato connect (it registers [mcp_servers.kato] in ~/.codex/config.toml). Codex plugin hooks are not supported for directory submission.

Privacy

The plugin and its server run on your Mac and open no network connection. The app itself sends transcript and window text to the hosted brain, as said above. Answers to agents are redacted by default ([REDACTED:...]). A sealed client returns routing only (when, with whom), never content, on every tool. Through the kato MCP server, a folder bound to one client never receives another client's content.

Said plainly: this wall binds an agent that reaches Kato only through MCP. An agent that can run shell commands can run kato transcript or read the brain's files (~/kato) directly; the folder binding does not stop that. The CLI keeps --space because a terminal is your own process.

The hook prints only a digest it can parse (one JSON line from kato new --digest); an older kato that does not know new prints nothing. It moves the folder's place forward only after the digest is written and only while there is still time for the hook to print it (3.5 s into its 5 s), so a slow start repeats the news next session instead of skipping it.

來源:README.md,提交 6e84d8b

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

1
  1. v0.2.1最新Nov 6, 2026

評分

已滿足適用檢查項的 40%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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

    請在儲存庫或註冊中心條目中宣告授權條款。