See also the CLI docs index for other CLI-oriented guides.
This flow is the canonical Tier 2 fallback when no dedicated MCP tool or Typer command exists for an operation: discover the GraphQL shape from the schema, then run the operation with explicit confirmation for mutations.
uv run pipefy introspect schema search labelUse keywords that match type or field names (case-insensitive).
For a mutation root field:
uv run pipefy introspect mutation createLabelFor a query root field:
uv run pipefy introspect query pipeFor an input or object type:
uv run pipefy introspect type CreateLabelInputDefault output is JSON. Add --rich for a syntax-highlighted view in the terminal.
Read-only query (variables default to {}):
uv run pipefy graphql exec --query 'query Q($id: ID!) { pipe(id: $id) { id name } }' --vars '{"id":"123"}' --jsonMutations require --yes or the CLI exits with code 2:
uv run pipefy graphql exec --query 'mutation M($input: CreateLabelInput!) { createLabel(input: $input) { label { id } } }' --vars '{"input":{"pipeId":1,"name":"X","color":"#000000"}}' --yes --jsonMalformed --vars JSON also exits with code 2.
- There is no server-side blocklist: scope is limited by the token (service account or user) used for
pipefy. - Prefer dedicated tools when they exist; they validate inputs and normalize errors.
- Parity matrix:
docs/parity.md - MCP introspection tools map 1:1 to
pipefy introspectsubcommands (seedocs/parity.md).