
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)实时数据:队长人选、预计出场、首发阵容、伤病与统计。