Skip to content

fix: Set readOnlyHint=False on create_ipaas_connection write tool - #646

Open
VedantMadane wants to merge 2 commits into
pipefy:devfrom
VedantMadane:fix/issue-644
Open

fix: Set readOnlyHint=False on create_ipaas_connection write tool#646
VedantMadane wants to merge 2 commits into
pipefy:devfrom
VedantMadane:fix/issue-644

Conversation

@VedantMadane

Copy link
Copy Markdown

Summary

Set readOnlyHint=False on create_ipaas_connection write tool

Changes

  • Match other write tools: ToolAnnotations(readOnlyHint=False, openWorldHint=True)
  • create_ipaas_connection upserts credentials and must not look read-only

Fixes #644

- Match other write tools: ToolAnnotations(readOnlyHint=False, openWorldHint=True)
- create_ipaas_connection upserts credentials and must not look read-only

Fixes pipefy#644

Signed-off-by: Vedant Madane <6527493+VedantMadane@users.noreply.github.com>
@mocha06

mocha06 commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the contribution!

Can you please review the failed jobs @VedantMadane

@adriannoes adriannoes left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this first-time contribution. You closed the one write tool that still omitted readOnlyHint, which is exactly issue 644, and False is the right hint for a credential upsert.

Reviewed at a11fa0c. DCO passed. GitHub lint and test are red on format.

Verdict: needs changes into dev. Please switch the base off main first.

Required before merge

  • Wrap the create_ipaas_connection decorator so ruff format --check passes. Detail and a one-click fix are on the thread on packages/mcp/src/pipefy_mcp/tools/ipaas_tools.py:402.

Decisions I would make

  • Change this PR's base to dev. We will merge dev into main this week, and that is how this fix should land. Merging to main now would skip that train and force a back-merge.

Optional

Your call on all of these.

  • Extend test_connection_auth_url_is_not_read_only so create_ipaas_connection asserts read_only_hint is False. In this repo's Python model an omitted hint is None, so is False actually catches a regression.

What worked well

  • The annotation matches a real write, meta=REMOTE stayed put, and docs/mcp/tools/ipaas.md already listed the tool as not read-only.

return await _run_ipaas_tool(ctx, pipe_id, work)

@mcp.tool(annotations=ToolAnnotations(openWorldHint=True), meta=REMOTE)
@mcp.tool(annotations=ToolAnnotations(readOnlyHint=False, openWorldHint=True), meta=REMOTE)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking. Adding readOnlyHint=False on one line pushed this decorator to 99 columns. ruff format --check fails locally and on GitHub (Would reformat), so the lint and test jobs never get past format. The sibling get_ipaas_connection_auth_url already wraps the same annotations.

I would wrap this decorator the same way.

Done when:

  • uv run ruff format --check packages/mcp/src/pipefy_mcp/tools/ipaas_tools.py is clean
  • the GitHub lint job can proceed past the format step
Suggested change
@mcp.tool(annotations=ToolAnnotations(readOnlyHint=False, openWorldHint=True), meta=REMOTE)
@mcp.tool(
annotations=ToolAnnotations(readOnlyHint=False, openWorldHint=True),
meta=REMOTE,
)

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrapped the decorator to match get_ipaas_connection_auth_url and extended test_connection_auth_url_is_not_read_only so create_ipaas_connection asserts read_only_hint is False. Also retargeted base to dev.

Fixed in dc6da86.

Break the @mcp.tool decorator across lines to match sibling tools and
satisfy ruff format --check. Assert create_ipaas_connection
read_only_hint is False in the existing connection annotations test.

Signed-off-by: Vedant Madane <6527493+VedantMadane@users.noreply.github.com>
@VedantMadane
VedantMadane changed the base branch from main to dev September 1, 2026 07:03
@VedantMadane

Copy link
Copy Markdown
Author

Addressed review feedback:

  • Wrapped create_ipaas_connection @mcp.tool decorator so ruff format --check passes
  • Extended test_connection_auth_url_is_not_read_only to assert create_ipaas_connection.read_only_hint is False
  • Retargeted PR base from main to dev

Commit: dc6da86

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.

[Bug]: create_ipaas_connection is the only write tool that omits readOnlyHint

3 participants