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.1.tar.gz (59.2 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.1-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: granola_tool-0.3.1.tar.gz
  • Upload date:
  • Size: 59.2 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.1.tar.gz
Algorithm Hash digest
SHA256 2c70914cb40eb30e35c6dae6014c87e1efc53d8f91a47a9f13bd1ef1cba5db19
MD5 e8e9d7225d22e8209fb73fb1c7cf36c0
BLAKE2b-256 04820dcab7cbe7be9b71e7bfb74ef5856f135376eb6021a76f60448326b3244c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: granola_tool-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 24.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b67880b8e06f69bf9061a6b8d8ed86c3bca4e68a3d5f766293cbd4d6dcb3bc75
MD5 f36070061022fd40f2e1568904e6973e
BLAKE2b-256 ccecc80f267745011196fa61961b413d4510d3584c663898541e12a6c160255e

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