Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Meetscribe

БесплатноНе проверен

Record, transcribe, and extract action items from meetings inside Claude Code. Bring your own API key. macOS, Node 18+.

GitHubEmbed

Описание

Record, transcribe, and extract action items from meetings inside Claude Code. Bring your own API key. macOS, Node 18+.

README

License: MIT Node Platform: macOS

Record, transcribe, and extract action items from meetings - directly inside Claude Code. No subscriptions, no separate app. Bring your own API key and get structured meeting notes in seconds.

Think of it as your own Granola, running as a Claude Code plugin.

What it does

  1. Record - captures mic audio (+ system audio if BlackHole is installed) via ffmpeg
  2. Transcribe - streams to Deepgram in real time, or batch-transcribes with AssemblyAI or OpenAI Whisper
  3. Extract - MeetScribe pulls out action items, decisions, blockers, and a summary
  4. Save - writes everything to a clean markdown file in your project

One command to start, one to stop. Everything else is automatic.

Quick start

Prerequisites

  • macOS (recording uses ffmpeg's avfoundation; other platforms can still use meeting_import)
  • Node.js 18+
  • ffmpeg (brew install ffmpeg)
  • A transcription API key (any one of the three providers)

Install

# Clone the plugin
git clone https://github.com/qa-aman/meetscribe.git
cd meetscribe
npm install

# Add your API key
cp .env.example .env
# Edit .env and add your key

Connect to Claude Code

Option A - all projects (recommended). From the cloned folder, run:

npm run connect

That's it - no paths to figure out. It registers MeetScribe at user scope so it works in every project. Restart Claude Code, then verify with /mcp - meetscribe should be listed as connected.

Under the hood it runs:

claude mcp add meetscribe --scope user -- node "$(pwd)/src/index.js"

Option B - single project. Add to that project's .mcp.json with the absolute path:

{
  "mcpServers": {
    "meetscribe": {
      "command": "node",
      "args": ["/absolute/path/to/meetscribe/src/index.js"]
    }
  }
}

Either way, meeting notes always save into the project you run it from (<project>/meetscribe/), and the API key is read from the MeetScribe install directory - no per-project key setup.

Use it

You:     meeting_setup              # check prerequisites
You:     meeting_start "Sprint 14"  # start recording
         ... have your meeting ...
You:     meeting_stop               # stop, transcribe, extract, save

Your notes land in meetscribe/YYYY-MM-DD_Sprint-14/.

Tools

Tool What it does
meeting_setup Check prerequisites (ffmpeg, API keys, config)
meeting_start Start recording with a title
meeting_stop Stop recording and run the full pipeline
meeting_import Import an existing audio or transcript file
meeting_save Save extracted notes (called automatically)
meeting_list List all past meetings
meeting_config View current configuration

Transcription providers

Provider Free tier Speaker labels Streaming Languages
Deepgram (default) $200 credit Yes Yes (live) 60+
AssemblyAI $50 credit Yes No (batch) 6
OpenAI Whisper None (pay-as-you-go) No No (batch) 50+

Switch providers in meetscribe/config.yaml:

provider: assemblyai    # deepgram | assemblyai | whisper

Streaming vs batch

With Deepgram (the default), MeetScribe streams audio over WebSocket and writes the transcript in real time as you speak. meeting_stop returns extraction-ready text instantly.

For AssemblyAI and Whisper, audio is uploaded and transcribed after meeting_stop (batch mode). Streaming auto-falls-back to batch if the WebSocket connection fails.

Disable streaming explicitly in config.yaml:

streaming: false

Multi-language support

Set the language field in config.yaml:

language: en          # ISO code: en, hi, es, fr, de, ja, ...
# or
language: multi       # Deepgram auto-detects language per utterance

Import existing recordings

Already have an audio file or transcript? Import it directly:

meeting_import '/path/to/recording.m4a'
meeting_import '/path/to/transcript.txt'

Supported audio formats: .m4a, .mp3, .wav, .ogg, .flac, .aac Supported transcript formats: .txt, .srt, .vtt

Speaker mapping

Create a team.md file in your project root with your team members:

# Team

- Alice Chen - Engineering Lead
- Bob Park - Backend Developer
- Carol Liu - Product Manager

MeetScribe will map "Speaker 0", "Speaker 1" to real names using context from the conversation (who's addressed by name, who discusses what, role references).

Requirements:

  • Provider must return speaker labels - works with Deepgram and AssemblyAI, automatically skipped for Whisper
  • If team.md doesn't exist, mapping is skipped silently (no error)
  • Configure the path in meetscribe/config.yaml via team_file, or set to null to disable

Customizing extraction

Edit meetscribe/extract.md to change what gets extracted. The default template pulls:

  • Action items (owner, task, deadline)
  • Key decisions
  • Open questions and blockers
  • 3-sentence summary

System audio capture (optional)

To capture all meeting participants (not just your mic):

  1. Install BlackHole: brew install blackhole-2ch
  2. Open Audio MIDI Setup
  3. Create a Multi-Output Device combining your speakers + BlackHole

MeetScribe auto-detects BlackHole and switches to dual-capture mode.

Configuration

All config lives in meetscribe/config.yaml:

provider: deepgram          # deepgram | assemblyai | whisper
language: en                # ISO code, or "multi" for Deepgram auto-detection
streaming: true             # real-time transcription (deepgram only, auto-disabled for whisper/assemblyai)
output_dir: ./meetscribe    # where meeting folders are created
keep_audio: true            # keep audio files after transcription
extraction_prompt: ./meetscribe/extract.md
auto_extract: true          # run extraction automatically on meeting_stop
team_file: ./team.md        # path to team file, or null to skip

Safety features

  • Recordings auto-stop after 4 hours (ffmpeg hard cap)
  • Stale recording state auto-expires after 4h5m
  • Transcription API calls timeout after 5 minutes (10 min for AssemblyAI)
  • Orphaned ffmpeg processes are detected and cleaned up on restart
  • SIGKILL fallback if ffmpeg doesn't respond to graceful shutdown

Output structure

meetscribe/
  config.yaml
  extract.md
  2026-04-15_Sprint-14/
    2026-04-15_sprint-14.md     # final notes
    recording.m4a                # audio file
    transcript.txt               # raw transcript

Feedback

Found a bug? Have an idea? Want to share how you're using it?

License

MIT

Author

Aman Parmar

from github.com/qa-aman/meetscribe

Установка Meetscribe

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/qa-aman/meetscribe

FAQ

Meetscribe MCP бесплатный?

Да, Meetscribe MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Meetscribe?

Нет, Meetscribe работает без API-ключей и переменных окружения.

Meetscribe — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Meetscribe в Claude Desktop, Claude Code или Cursor?

Открой Meetscribe на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Meetscribe with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development