Skip to content

Fix pop up output for mcp #747

@Daanvdplas

Description

@Daanvdplas

We deploy contracts via pop up <contract …>, and the CLI only prints the contract address inside display_contract_info, which stops a cliclack spinner (crates/pop-cli/src/commands/up/contract.rs:378-386,544-562). That spinner uses indicatif, and when the command runs without a TTY (the MCP uses Command::output, so no tty) indicatif suppresses all spinner rendering—meaning the contract address never reaches stdout or stderr. Other commands like pop up ink-node log their status through Cli.info/Cli.outro, which emit even without a TTY, so the MCP sees those. To fix the deployment case we need to output the contract address via a channel that works in non‑TTY contexts (e.g., Cli.info, println!, or a structured stdout line) right after display_contract_info in both the normal and wallet flows; otherwise automation will never be able to capture the address.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions