Skip to main content

CLI tool for querying Granola meeting recordings and exporting to Obsidian

Project description

granola-tool

CLI tool for querying Granola meeting recordings, viewing AI-generated notes and transcripts, and exporting to Obsidian and a local knowledge base.

Inspired by glebis/claude-skills/granola.

Prerequisites

  • macOS with Granola desktop app (Business or Enterprise plan)
  • Python >= 3.13
  • uv package manager
  • API key: Granola app → Settings → Connectors → API keys

Installation

cd granola-tool
uv sync
export GRANOLA_KEY="grn_your_api_key_here"
uv run granola-tool test api   # verify setup

Commands

granola-tool                        # show recent meetings (default)
granola-tool meeting list           # list meetings with short IDs
granola-tool meeting notes <id>     # view AI-generated notes
granola-tool meeting transcript <id> # view transcript

granola-tool lekhak list [folder]   # browse knowledge base
granola-tool lekhak record <id> <folder>  # export meeting
granola-tool lekhak sync            # find unrecorded meetings
granola-tool lekhak show <slug>     # view exported content
granola-tool lekhak edit <slug>     # open in $EDITOR

granola-tool obsidian export <id>   # export to Obsidian vault
granola-tool obsidian sync          # batch export new meetings

granola-tool test token             # check API key
granola-tool test api               # test connectivity
granola-tool test config            # show configuration

See SKILL.md for full command reference with all options.

Meeting IDs

Meetings can be referenced by:

  • Short ID from list output (e.g., HNWQ)
  • Full note ID (e.g., not_HNWQaVwnQVhGMk)
  • UUID from desktop app (e.g., 44759533-...)
  • Title substring (e.g., "team sync")

Configuration

Environment variables (GRANOLA_* prefix):

Variable Default Description
GRANOLA_KEY (required) API key
GRANOLA_API_BASE https://public-api.granola.ai API endpoint
GRANOLA_VAULT_PATH ~/Documents/ObsidianVault Obsidian vault path
GRANOLA_LEKHAK_PATH ~/knowledge-base/meetings Local knowledge base path

For AI Agents (Claude Code)

This tool is designed to work with both human users and AI agents. To configure it as a Claude Code skill:

  1. Copy SKILL.md to your Claude Code skills directory (.claude/skills/)
  2. The skill provides structured access to all CLI commands
  3. Agents can invoke meeting, obsidian, and lekhak commands programmatically

The skill document includes the full command reference, configuration details, and typical workflows that agents can follow to query meetings, export notes, and manage a local knowledge base.

Development

uv run ruff check src/
uv run mypy src/
uv run pytest

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

granola_tool-0.3.2.tar.gz (59.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

granola_tool-0.3.2-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file granola_tool-0.3.2.tar.gz.

File metadata

  • Download URL: granola_tool-0.3.2.tar.gz
  • Upload date:
  • Size: 59.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for granola_tool-0.3.2.tar.gz
Algorithm Hash digest
SHA256 7f68e2aa7230a5147add86b2f25aaa619762c8285adb5c979ccb2f915c6686b0
MD5 e5f26bb158a5f2ce122af40c1a164e1e
BLAKE2b-256 e8003ee95c840eddfbf54c09f721ed421663cf25bac46e3a87044710997c457b

See more details on using hashes here.

File details

Details for the file granola_tool-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: granola_tool-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for granola_tool-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1b47eba9a829b6632861b45c433ab312b238535768e62a78dc1af8895b7d3666
MD5 94b0093946d2fcef661d9f74336d4e38
BLAKE2b-256 287dc4d00b31fac84d16356d3d21963a4b0865682ff87eec30577a36c4be1118

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page