Lightbulb developers

Build through the same governed operating layer.

Install and configure Lightbulb MCP for Claude Code, Codex, Cursor, and ChatGPT, or use the beta Python SDK. Includes authentication, governance, CLI, security, and troubleshooting guidance.

One operating model, three ways in

The Lightbulb product, MCP server, and Python SDK are access surfaces over the same account-scoped platform—not three separate products with different authority models.

SurfaceUse it whenCurrent status
Lightbulb productPeople need a workspace for company context, Projects, agents, approvals, and operating records.Product surface
Lightbulb MCPAn MCP host such as Claude Code, Codex, Cursor, or ChatGPT needs governed access to Lightbulb.Supported developer surface
Lightbulb Python SDKA Python project needs direct client access or typed integration helpers.Beta / unstable; pin the exact version
  • Backbone is the orchestration entry point for broad objectives and cross-domain work.
  • Project workflows collect facts, requirements, scope, SOP impact, approvals, and execution-ready work packets before consequential delivery.
  • Domain agents perform bounded specialist work.
  • Connector actions and external effects remain subject to the user’s existing scope and approval controls.

Install

The public distribution is installed directly from the Lightbulb MCP GitHub repository and requires Python 3.10 or newer.

Terminal
python -m pip install --upgrade git+https://github.com/RPasquale/lightbulb-mcp.git
lightbulb
lightbulb setup
  • lightbulb-mcp starts the local stdio MCP server.
  • lightbulb is the helper CLI for status, guided setup, identity, approvals, document search, and one-shot platform commands.
  • lightbulb setup uses device-flow login, checks the signed-in account, and merges host configuration without intentionally replacing unrelated MCP servers.
Pin the revision reviewed by this page
python -m pip install --upgrade git+https://github.com/RPasquale/lightbulb-mcp.git@68d215b8d6cd346770e78fa3487299de1057ddaa

Verify the installation

Check the executable, current account state, and the tool surface seen by the selected profile.

Terminal
lightbulb                 # status and detected host configuration
lightbulb whoami          # authenticated identity
lightbulb tools --count-only
lightbulb tools --filter approval
  • If status reports no cached login, rerun lightbulb setup and complete the browser flow.
  • If the host was already open, restart it after setup so it reloads MCP configuration.
  • Tool counts vary with package revision, MCP profile, and namespace filters. RBAC affects whether a listed tool can execute, not whether the local CLI lists it.

CLI reference

Use the helper CLI to inspect setup and perform small account-scoped operations without manually constructing HTTP requests.

Common commands
lightbulb
lightbulb setup
lightbulb whoami
lightbulb dispatch finance --action chat --message "Summarize cash this week"
lightbulb search-documents "quarterly revenue" --top-k 5
lightbulb approvals list
lightbulb tools --filter approval
CommandPurpose
lightbulbShow platform URL, cached-login hint, detected host configuration, and suggested next steps.
lightbulb setupRun guided authentication and merge MCP configuration.
lightbulb statusShow the same status report as a bare lightbulb command.
lightbulb mcpRun the local MCP server over stdio.
lightbulb whoamiConfirm the authenticated user and account context.
lightbulb pingCheck authentication and platform reachability.
lightbulb logoutClear the cached device-flow token for this workstation.
lightbulb list-domainsList domain agents visible to the current account.
lightbulb list-companiesList companies available inside the current tenant.
lightbulb dispatch <domain> ...Dispatch one account-scoped domain-agent action.
lightbulb search-documents <query> ...Search accessible company documents.
lightbulb approvals list|get|approve|rejectInspect and decide approval tasks visible to the user.
lightbulb voice list|getInspect voice executions where that surface is enabled.
lightbulb aoc list|stopInspect or stop AutoCompany runs visible to the user.
lightbulb connect <provider> [--check]Open a connector OAuth flow or check connection state.
lightbulb toolsInspect the tool surface exposed by this installation and profile.
Setup optionEffect
--target codexSkip host selection and configure Codex directly. The installed revision also supports the host targets shown by lightbulb setup --help.
--url <origin>Use a specific Lightbulb platform origin. Non-local origins must use HTTPS.
--yes / -yWrite supported configuration without an interactive write confirmation.
--no-writePrint the proposed configuration without changing a host file.
--skip-loginSkip device-flow login; use only when valid credentials are already available.

