Recount MCP server
README.md
# Recount MCP server
<!-- mcp-name: com.externalsoftware/recount -->
Connect Claude, Cursor, Codex, Gemini CLI, GitHub Copilot and other AI apps to **[Recount AI Notetaker](https://externalsoftware.com/recount/?utm_source=recount_mcp&utm_medium=referral)**, the desktop app that records meetings on your own computer and transcribes them there, with no bot joining the call.
**[Download Recount free](https://externalsoftware.com/store/recount?utm_source=recount_mcp&utm_medium=referral#download)** for Windows, macOS or Linux, then connect your AI app below.
Once connected, your AI app can:
- answer questions about past meetings ("What did Sarah say about the budget last week?")
- search what was said across every meeting
- follow the live transcript of the meeting you're in
- start, stop and mute recording
- name the speakers in a transcript
- write your notes and meeting notes
- turn action items into tasks on your Recount task board
Everything stays on your computer. Recount serves your meetings to AI apps only on `127.0.0.1` (this computer), and this package passes messages between your AI app and Recount without sending them anywhere else. Your AI app itself will of course read what it asks for, under its own privacy terms.
## Requirements
- [Recount](https://externalsoftware.com/store/recount?utm_source=recount_mcp&utm_medium=referral#download) for Windows, macOS or Linux (free), **open and signed in**
- Node.js 18 or later, for the `npx` setups below
Connecting AI apps is free in Recount. Recount transcribes English only.
## Setup
Pick your AI app. Recount's **Connect AI** page shows the same steps.
### Claude Desktop
Easiest: download `recount.mcpb` from the [latest release](https://github.com/External-Software/recount-mcp/releases/latest) and double-click it. Or click **Connect** on Recount's Connect AI page.
Or add this to `claude_desktop_config.json` (Settings > Developer > Edit Config):
```json
{
"mcpServers": {
"recount": {
"command": "npx",
"args": ["-y", "@externalsoftware/recount-mcp"]
}
}
}
```
### Claude Code
```sh
claude mcp add --transport http --scope user recount http://127.0.0.1:7891/mcp
```
### Cursor
In `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"recount": { "url": "http://127.0.0.1:7891/mcp" }
}
}
```
### VS Code (GitHub Copilot)
In your user `mcp.json` (Command Palette > **MCP: Open User Configuration**):
```json
{
"servers": {
"recount": { "type": "http", "url": "http://127.0.0.1:7891/mcp" }
}
}
```
### Windsurf
In `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"recount": { "serverUrl": "http://127.0.0.1:7891/mcp" }
}
}
```
### Gemini CLI
In `~/.gemini/settings.json`:
```json
{
"mcpServers": {
"recount": { "httpUrl": "http://127.0.0.1:7891/mcp" }
}
}
```
### OpenAI Codex
In `~/.codex/config.toml`:
```toml
[mcp_servers.recount]
url = "http://127.0.0.1:7891/mcp"
```
### Any other MCP app
Apps that connect to a URL: `http://127.0.0.1:7891/mcp` (Streamable HTTP). Apps that start a program: command `npx`, arguments `-y @externalsoftware/recount-mcp`.
## Tools
| Tool | What it does |
|---|---|
| `list_meetings` | Recorded meetings, newest first, with who was in each |
| `get_meeting` | One meeting: details, voices, transcript, your notes, meeting notes and screenshots |
| `search_transcripts` | Find what was said across every meeting |
| `get_live_transcript` | What has been said so far in the meeting being recorded |
| `get_recording_status` | Whether Recount is recording right now, and for how long |
| `start_recording` / `stop_recording` | Start or stop recording a meeting (microphone and computer audio) |
| `mute_recording` | Mute or unmute the microphone or computer audio while recording |
| `import_recording` | Import an audio or video file (.m4a, .mp3, .wav, .mp4...) as a new meeting |
| `get_my_notes` / `write_my_notes` | Read or write your own notes for a meeting |
| `save_meeting_notes` | Save meeting notes (Markdown) on a meeting |
| `list_note_styles` / `get_note_style` | The meeting-note styles you can choose from |
| `rename_meeting` / `reprocess_meeting` / `delete_meeting` | Rename, transcribe again, or delete a meeting |
| `name_speaker` / `confirm_speaker` / `ignore_speaker` / `reset_speaker` | Label the voices in a meeting's transcript |
| `list_participants` / `add_participant` / `update_participant` / `remove_participant` | The people listed as being in a meeting |
| `list_tasks` / `get_task` / `create_task` / `update_task` / `delete_task` | Your task board |
| `add_task_column` / `create_project` / `update_project` | Board columns and projects |
Naming a speaker only labels that voice in that meeting's transcript; Recount doesn't save anyone's voice from it.
## Troubleshooting
- **"Recount isn't open"**: open Recount and sign in. AI apps can only reach it while it's running.
- **Locked**: if Recount's window is locked, it refuses AI requests until you unlock it.
- **Different port**: if you changed Recount's port, run `npx -y @externalsoftware/recount-mcp --port=1234` or set `RECOUNT_MCP_URL`.
## Development
```sh
npm test # tests against a stand-in Recount server
node build-mcpb.mjs # builds dist/recount.mcpb for Claude Desktop
```
## License
MIT for this package. Recount itself is free to download, with an optional Pro subscription: https://externalsoftware.com/recount/?utm_source=recount_mcp&utm_medium=referral
Made by [External Software LLC](https://externalsoftware.com). Recount was called Hark before November 2026.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo recent community issues