Skip to content

Default streaming to false for compact MCP tool responses#7

Merged
maatheusgois-dd merged 1 commit into
mainfrom
maatheusgois-dd/streaming-default-false
Jun 1, 2026
Merged

Default streaming to false for compact MCP tool responses#7
maatheusgois-dd merged 1 commit into
mainfrom
maatheusgois-dd/streaming-default-false

Conversation

@maatheusgois-dd

Copy link
Copy Markdown
Contributor

Summary

  • Default streaming to false on all build/test tools so MCP responses stay compact unless the caller opts in
  • Centralize the streaming JSON Schema property in schema-constants.ts with an explicit default: false
  • Add streaming to session defaults (bazel_ios_set_defaults), config profiles, and defaultStreaming file config
  • Update streaming docs to reflect opt-in behavior

Scope

  • MCP server/tools
  • CLI commands or parsers
  • Bazel build/test/discovery
  • Simulator workflows
  • Physical device workflows
  • UI automation, screenshots, video, logs, or deep links
  • LLDB debugging
  • macOS, tvOS, watchOS, or visionOS workflows
  • Swift Package Manager
  • Daemon, session defaults, config, doctor, or setup
  • Project scaffolding
  • Docs, examples, or agent skills
  • CI, release, packaging, or dependencies

Validation

  • npm run lint
  • npm run typecheck
  • npm test
  • npm run build
  • npx vitest --run --coverage
  • Manual MCP validation with Cursor or another MCP client
  • Manual CLI validation with xcodebazelmcp ...
  • Bazel workspace validation against a real Apple target
  • Simulator validation
  • Physical device validation

Compatibility

  • Adds, removes, or renames MCP tools
  • Changes CLI flags, command output, exit codes, or streaming behavior
  • Changes config files, environment variables, defaults, or profiles
  • Changes generated project scaffolding
  • Changes package contents, dependencies, Node support, or release behavior
  • Requires updates to docs, README, manifests, schemas, or skills
  • No compatibility impact

Behavior change: Long-running tools no longer stream output by default. Agents or users that relied on implicit streaming must pass streaming: true or set it via bazel_ios_set_defaults.

Notes For Reviewers

  • applyDefaults now always injects streaming: false when unset, so handlers see an explicit value
  • Tool schema tests assert streaming.default === false for every tool that exposes the property
  • npm test — 444 tests passed

Made with Cursor

Centralize the streaming schema property, wire it through session defaults and config profiles, and document opt-in behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
@maatheusgois-dd maatheusgois-dd self-assigned this Jun 1, 2026
@codecov

codecov Bot commented Jun 1, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 91.11111% with 4 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/runtime/config.ts 25.00% 3 Missing ⚠️
src/tools/helpers.ts 75.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@maatheusgois-dd
maatheusgois-dd marked this pull request as ready for review June 1, 2026 19:11
@maatheusgois-dd
maatheusgois-dd merged commit 5021d8e into main Jun 1, 2026
7 checks passed
@maatheusgois-dd
maatheusgois-dd deleted the maatheusgois-dd/streaming-default-false branch June 1, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant