Skip to main content

crewship integration

Manage MCP server integrations at workspace scope, crew scope, and through agent bindings. The alias is intg.
Every integration command requires crewship login and an active workspace. Arguments named id-or-name accept either the integration ID or its name; crew and agent arguments accept slugs (and the Composio agent commands also accept agent IDs). All commands also inherit the global --server/-s, --workspace/-w, --profile, --format/-f, --verbose/-v, --no-color, and --server-allow-mismatch flags. --format defaults to table; it is honored by commands that use the formatter, while commands whose output is explicitly described as text or JSON below keep that output shape.

Command reference

Workspace scope

remove accepts -y/--yes to skip its confirmation prompt. add requires --name; --display defaults to the name, and --transport defaults to streamable-http. For stdio, --command is split into an executable and arguments before it is sent to the server; no shell is run. add --access takes all (the default) or bound-only; anything else is rejected before the request is sent.

Who can use an integration

ACCESS is the integration’s stored audience, and it is the only thing that decides who resolves it:
integration bind grants one agent a credential and a config override on a server. It does not change the audience and does not affect any other agent — before Crewship 2026.08 it did both, because “available to everyone” was inferred from the binding count being zero and evaporated the moment it wasn’t. Use integration resolve <agent-slug> to see what a given agent actually gets.

Agent bindings

bind requires --agent and --server; unbind requires --agent and --binding-id. The binding ID is the value in the BINDING ID column, not the workspace integration ID.

Crew scope

crew delete accepts -y/--yes. crew create requires --name; its --display and --transport defaults match workspace add. --link-workspace-server links the new crew integration to a workspace integration by ID. Both crew create and crew update take --access all|bound-only, the crew-scoped equivalent of integration access.

Per-tool controls

These commands apply only to crew-scoped integrations. What disable stops. On the self-hosted/legacy MCP path a disabled tool is removed from the agent’s connected-integrations prompt block, and the crew sidecar’s MCP gateway refuses to advertise or call it from the sidecar’s next start. Agent CLIs that reach an HTTP MCP server directly through their own MCP config are not gated per tool yet. Composio-routed integrations are enforced separately, through Composio’s own allowed_tools scope, not through these bindings. See #2178.

Supplying the discovered tools to tools refresh

tools refresh does not perform live MCP discovery itself — you hand it the tool list a probe (or the dashboard’s test-connection round-trip) already found, and it reconciles the bindings: --tools-file accepts either a bare JSON array of {"name", "description"} objects or an MCP tools/list result verbatim ({"tools": [...]}); extra keys such as inputSchema are ignored. When both flags are given the file is read first and a --tool with the same name overrides that entry.
Reconciliation rules, enforced server-side:
  • A tool the workspace has not seen before is created enabled.
  • A tool that already has a binding keeps its enabled/disabled state — a refresh never silently re-enables something an operator turned off.
  • An entry without a description leaves the stored description alone.
  • A tool absent from the payload is left in place. A refresh never auto-revokes; use tools disable for that.
At least one of --tool or --tools-file is required. Running with neither exits 2 (validation) rather than posting an empty list: the server treats an empty list as a no-op, so the command would otherwise report success while changing nothing. If a probe legitimately discovered zero tools, say so explicitly with a --tools-file whose content is [].

Composio managed integrations

The integration composio group contains inventory, toolkits, tools <toolkit>, triggers types, triggers active, triggers enable <slug>, key show, key set, key remove, default show, default enable, default set <user_id>, connect <toolkit>, bind <agent-slug-or-id>, unbind <agent-slug-or-id>, bindings <agent-slug-or-id>, and the account commands account revoke <account-id>, account refresh <account-id>, and account remove <account-id>. Read commands (inventory, toolkits, tools, triggers types, triggers active, default show, key show, and bindings) use human tables or notices by default and honor --format json, yaml, or ndjson for the raw API response. Mutation commands print the text shown below. When Composio is unconfigured, the catalog read commands print a notice and return successfully in human mode. Set a workspace key with key set, or use the server-level COMPOSIO_API_KEY fallback.

Flags

Workspace add

Workspace bind

Workspace unbind

Deletes

integration remove and integration crew delete each support -y or --yes, default false, to skip confirmation.

Crew create

Crew update

All flags default to empty/unset except --enabled, whose default is true. Only flags explicitly supplied are patched.

Agent update-binding

All string flags default to empty/unset. --enabled defaults to true; only changed flags are sent.

Composio filters and options

For --app, mode is full, read, or custom; custom requires a comma-separated tool list. Rebinding replaces the agent’s Composio app set.

Examples

integration test and integration crew test return whatever JSON result the server provides. For workspace HTTP integrations the server probes the endpoint; for stdio integrations it validates the configured command. The CLI does not launch a stdio server during this check. For the complete command tree as emitted by the running binary, use crewship commands --format json.

Exact command references

These headings mirror the live Cobra command paths, including commands whose details are covered in the tables above.

crewship integration agent update-binding <agent-slug> <binding-id>

Updates an agent integration binding; see Agent bindings above.

crewship integration composio account

Groups connected-account actions; see Composio managed integrations above.

crewship integration composio account refresh <account-id>

Refreshes a connected account.

crewship integration composio account remove <account-id>

Deletes a connected account at the provider.

crewship integration composio account revoke <account-id>

Revokes a connected account while retaining its row.

crewship integration composio bindings <agent-slug-or-id>

Lists an agent’s Composio bindings.

crewship integration composio default

Groups workspace-wide default Composio connector actions.

crewship integration composio default enable

Enables and provisions the workspace-wide default connector.

crewship integration composio default set <user_id>

Sets the connected user used by the default connector.

crewship integration composio default show

Shows the default connector state.

crewship integration composio inventory

Shows Composio toolkits and connected users.

crewship integration composio key

Groups workspace Composio-key actions.

crewship integration composio key remove

Removes the workspace Composio key.

crewship integration composio key set

Stores and validates a workspace Composio key.

crewship integration composio key show

Shows Composio-key configuration without revealing the key.

crewship integration composio toolkits

Lists available Composio toolkits.

crewship integration composio tools <toolkit>

Lists tools in a Composio toolkit.

crewship integration composio triggers

Groups Composio trigger actions.

crewship integration composio triggers active

Lists active Composio triggers.

crewship integration composio triggers enable <slug>

Enables a Composio trigger for a user.

crewship integration composio triggers types

Lists available Composio trigger types.

crewship integration composio unbind <agent-slug-or-id>

Removes an agent’s Composio bindings.

crewship integration crew delete <crew-slug> <integration-id>

Deletes a crew-scoped integration.

crewship integration crew list <crew-slug>

Lists integrations for a crew.

crewship integration crew update <crew-slug> <integration-id>

Updates a crew-scoped integration.

crewship integration crews-overview

Lists integrations across all crews.

crewship integration disable <id-or-name>

Disables a workspace integration.

crewship integration enable <id-or-name>

Enables a workspace integration.

crewship integration get <id-or-name>

Shows a workspace integration.

crewship integration list

Lists workspace integrations.

crewship integration remove <id-or-name>

Removes a workspace integration.

crewship integration test <id-or-name>

Tests a workspace integration connection.

crewship integration tools enable <crew-slug> <integration-id> <tool-name>

Enables one tool on a crew-scoped integration.

crewship integration tools list <crew-slug> <integration-id>

Lists tool bindings for a crew-scoped integration.

crewship integration tools refresh <crew-slug> <integration-id>

Reconciles tool bindings with a discovered tool list supplied on --tool or --tools-file. See Per-tool controls.

crewship integration unbind

Removes an integration binding from an agent.

See also