What Lightbulb MCP does

Lightbulb MCP exposes the Lightbulb platform as tools that an MCP-compatible AI host can discover and invoke under the signed-in user’s existing authority.

  • Identity and company selection.
  • Backbone orchestration and consulting-project starts.
  • Projects, workspaces, context, document search, and operating status.
  • Approvals and human-in-the-loop boundaries.
  • Domain-agent and connector-backed work available to the current user.
  • Code workspace and governed software-delivery loops where configured.
  • Optional hosted MCP access for ChatGPT.

Tool surface and discovery

Lightbulb exposes a broad, revision-dependent tool surface. Discover the installed surface instead of treating a marketing count as an API contract.

FamilyWhat it covers
Identity and scopeSigned-in identity, tenant context, company selection, status, and connection state.
Backbone and ProjectsBroad objective orchestration, governed project starts, workflows, plans, artifacts, and work status.
Domain workBounded specialist dispatch and generated domain actions permitted by the current profile.
Context and documentsDocument search, RAG, workspaces, conversations, traces, and account-scoped context helpers.
ApprovalsPending-task inspection and human decisions where the caller is an authorised approver.
Builders and code workspacesDocument, page, and software-delivery surfaces where configured for the account.
ConnectorsConnection status and connector-backed reads, previews, proposals, and governed effects.
Voice and AutoCompanyExecution or run controls only when those product surfaces are enabled and permitted.
Inspect the installed surface
lightbulb tools
lightbulb tools --filter backbone
lightbulb tools --filter approval
lightbulb tools --count-only

Run the stdio server

Local MCP hosts normally spawn the server as a child process over stdio.

Preferred executable
lightbulb-mcp
Module fallback
python -m lightbulb.mcp_server
Manual MCP configuration
{
  "mcpServers": {
    "lightbulb": {
      "command": "lightbulb-mcp",
      "env": {
        "LIGHTBULB_URL": "https://agents.lightbulbpartners.com"
      }
    }
  }
}

If lightbulb-mcp is not on the host’s PATH, use python as the command and ["-m", "lightbulb.mcp_server"] as its arguments.

Claude Code setup

The guided setup path can merge a Lightbulb MCP entry into Claude Code configuration.

Terminal
python -m pip install --upgrade git+https://github.com/RPasquale/lightbulb-mcp.git
lightbulb setup
  1. Complete device-flow login in the browser. MFA remains in the browser flow.
  2. Allow setup to merge the Lightbulb MCP entry into the chosen Claude configuration.
  3. Restart Claude Code so it reloads MCP servers.
  4. Ask Claude to confirm identity with whoami before company-scoped work.

Codex setup

Codex setup installs the MCP server entry and the local Lightbulb Partners plugin surface.

Terminal
python -m pip install --upgrade git+https://github.com/RPasquale/lightbulb-mcp.git
lightbulb setup --target codex
  • Adds a lightbulb MCP server entry to the Codex configuration.
  • Installs the local Lightbulb Partners plugin bundle and skill guidance.
  • Adds a personal marketplace entry so the plugin can be enabled in Codex.
  • Preserves unrelated MCP servers and settings; setup writes restricted backups before changing supported configuration files.
  1. Run setup and complete login.
  2. Restart Codex.
  3. Open Plugins and enable Lightbulb Partners if it is not already enabled.
  4. For broad project or automation requests, start through the Lightbulb consulting-project workflow rather than asking a domain agent to bypass intake and approvals.

Cursor setup

Cursor can spawn the same local stdio MCP server and use the same Lightbulb account scope.

