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.1.0.tar.gz (62.5 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.1.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: granola_tool-0.1.0.tar.gz
  • Upload date:
  • Size: 62.5 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.1.0.tar.gz
Algorithm Hash digest
SHA256 c78dd3682d59933f9d085ea3cd1a9979d2a8f051bd0d1cca2ff3fe2f58d93e3f
MD5 883ad6c8952e176682e33d3b1c2ca2b8
BLAKE2b-256 02fdea8c1df9b2b61c3ce9ce552b85f76cd686435595af6e8ad08cf7d52bdc99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: granola_tool-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.8 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 510475d0b287a4597af83405d9c4c528f4d3d45f2ce9975e2eb3aae555cdb271
MD5 d0a2ab52f6423d0aae58ed8221655d4c
BLAKE2b-256 80adac45dd8a6841d6b7716064d29c3c1aee4da9401c00697c9e7c517f438262

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