
WireCat Zoom
dev.wirecat由 wirecat.dev 發布v0.67.0更新於 Nov 5, 2026
Zoom cloud recordings and transcripts for agents, kept on your computer. Sign in with zm first.
概覽
本機優先的 Zoom 會議、逐字稿與錄影工具,讓 AI 助理可搜尋並引用你過去的通話內容。
- 可以做什麼
- 搜尋並讀取已儲存的會議、逐字稿、AI 摘要與段落,並附上精確引用
- 會前準備:找出候選系列會議、與同一批人的歷史會議及附引用的背景資料
- 封存雲端錄影並產生含校驗碼的清單,離線搜尋或匯入已封存的 WebVTT 逐字稿
- 用下載的語音模型轉錄本機音訊,並產生向量以支援語意搜尋
- 預覽後續任務建議,把會議連結到人物或專案
- 列出、建立、更新與取消 Zoom 會議,查詢聯絡人
- 適用情境
- 適合希望助理回想 Zoom 通話中說過、約定或承諾了什麼,為即將到來的會議做準備,或在本機保留可搜尋的錄影與逐字稿封存的場合。
- 執行需求
- 透過 npx 在本機執行(Node 22.16+ 的 22.x 或 24+),需要一個使用者自行管理的 Zoom 應用程式並啟用 Public Client OAuth,將其 Public Client ID 設為 zoom.client_id 或 ZM_ZOOM_CLIENT_ID,登入時需在瀏覽器核准。建議使用系統鑰匙圈;本機轉錄另需 ffmpeg 與下載的模型。需能連線至 Zoom API。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 WireCat Zoom,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
[Zoom meetings and transcripts for your AI agent]
zoom-cli
Zoom meetings and transcripts for your AI agent. Know the context before the call. Remember the commitments after it.
zm keeps your Zoom meetings, transcripts and AI summaries in a local database and gives them to
Claude Code, Codex, Gemini CLI or any MCP client. Ask what you discussed with someone last time, or
what you promised in yesterday's call, and get the answer with a reference to the exact passage.
Documentation · Commands · WireCat
[npm] [Node] [License: Apache 2.0]
Example — invented people, illustrative output:
You: I have a call with Bob Sample at three. What did we agree last time, and what do I owe him?
Agent: You last spoke on 2 October in "Pricing review". You promised Bob a revised quote by Friday (
meeting:1/42/57/118), and he asked whether the annual plan includes onboarding (meeting:1/42/57/131). I found no later update in the stored meetings I searched; missing history may change that.
Quick start
You need Node 22.16+ (22.x) or 24+ and a configured user-managed Zoom app; a system keyring is best. Reuse one you already created or one your team has made available to your user; otherwise create your own. Use its Public Client ID, not its regular Client ID or secret. The installation guide walks through app settings, browser approval and callback completion.
Check Zoom's transcript generation and retention settings first: the API reads available hosted
meeting text, and permission does not create a transcript. For an attended meeting, obtain a VTT
file from the host or download one if allowed, then run zm personal meetings import <folder>. Full guide:
installation.
More: installation · your Zoom app · Zoom on wirecat.dev
What you can do
Prepare for a call. "I meet Bob Sample tomorrow. What did we talk about last time?"
meetings scheduled finds candidate series; meetings prepare <series-id> checks the selected
series’ next occurrence and gathers cited context. meetings people, search meetings (word
search that also matches English, Spanish and Russian word forms) and meetings context person:<id>
bring back past meetings with the same people. Inventory date hints alone do not prove the next call.
Participant discovery accepts --limit, --scan-limit, --max-read-bytes and --cursor;
follow item.page.next_cursor even after an empty scan page. It returns observed identity_id candidates,
never inferred person links. Stored meeting lists accept metadata queries, for example
zm personal meetings list 'started_at:[2026-09-01 TO 2026-10-01]' --json.
Find the project behind a call. "Which of my saved projects might this meeting concern?"
meetings projects scan <ref> compares one bounded page of local meeting evidence with existing
project names, keys and aliases. It returns cited suggestions and ambiguity for review, saving no
project link. The agent can check proposed labels against Memo's existing vocabulary too.
Follow up after it. "What did I promise in today's call?" The agent reads
meetings transcript and meetings summary, cites passages with meetings evidence, and
meetings task-proposal --type promise previews a follow-up task tied to that passage.
Keep the whole history. "Back up every recording since January."
recordings download --since-time 2026-01-01 --until-time 2026-10-10 --output-dir ./zoom-archive --jsonl downloads
video, audio, transcripts and chat with SHA-256 manifests; recordings schedule runs it daily.
More: the local archive · search and evidence · Zoom on wirecat.dev
Built for AI agents
- Command line + skill.
zm skill installadds the packaged guide for Claude Code, Codex and Gemini CLI. Every command speaks--jsonor--jsonl, andzm commands --jsondescribes them all. - MCP.
zm personal mcp serveserves zm's commands to Claude Desktop, Cursor and other MCP clients, as far as the profile's permissions allow;zm mcp serve --profiles allserves every profile from one server, and--httpserves browser apps behind your tunnel. Connecting a client.
Your agent. Your meetings. Your rules.
More: MCP and skills · connect your AI agent
Why zm
- Context across meetings. Search available hosted meetings and imported transcripts in the shared store. Read archived transcripts separately or import them before searching them together.
- Local-first. Meetings live in a SQLite database on your machine. Archived transcripts can be read and searched offline, without login.
- Every answer has a source. References such as
meeting:1/42/57/118point to one passage of one transcript revision, and corrected transcripts keep their history. - Made for agents. JSON output, bounded reads with explicit completeness, a skill and an MCP server.
- Safe by default. Your own Zoom app, tokens only in the keyring, permissions per profile, and every
change to Zoom asks first at the terminal. Over MCP there is no terminal, so
askruns without a question; usedenyorreadonlyto stop a change.
More: security · Zoom on wirecat.dev
What works today, and what does not yet
zm is at version 0.x; commands may still change. Today it reads hosted meetings, participants,
transcripts and AI summaries available to the account through Zoom's official API, imports downloaded
WebVTT files, archives cloud recordings, transcribes local audio with an installed speech model,
links meetings to events and people, and creates, changes or cancels simple meetings.
- It does not find commitments on its own. Your agent finds them in transcripts;
task-proposalonly previews a task and creates nothing. - People are linked by hand.
zmnever guesses a person from a speaker name; person context covers participants already linked to a person, for example withmeetings link. - Local transcription needs
ffmpegfor anything but a ready WAV, and a model you download withzm models download; speakers stay unknown. - Attended meetings need a manual download from your Zoom portal, then
zm personal meetings import. - A company-managed Zoom account may need an admin to approve your app.
- Daily archive jobs install only on Linux. Other platforms can preview them.
- Zoom only, for now. Google Meet and Microsoft Teams are on the roadmap.
More: what is planned · Zoom on wirecat.dev
More: compared with other tools · on wirecat.dev
Commands by task
Zoom meeting changes, links, transcription, schedules, explicit meetings embeddings generation and
lock recovery preview by default and run once with --yes; --dry-run keeps the preview. Word search
updates its index automatically. Search with --model generates missing vectors before ranking; an
explicitly selected remote embedding endpoint receives those transcript passages and the query.
More: usage · every command and option · Zoom on wirecat.dev
Your Zoom app and login
zm reads your meetings through Zoom's official API using a configured user-managed Zoom app
with Public Client OAuth. Reuse an existing app available to your user or create one. Enable Public
Client OAuth, copy its Public Client ID, configure the redirect and add the required scopes manually.
The optional starter manifest supplies neither scopes nor Public Client OAuth. Zoom may show a
Client Secret, but zm does not use it. Recording archives and management need additional scopes.
Follow the app setup guide; no credentials file is downloaded.
zm personal session start opens Zoom's consent page. Zoom redirects to the static page
https://wirecat.dev/zoom-callback, which passes the answer to a listener on your machine; if it
cannot, paste the code=…&state=… parameters it shows. Login checks the state and PKCE verifier and
stores tokens in the system keyring; where the keyring fails, in a private file, without asking
(--credential-storage file chooses the file, not recommended). Without a terminal, as in an agent's shell, login prints the URL
on stderr for the agent to pass on and waits for the callback; --no-input and CI refuse it. zm personal session status reads the cached state without refreshing it;
--check asks Zoom.
More: your Zoom app · login and sessions · Zoom on wirecat.dev
Profiles and the local store
The first word is the profile: zm personal meetings list. A profile is one Zoom login and its own
meetings in the store; zm work session start makes a second one. ZM_PROFILE names it for a shell
session, and ZM_PROFILE_LOCK pins a process to one profile. Nothing picks a profile for you: without
one, a command that uses an account stops and lists the profiles on this computer. Names have 1–64
letters, digits, dots, underscores or hyphens. Login makes a profile; so does the first import on a computer with
none. An import or pull naming an unknown profile beside others is refused, so a typo stores nothing.
Meetings live in the shared WireCat database wirecat.db, next to data from other WireCat tools.
MESSAGING_STORE selects another path. Store opens preserve legacy messages.db files and their
sidecars; manage their retention separately. Metadata, help, configuration and login never open the database.
More: profiles · where meetings are stored · Zoom on wirecat.dev
Pull, import and watch
The cursor alone does not revisit transcripts that appear late; use --lookback-days or an older
--since-time. A failed occurrence leaves the cursor unchanged for the next pull. Imported files follow
the exporter's YYYY-MM-DD_HHMM_topic-slug.vtt names, or .txt with a zoom-searcher header; their time is read in
this computer's zone unless files.timezone names another, and the import says which. A .txt's speakers become
participants of that meeting only; speaker names never become identities across meetings.
More: the local archive · Zoom on wirecat.dev
Archive cloud recordings
Sync covers up to ten years in monthly requests and downloads serially, streaming to disk. Each
occurrence gets a manifest with sizes and SHA-256 checksums, never signed URLs or tokens. Existing
files are never overwritten; repeated runs skip verified files. With a profile, interrupted downloads
resume safely. recordings archive transcript and search recordings read verified WebVTT offline
without a database; recordings archive import appends them to your stored meetings. recordings schedule create --yes installs a daily systemd user timer (Linux only).
What you can download depends on Zoom permissions, retention and your plan. Recordings of meetings you only attended are not necessarily available through your API.
More: archive cloud recordings · daily backups · Zoom on wirecat.dev
Search and evidence
search meetings indexes new meetings first, matches every word by prefix or by stored English, Spanish
and Russian word forms, and pages with an opaque --cursor. References have the form
meeting:<account>/<meeting>[/<transcript>[/<cue-position>]], stay inside the selected account and
keep pointing at the same revision after a correction. Bounded reads report their
coverage and limits; archive completeness can remain unknown. search all --only meetings,notes adds store-wide notes. search meetings --model searches by meaning with a model you name; nothing is downloaded for you.
More: search and evidence · topic search · Zoom on wirecat.dev
Local transcription
No Zoom transcript? zm personal meetings transcribe 1 ./call.m4a --model <model> --yes recognizes a recording —
Zoom's MP4 or M4A through an installed ffmpeg, a 16 or 48 kHz PCM16 WAV as it is — with a local speech model from
zm models download <model>, and appends it as a separate transcript. The preview checks the file without loading the model. Timestamps cover windows
of up to 30 seconds and speakers stay unknown.
More: transcribe local audio · Zoom on wirecat.dev
MCP and agent setup
zm skill install writes the packaged guide to ~/.claude/skills/zoom-cli/ (Claude Code) and
~/.agents/skills/zoom-cli/ (Codex, Gemini CLI); --for picks one. MCP clients start the server
with the profile it speaks for:
The server offers zm's commands as the three tools every WireCat CLI serves — zm_tools_search, zm_read,
zm_write — and runs each call as the command line would. The profile's permissions
decide what it offers: {"remote-meetings": "readonly"} keeps an agent from changing Zoom meetings. A desktop app
may need the full path from command -v zm (Linux/macOS) or where.exe zm (Windows), and the same ZM_CONFIG_DIR
or MESSAGING_STORE in the entry's env.
More: MCP and skills · MCP and skills on wirecat.dev · connect your AI agent
Manage Zoom meetings
Creation, updates and cancellation preview until you add --yes, and are never retried
automatically. An uncertain outcome exits with code 14: check Zoom before repeating. Remote ids are
Zoom's numeric ids; stored meetings commands use local ids.
More: managing Zoom meetings · Zoom on wirecat.dev
Output, limits and deadlines
--json prints one answer envelope; --jsonl prints typed item records and a final end record; piped output defaults to JSON and errors
go to stderr. --json=id,title keeps only those fields, --offline refuses the network, and output is
capped at 4 MiB unless --max-output-bytes says otherwise. Default deadlines are 30 seconds for
reads, five minutes for login and one hour for downloads, sync and verification; --timeout 5m
changes them. Watching and MCP serving run until stopped. Times are UTC in every format; text
output that shows one ends with times in UTC.
More: usage · Zoom on wirecat.dev
Configuration
More: configuration · Zoom on wirecat.dev
Security model
- A configured Zoom public-client app with PKCE; no client secret is used.
- Tokens in the system keyring, never in a config file; where the keyring fails, an owner-only file, said once on stderr.
- Network: Zoom's API, plus an embedding endpoint only when you name one.
--offlinerefuses both. - Manifests and saved jobs never hold signed URLs, tokens or credentials; diagnostics omit raw provider error text.
- The MCP server offers reads and writes for the profile it serves (or each profile
--profilesnames), limited by its permissions;askwrites run without a terminal question. ZM_READ_ONLY=1refuses changes to Zoom, the login, settings and anything you added (imports, links, transcripts, exports, jobs), with exit 5, before any network call; reads and the syncs that copy Zoom into the store or an archive still run. Give it to an agent that should only read.
More: security · security on wirecat.dev
Troubleshooting
- "Invalid redirect" from Zoom: the manifest import left the redirect URL or Public Client OAuth unset; fill them in by hand.
- No transcripts: check generation, retention and permissions in the app guide.
Enabling a setting does not restore deleted text; attended meetings may need
zm personal meetings import. - Missing-scope error: add the named scope in your app, then
zm personal session startagain. - Browser does not start:
zm personal session start --browser firefox, or paste the callback parameters. - Lock left after a crash:
zm personal recordings archive locks, thenrecoverwith--yes.
More: troubleshooting · Zoom on wirecat.dev
Part of WireCat
zm is part of WireCat, an open-source, local-first context layer for AI
agents. Meetings land in the same local store as your Telegram, MAX and memo data, and
zm personal search all "<query>" --only meetings,notes searches them together with your memo notes.
Start with Zoom. Add more context when you need it. Your context. Any agent.
More: wirecat.dev · connect your AI agent
Questions and setup help: join the WireCat Discord. Bugs go to this repository's issues.
Technical docs
The Zoom guides on wirecat.dev include setup, search and archive instructions.
Development
Node 22.16 or newer within 22.x, or Node 24 or newer:
Fixtures use invented people and meetings. Tests use an injected keyring, scripted HTTP responses,
temporary config folders and the memory meeting store. pnpm generate:check checks the generated
command reference; pnpm test:matrix measures command and option coverage.
More: development setup · test matrix
Licence
來源:README.md,提交 a0aa43e
工具
0版本歷史
7- v0.67.0最新Nov 5, 2026
- v0.66.0Nov 3, 2026
- v0.63.0Nov 1, 2026
- v0.60.1Oct 31, 2026
- v0.60.0Oct 31, 2026
- v0.59.1Oct 30, 2026
- v0.59.0Oct 29, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
其他 Wire 整合
Wire Cash: bank wire fees and transfer costs
cash.wire官方發布者
Wire Cash 讓助理查詢美國銀行公布的國內外電匯手續費、當日截止時間,以及匯款到墨西哥、印度、菲律賓的 World Bank 匯款成本。

TollWire Evidence
由 GitHub 帳號 TollWire 發布
本機 MCP 伺服器,把代理的變更、掃描、核准與部署記錄到防竄改雜湊鏈日誌,並可驗證該日誌。

WireCat b24
dev.wirecat
一個由本機 CLI 驅動的 MCP 伺服器,讓助理讀取與修改 Bitrix24 入口網站的 CRM:交易、潛在客戶、聯絡人、公司、銷售流程與產品。

SupportWire
由 GitHub 帳號 supportwire 發布
託管式 SupportWire MCP 伺服器,讓助理分流客服對話、回覆客戶,並管理客戶、任務與團隊設定。
Touchline Wire — FPL & Premier League Intelligence
由 GitHub 帳號 Steven-Robinson 發布
免驗證的 MCP 伺服器,為助理提供 2026/27 賽季英超與夢幻英超(FPL)即時資料:隊長人選、預估出賽、先發陣容、傷病與統計。