~/.cursor/mcp.json
{
  "mcpServers": {
    "lightbulb": {
      "command": "lightbulb-mcp",
      "env": {
        "LIGHTBULB_URL": "https://agents.lightbulbpartners.com"
      }
    }
  }
}
  1. Install the package and run lightbulb setup to create the cached device-flow token.
  2. Add or merge the MCP server block without deleting existing servers.
  3. Restart Cursor.
  4. Confirm the signed-in identity before invoking company-scoped tools.

ChatGPT hosted MCP

ChatGPT can connect to Lightbulb through the hosted streamable HTTP MCP endpoint; it does not require the local stdio process.

Hosted MCP URL
https://agents.lightbulbpartners.com/mcp/lightbulb
  • The health GET is public; unauthenticated MCP protocol calls receive an OAuth challenge that starts Lightbulb login and onboarding.
  • The hosted surface is curated around identity, company context, status, Backbone, projects, workflows, approvals, and AutoCompany operations.
  • Use the project-start path for builds, workflow automation, custom agents, SOP changes, and other work that needs intake and approval gates.
  • ChatGPT is an access surface. It does not silently become the coding harness selected for a Project.

Authentication and account scope

The MCP server resolves credentials in a defined precedence order and all resulting calls remain account-scoped.

  1. LIGHTBULB_JWT plus LIGHTBULB_TENANT_ID; LIGHTBULB_COMPANY_ID is optional.
  2. LIGHTBULB_API_KEY plus LIGHTBULB_TENANT_ID and LIGHTBULB_USER_ID for approved loopback-only integration bootstrap.
  3. A cached device-flow token under ~/.lightbulb/tokens/.
  4. When running interactively with no cached token, device-flow login is attempted and the resulting token is cached.
  5. LIGHTBULB_EMAIL plus LIGHTBULB_PASSWORD as a legacy fallback; MFA users should use device flow or JWT instead.
VariablePurpose
LIGHTBULB_URLPlatform base URL. Production default: https://agents.lightbulbpartners.com.
LIGHTBULB_JWTBearer token for the signed-in user.
LIGHTBULB_TENANT_IDTenant scope required with JWT authentication.
LIGHTBULB_COMPANY_IDOptional active company scope.
LIGHTBULB_API_KEY + LIGHTBULB_USER_IDRestricted loopback-only integration bootstrap when configured. Use a user-scoped JWT for approved remote non-interactive work.
LIGHTBULB_MCP_PROFILESelect an installed MCP profile such as the compact backbone profile.
LIGHTBULB_MCP_NAMESPACESLimit generated domain and connector namespaces exposed to the host.

Profiles and tool-surface control

Choose the smallest useful surface so the host receives relevant tools without an unnecessarily large discovery payload.

Compact Backbone profile
{
  "mcpServers": {
    "lightbulb": {
      "command": "lightbulb-mcp",
      "env": {
        "LIGHTBULB_URL": "https://agents.lightbulbpartners.com",
        "LIGHTBULB_MCP_PROFILE": "backbone"
      }
    }
  }
}

The compact Backbone profile focuses on identity, company selection, Backbone orchestration, consulting-project starts, approvals, connector status, workspace context, and governed software delivery. Backbone can still coordinate permitted domain work server-side.

Namespace-filtered full profile
{
  "mcpServers": {
    "lightbulb": {
      "command": "lightbulb-mcp",
      "env": {
        "LIGHTBULB_URL": "https://agents.lightbulbpartners.com",
        "LIGHTBULB_MCP_NAMESPACES": "finance,crm,gmail,slack,jira,github,notion"
      }
    }
  }
}

Projects and the consulting workflow

Broad build and operating-change requests should begin with governed discovery instead of jumping straight to code or connector effects.

  1. Capture the objective and current operating state.
  2. Collect facts with provenance and identify missing information.
  3. Define requirements, scope, stakeholders, systems, and acceptance criteria.
  4. Identify SOP impact and preserve referenced or changed process controls.
  5. Create reviewable work packets and approval gates.
  6. Dispatch approved packets to the selected execution lane.
  7. Verify acceptance and change plans before release actions.

