Skip to main content

Flywheel CLI and MCP server — business intelligence from the terminal and Claude Code

Project description

Flywheel AI

Business intelligence CLI and MCP server for Claude Code.

Flywheel connects your meetings, contacts, pipeline, and business context to Claude Code — so your AI assistant knows your business as well as you do.

Quick Install

curl -sSL https://gist.githubusercontent.com/Sharan0516/8fb4a3755b3c3e2a2abfae1c949b574a/raw/install.sh | bash

Or install manually:

pip install flywheel-ai

What You Get

CLI Commands

Command Description
flywheel login Authenticate via browser OAuth
flywheel login --headless Authenticate with email/password credentials
flywheel status Check login state and tenant info
flywheel focus list List your focuses (departments/teams)
flywheel focus switch <name> Switch active focus
flywheel agent setup Install browser automation deps
flywheel agent start Start local browser agent
flywheel agent register-deeplink Register flywheel:// so Prep opens Terminal (macOS)
flywheel setup-claude-code Register MCP servers with Claude Code

MCP Tools (available in Claude Code)

Once registered, Claude Code gains access to:

  • flywheel_run_skill — Run meeting-prep, company-intel, and other skills
  • flywheel_read_context — Search your business knowledge base
  • flywheel_write_context — Store business intelligence
  • flywheel_fetch_meetings — List meetings from your calendar
  • flywheel_sync_meetings — Sync meetings from connected providers
  • flywheel_list_leads — View your pipeline contacts
  • flywheel_draft_lead_message — Draft outreach messages
  • And more — run flywheel setup-claude-code to see the full list

Requirements

  • macOS (Apple Silicon or Intel)
  • Python 3.10+
  • Claude Code (for MCP tools)

Configuration

All configuration is handled automatically. Fresh installs write ~/.flywheel/env with FLYWHEEL_API_URL (override via env when running install.sh). Existing values are never overwritten.

Env Variable Default Description
FLYWHEEL_API_URL Hosted backend Override API endpoint
FLYWHEEL_SUPABASE_URL Hosted Supabase Override auth endpoint
FLYWHEEL_SUPABASE_ANON_KEY Hosted anon key Supabase anon key for login
FLYWHEEL_CALLBACK_PORT 54321 Local OAuth callback port (http://localhost:<port>/callback)
FLYWHEEL_DIR ~/.flywheel/ Local config directory
FLYWHEEL_LOGIN_EMAIL unset Optional headless login email for flywheel login --headless
FLYWHEEL_LOGIN_PASSWORD unset Optional headless login password for flywheel login --headless

For local development, backend/.env sets FLYWHEEL_CALLBACK_PORT=54324 to avoid clashing with local Supabase on port 54321.

Override API URL at install time:

FLYWHEEL_API_URL=https://your-backend.example.com \
  curl -fsSL https://flywheel.lumifai.tech/install.sh | bash

flywheel upgrade ensures ~/.flywheel/env exists (if missing) and re-registers the flywheel:// deeplink on macOS.

Publishing & Maintenance

When you update scripts/install.sh, sync the gist (gist owner):

gh gist edit 8fb4a3755b3c3e2a2abfae1c949b574a scripts/install.sh

The installer calls flywheel agent register-deeplink after login so Prep can open Terminal without a repo checkout. To publish a new CLI version to PyPI:

  1. Bump version in cli/pyproject.toml and cli/flywheel_cli/__init__.py (both must match or the publish job will fail)
  2. Merge the PR to main
  3. The Publish CLI to PyPI workflow auto-runs, tests, and publishes — nothing else needed

If the merge does not include a version bump, the workflow runs but skips the publish step automatically.

One-time repo setup: add a GitHub Actions secret PYPI_API_TOKEN on Lumif-ai/flywheel-v2 scoped to the flywheel-ai PyPI project.

Manual dispatch options (Actions → Publish CLI to PyPI → Run workflow):

  • "Publish to Test PyPI" — dry-run against test.pypi.org before a real release
  • "Publish even if version unchanged" — force re-upload after a failed publish run

Local publish:

Copy cli/.env.examplecli/.env and set your PyPI token:

cp cli/.env.example cli/.env
# edit cli/.env — UV_PUBLISH_TOKEN=pypi-...
./scripts/publish-cli.sh

Or pass inline without .env:

UV_PUBLISH_TOKEN=pypi-XXXX ./scripts/publish-cli.sh

License

MIT

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

flywheel_ai-0.8.3.tar.gz (91.5 kB view details)

Uploaded Source

Built Distribution

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

flywheel_ai-0.8.3-py3-none-any.whl (106.9 kB view details)

Uploaded Python 3

File details

Details for the file flywheel_ai-0.8.3.tar.gz.

File metadata

  • Download URL: flywheel_ai-0.8.3.tar.gz
  • Upload date:
  • Size: 91.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for flywheel_ai-0.8.3.tar.gz
Algorithm Hash digest
SHA256 9d3f195ebc9f208d257330815cce2c542607946e4fd9eac286cf3bb3789e9eb2
MD5 995651a9f57c407343875be975fdeb2c
BLAKE2b-256 04cffbef0e12fd7d9a1e8366cd96310804514718abbd128b6baf87876e232538

See more details on using hashes here.

File details

Details for the file flywheel_ai-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: flywheel_ai-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 106.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for flywheel_ai-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 afc668b1f3e1e236ca98eea3052a7631109ebad06ba014950f5e4c96ecdfdb04
MD5 8b6f107080f885ba1159878dd0977120
BLAKE2b-256 e2c15de790d8b8c3fad7493e8ebd189ed6158c15aeaba3042fa5e6626cb40a63

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