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.2.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.2-py3-none-any.whl (106.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flywheel_ai-0.8.2.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.2.tar.gz
Algorithm Hash digest
SHA256 c1b1c3b9d5812900f5db0bd6b05d8bb96509a39e19e17fa71ca4e1f2b56e8e7a
MD5 c78e0ea1e35206585449e6914db3415e
BLAKE2b-256 b90c6824775ea8a0a504cdd9c90154cbe43bb0380dcfd59e4d1aae7356564f49

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flywheel_ai-0.8.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bcdbc79470b994095aea4737ff948252e25180da9c294b317f324757bac7c0a2
MD5 b1a23f73b23038ad4baded43089f55e4
BLAKE2b-256 4aa0cece3d325c6984c8035be26f9402eab146d2e2ab675941deb86fbd866239

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