In supported hosts, use start_consulting_project_workflow for project ideas, custom agents, workflow automation, SOP/process changes, modernisation, repo creation, and broad software delivery. If that exact tool is not available in an older surface, call backbone_execute and include {"workflow_type":"consulting_project_workflow"} in its inputs JSON.

Governed software delivery

When enabled, MCP hosts can enter Lightbulb’s software-delivery loop without treating the coding host as the release authority.

ToolRole
software_delivery_contextRead current workspace, repository, issue, memory, approval, cloud, and deployment context before changing code.
software_delivery_loopContinue an existing or approved engineering loop through implementation, review, release, and deployment gates.
software_spot_weld_fixRequest a bounded urgent fix that defaults to preview, keeps deploy disabled, and preserves production approval boundaries.

Managed local documents

A configured local runtime separates user-visible working files from hidden service-managed storage.

PathPurpose
<root>/Lightbulb Documents/InboxFiles a user places into the managed document workflow.
<root>/Lightbulb Documents/ExportsUser-visible generated or exported files.
<root>/Lightbulb Documents/TemplatesReusable user-visible templates.
<root>/.lightbulbHidden service-managed state and indexed assets; do not treat it as a normal collaboration folder.

These folders exist only when the managed local runtime has been installed and configured. Installing the public MCP package alone does not create or index a company document estate.

Runtime behaviour

The host sees MCP tools; the Lightbulb platform remains authoritative for what those tools may do.

ConcernBehaviour
RBACDenied operations return permission or validation errors; they do not silently succeed.
Company contextCompany-scoped work may require a selected company, especially for tenant or admin users.
Rate limitsPlatform limits apply per user and session. MCP does not bypass throttling.
ApprovalsActions configured as consequential can pause for human review.
RetriesClient-side retries do not override idempotency, approval, or platform rate policy.
HTTPSNon-loopback platform URLs must use HTTPS; loopback URLs such as localhost, 127.0.0.1, and ::1 may use HTTP for development.

SDK status and stability

The Python client ships in the `lightbulb-mcp` package, but the public repository describes it as preview / unstable.

  • Python 3.10 or newer is declared by the public package metadata.
  • The package includes LightbulbClient, AsyncLightbulbClient, authentication helpers, typed error classes, and selected integration helpers.
  • The wheel carries a py.typed marker for type-checker consumers.
  • MCP and the helper CLI are the supported public developer surface today; the SDK should be treated as beta.

Synchronous client

Use device-flow authentication for an interactive human session, then create an account-scoped client.

Python
from lightbulb import LightbulbClient, device_login

BASE = "https://agents.lightbulbpartners.com"

# Browser-based login keeps MFA in the user flow.
auth, _expires = device_login(BASE, client_id="my-app")
client = LightbulbClient(BASE, auth=auth)

print(client.whoami())
result = client.dispatch(
    "finance",
    action="chat",
    message="Summarize cash this week",
)
print(result.reply)

Client capability reference

The synchronous preview client is the broadest Python surface; method availability is revision-dependent and still subject to platform permissions.

CapabilityRepresentative public methods
Identity and companywhoami(), list_companies(), and the active_company_id property.
Discovery and connectionslist_domains(), list_domain_actions(), list_connected_integrations(), and list_connectors().
Agent workdispatch(), stream_chat(), conversation helpers, and backbone_execute().
Projects and workflowscreate_project(), list_projects(), get_product_machine_plan(), list_workflows(), and trigger_workflow().
Documents and RAGsearch_documents(), grep_documents(), list_folder(), rag_query(), and document-session helpers.
Approvalslist_pending_approvals(), get_approval(), approve_task(), and reject_task().
Builders and code workspacesPage, document, code-workspace, streaming, run, proposal, preview, and review helpers where configured.
Connector executioninvoke_tool() plus the selected typed Stripe, Xero, Slack, Jira, BambooHR, Greenhouse, and Monday helpers.

SDK authentication

Device flow is the preferred interactive path. JWT and approved local bootstrap credentials support non-interactive environments.

Legacy password flow with 2FA
from getpass import getpass

