VideoDB, a company that builds video and audio infrastructure for AI agents, maintains Call.md, an open-source Electron desktop app that records screen, microphone and system audio during video calls, transcribes both sides of the conversation in real time and can call MCP tools while the meeting is still running. The project’s first commit dates from February 26, 2026, the latest change landed on October 29, 2026, and the app cannot record or transcribe anything without a VideoDB API key.
Key points on Call.md for sysadmins in 30 seconds
- Call.md is VideoDB’s Electron app for recording calls, with live suggestions, MCP tool calls, Markdown export and webhooks.
- Recording works on macOS 12+ and on Windows x64 builds compiled from source; Linux and Windows ARM64 cannot record.
- Audio, transcription and LLM requests go through VideoDB’s API, while history and settings stay in local SQLite.
- An August 2026 security pass fixed plaintext credentials, an exposed local API and a disabled Electron sandbox.
- Data region, retention and training use are not documented.
The project’s tagline is “Turn meetings into live agent loops”, and the feature list is broader than a typical notetaker. The Spanish-language AI news outlet noticias.ai has published a detailed walkthrough of what Call.md does before, during and after a call. For anyone who runs desktops, networks or compliance programs, the more practical questions are where the audio goes, what the app exposes on the local machine and who has agreed to be recorded. The GitHub repository answers some of those questions and leaves others open.
What Call.md does during and after a meeting
According to the README, Call.md transcribes two channels separately: the user’s microphone (“you”) and the system audio (“them”). On top of that transcript it tracks talk ratio, words per minute, questions asked and monologues, shows suggested things to say or ask, and sends rate-limited coaching nudges. Before a meeting, a setup wizard generates probing questions and a checklist from a description the user types, and Google Calendar can be connected to sync upcoming meetings. That connection is optional and can be skipped during onboarding.
The MCP (Model Context Protocol) part is what sets it apart. MCP servers are added in Settings, either as local stdio processes or remote HTTP endpoints, and the README says the agent “detects information needs from conversation” and calls those tools automatically, with the output shown in a results panel. Every connected server is therefore a tool the agent can run mid-call without a click from the user, which is the kind of design trade-off covered in our guide on why MCP now demands real architectural judgment.
When the call ends, the app produces a three-part summary (overview, key points by topic attributed to participants, and action items), exports everything to Markdown with the full transcript and can push the meeting data to n8n, Zapier or a CRM through webhooks. Recordings stop on their own after two hours of active recording time, with a notification five minutes before. Paused time and system sleep do not count toward the limit, and the cap is a constant in the source that can be changed before rebuilding.
Platform support is narrower than the Electron stack might suggest. macOS 12 or later, on Apple Silicon and Intel, gets a hosted installer. Windows x64 can record, but only from a source build, as the project does not publish a Windows installer. Linux and Windows ARM64 builds run the interface, MCP servers, workflows, history and exports, yet the app refuses to start a recording because VideoDB’s capture SDK ships no binary for those targets. On macOS, the README gives this one-line install:
curl -fsSL https://artifacts.videodb.io/call.md/install | bashCode language: JavaScript (javascript)
Piping a remote script into a shell is convenient on a personal laptop and a poor fit for managed fleets. The installer source sits in the repository’s scripts folder, so teams can review it, or build a signed package themselves with the documented npm run dist:mac and npm run dist:win targets. Development builds need Node.js 22.12 or later and npm 10 or later.
Data flows to VideoDB and the gaps in the documentation
The project calls itself local-first, and that holds for storage: settings, meeting history, transcripts and generated metadata live in a SQLite database under the user’s application data folder. Processing is another matter. The README’s security section states that “Recording, transcription, and AI inputs are sent to VideoDB when those features are used”, and the tech stack lists the OpenAI SDK for “LLM calls via VideoDB’s OpenAI-compatible API”. In the source, both the real-time transcription service and the LLM service default to https://api.videodb.io.
| Data | Where it goes | What to check |
|---|---|---|
| Screen, mic and system audio | VideoDB, for capture and real-time transcription over WebSocket | Egress to api.videodb.io; region and retention are not documented |
| Prompts for summaries and live assists | VideoDB’s OpenAI-compatible API | Whether inputs are used for training is not stated |
| History, settings, transcripts | Local SQLite file | Endpoint backup, disk encryption and wipe policies |
| Calendar, remote MCP, webhooks | Whatever services the user configures | Which MCP servers and webhook targets are allowed |
What the repository does not say matters as much. There is no statement about the region where VideoDB processes or stores audio, how long recordings are kept, whether customer data is used to train models, or what usage costs beyond the free API key mentioned in the README. Those answers would have to come from VideoDB’s own terms. Teams that need audio to stay entirely on their hardware may want to compare it with a local tool such as Meetily, the local meeting notetaker. The license also needs a second look: the README badge and package.json declare MIT, but the repository root has no LICENSE file with the license text.
Security got serious attention this year. A working document in the repository, tasks/todo.md, records the findings of a security and privacy audit filed as issue #27. The team confirmed that credentials were stored in plaintext in config.json and SQLite, that the local tRPC server accepted requests from any origin and bound to all interfaces, that webhook URLs were fetched without validation (an SSRF risk), that the Electron sandbox was disabled and that the database was world-readable. The fixes were merged on August 12, 2026, followed by a second hardening commit on August 14. In the current code the server binds to 127.0.0.1, CORS only accepts loopback origins, sandbox: true is set on all three windows and webhook targets go through a URL guard that blocks private, loopback and cloud-metadata addresses. The same document lists two deliberate limits: a bootstrap file, auth_config.json, remains plaintext until the app deletes it, and recording metadata in SQLite is not encrypted at rest, only protected with 0600 file permissions.
Recording consent and a pre-deployment checklist
Call.md captures the other participants’ voices and screen content, and its documentation says nothing about notifying them. In the European Union, recording a work meeting is processing personal data under the GDPR, which requires a lawful basis (Article 6) and information for the people concerned (Article 13). Sending that audio to an external provider also raises the question of VideoDB’s role as a processor and, if data leaves the EU, the transfer rules in Chapter V. In the United States, the Reporters Committee for Freedom of the Press explains that federal law sets one-party consent as the minimum, but about 11 states, including California, Florida, Illinois, Maryland, Massachusetts, Pennsylvania and Washington, primarily require all parties to consent. For calls across state lines it advises assuming the stricter law applies.
Before allowing Call.md on company endpoints, administrators can work through a short list:
- Map egress to VideoDB’s API and decide whether it is allowed through the proxy or firewall.
- Get data region, retention and training terms from VideoDB in writing, plus a data processing agreement where the GDPR applies.
- Agree a consent notice for internal and external participants that covers all-party consent jurisdictions.
- Restrict which MCP servers and webhook targets users may configure, since both receive meeting content.
- Build from a reviewed commit dated after August 2026 rather than piping the installer into a shell.
Frequently asked questions
What is Call.md?
Call.md is an open-source Electron desktop app from VideoDB that records meetings, transcribes the user and other participants on separate channels in real time and generates summaries with action items. It can also call MCP tools during the meeting and send results to webhooks.
Does Call.md work offline or without VideoDB?
No. Recording, transcription and AI features require a VideoDB API key and an internet connection. Only settings, history and transcripts are stored locally in SQLite.
Which operating systems can record with Call.md?
macOS 12 or later, with a hosted installer, and Windows x64 when built from source. Linux and Windows ARM64 builds run the interface and exports but cannot record.
Is it legal to record a call with Call.md?
It depends on where participants are. In the EU, a work recording falls under the GDPR and needs a lawful basis and notice to participants, and in the US about 11 states primarily require every party’s consent.
Sources:
- noticias.ai: Call.md transcribe reuniones en directo y activa herramientas MCP
- Call.md repository on GitHub (README, package.json, commit history)
- Call.md security audit implementation plan (tasks/todo.md)
- Electron security checklist
- Reporters Committee for Freedom of the Press: Reporter’s Recording Guide
- General Data Protection Regulation (EUR-Lex)