from lightbulb import (
    LightbulbClient,
    TwoFactorRequired,
    complete_2fa_login,
    login,
)

BASE = "https://agents.lightbulbpartners.com"
email = input("Email: ").strip()
password = getpass("Password: ")

try:
    auth = login(BASE, email, password)
except TwoFactorRequired as exc:
    code = getpass("Authenticator code: ").strip()
    auth = complete_2fa_login(exc.base_url, exc.email, code)

client = LightbulbClient(BASE, auth=auth)

Asynchronous client

Use the async client inside event-loop applications, while treating method coverage as a beta surface that may differ from the sync client.

Python
import asyncio
import os

from lightbulb import AsyncLightbulbClient, JwtAuth

BASE = "https://agents.lightbulbpartners.com"

async def main():
    auth = JwtAuth(
        token=os.environ["LIGHTBULB_JWT"],
        tenant_id=os.environ["LIGHTBULB_TENANT_ID"],
        company_id=os.getenv("LIGHTBULB_COMPANY_ID"),
    )
    async with AsyncLightbulbClient(BASE, auth=auth) as client:
        me = await client.whoami()
        print(me)

asyncio.run(main())

The public repository describes async coverage as curated for important paths. Check the installed package before assuming every synchronous method has an identical native-async implementation.

Refresh expired authentication

Provide a refresh callback and retry only after the client has installed refreshed credentials.

Python
from lightbulb import AuthenticationError, LightbulbClient
from lightbulb.auth import device_login

BASE = "https://agents.lightbulbpartners.com"
initial_auth, _expires = device_login(BASE, client_id="my-worker")

def refresh():
    auth, _expires = device_login(BASE, client_id="my-worker")
    return auth

client = LightbulbClient(
    BASE,
    auth=initial_auth,
    auth_refresh=refresh,
)

try:
    client.dispatch("crm", action="chat", message="hello")
except AuthenticationError:
    if client.refresh_auth():
        client.dispatch("crm", action="chat", message="hello")

Use await client.refresh_auth() with AsyncLightbulbClient.

Errors and retry policy

The SDK maps HTTP failures to Lightbulb-specific exception types rather than exposing raw HTTP client exceptions at every call site.

ExceptionTypical statusResponse
AuthenticationError401Refresh or reauthenticate, then retry once if safe.
PermissionDenied403Do not retry blindly; verify role, company, project, and tool permission.
NotFoundError404Verify the resource reference and current account scope.
ValidationError400 / 422Correct the request. This also subclasses ValueError.
RateLimitedError429Respect retry_after when present and use bounded backoff.
ServerError5xxRetry only idempotent or safely keyed work with bounded backoff.

Typed integration helpers

The public package includes selected higher-level helpers in addition to the general platform client.

  • Stripe: StripeOrchestratorClient and StripeWorkflow.
  • Xero: XeroAgentClient and XeroPlaybook.
  • Thin connector helpers for Slack, Jira, BambooHR, Greenhouse, and Monday where present in the installed revision.

Typed operating model: current direction

Newer source candidates are developing a typed company-building model, but those contracts should not be presented as a stable public SDK until their release gates close.

  • Business Process Primitives: typed blocks for real company tasks.
  • Workflow definitions: ordered, reviewable compositions with hidden setup, states, retries, and approval policy.
  • Connector execution: one governed seam for preview, approval, idempotency, and provider effects.
  • Projects and Company Blueprints: scoped declarations of workflows, connectors, policies, departments, metrics, and execution lanes.
  • Runtime outcomes: sanitized operational evidence for debugging and improvement without storing raw business payloads in telemetry.

Governance model

Lightbulb is designed around explicit authority boundaries rather than assuming an AI host may act simply because it can formulate a request.

LayerResponsibility
AI hostCollect the user’s objective, call the right Lightbulb surface, and preserve returned blockers and approval states.
BackbonePlan and coordinate broad work using company context and approved operating rules.
Project workflowEstablish facts, requirements, scope, SOP impact, work packets, and approval gates.
Domain agentsPerform bounded specialist work through permitted tools and connectors.
Lightbulb platformEnforce authenticated scope, company isolation, RBAC, approvals, rate limits, audit, and connector policy.
Human approverReview consequential actions at the configured control boundary.
  • A preview is not a live connector effect.
  • A draft is not published work.
  • Implementation approval is not automatically deployment approval.
  • A visible tool is not proof of permission.
  • A successful local simulation is not a customer-outcome or production-certification claim.

Security guidance

Most integration failures are recoverable; credential exposure and authority confusion are not. Design the host configuration accordingly.

  • Use HTTPS for every non-loopback Lightbulb URL.
  • Prefer device-flow login and the protected token cache for human workstations.
  • Keep secrets out of committed MCP files, notebooks, shell history, screenshots, and prompt context.
  • Scope generated MCP namespaces to the work the host actually needs.
  • Confirm identity and company context before consequential work.
  • Treat approval references, idempotency keys, and server-issued resource references as opaque values.
  • Sanitize support reports; do not paste complete HTTP bodies, tokens, or customer payloads.
  • Use a short-lived, least-privilege user-scoped JWT for approved remote automation; keep API-key bootstrap loopback-only.

The public SDK documents HTTPS enforcement for non-local hosts, validation of risky path inputs and browser URLs, atomic token-cache writes, restrictive permissions, and safer configuration merging. Your host and deployment environment still need their own secret-management and endpoint-hardening controls.

Troubleshooting

Start with identity, process visibility, and the installed package before debugging a specific tool.

SymptomCheck
401 / AuthenticationErrorRerun lightbulb setup, refresh a short-lived JWT, and prefer device flow for MFA accounts.
403 / permission deniedConfirm user role, selected company, Project access, connector binding, and required approval.
Host shows no Lightbulb toolsRun lightbulb, verify the MCP config path, and restart the host.
lightbulb-mcp not foundVerify the Python scripts directory is on PATH, or use python -m lightbulb.mcp_server.
ModuleNotFoundError: mcpReinstall the package with dependencies using the install command above.
HTTPS or redirect errorUse the production HTTPS origin exactly; use explicit localhost only for local development.
Expected tool is missingCheck profile, namespace filter, package revision, and lightbulb tools --filter .... RBAC governs invocation after registration.
Company-scoped call failsList accessible companies and select the intended company before retrying.
Write pauses instead of executingInspect the returned approval state. Do not fabricate or self-approve a decision.
Stale setup after upgradeRerun setup, review its preserved backup, and restart the host.
Basic diagnostic sequence
python --version
python -m pip show lightbulb-mcp
lightbulb
lightbulb whoami
lightbulb tools --count-only
lightbulb tools --filter approval

Version and release status

This documentation separates what the public repository supports today from newer source-candidate concepts that remain unreleased or gated.

AreaDocumentation stance
Lightbulb MCP and CLIDocumented as the supported public developer surface.
Python APIDocumented as beta / unstable. Pin a reviewed Git revision.
Typed primitives, workflow compiler, Company BlueprintsExplained as product direction, not claimed as a stable public API.
Tool names and countsDiscover from the installed package and account rather than hard-code.
Production or customer outcomesNot inferred from local source tests, simulations, or candidate evidence.

This page was reviewed against the public RPasquale/lightbulb-mcp main branch at commit 68d215b8 on 30 August 2026, with unreleased concepts cross-checked against local Lightbulb source evidence. Recheck the source link before relying on exact flags, exports, or tool families in a long-lived integration.

Get help

Include the minimum safe diagnostic context so the team can reproduce the issue without receiving credentials or customer data.

  • Operating system and Python version.
  • Installed Git revision or package version.
  • Host: Claude Code, Codex, Cursor, ChatGPT, or another reviewed MCP client.
  • MCP profile and namespace filter, with all secrets removed.
  • The tool name or CLI command and the sanitized error class/message.
  • Whether identity and company selection succeeded.
  • Whether the operation was read-only, preview, approval-gated, or intended as a live effect.
Public lightbulb-mcp main at 68d215b8 · Reviewed 30 August 2026