Skip to content

Remote-safe: pipe/card/field/member/webhook/portal read tools #441

Description

@mocha06

Part of migrating the default-deny remote profile to expose the tools that meet the remote-safe criteria. Under --profile remote, only tools carrying meta=REMOTE (tracked by REMOTE_SEED in packages/mcp/tests/tools/test_remote_profile.py) are served; everything else is withheld.

Inclusion criteria (from packages/mcp/CLAUDE.md) — each tool must:

  • reach the API with the request-scoped bearer and be fully governed by API permissions;
  • NOT read the local filesystem;
  • NOT read process-global settings for a per-user decision.

Mechanism (per tool): add meta=REMOTE to the @mcp.tool(...) decorator (from pipefy_mcp.tools.remote_profile import REMOTE) and add the tool name to REMOTE_SEED. The drift-guard test test_marked_tools_equal_the_seed enforces marker↔seed lockstep, so both must change together.

Acceptance: markers added; REMOTE_SEED updated; uv run pytest packages/mcp/tests/tools/test_remote_profile.py green; confirm each tool against the criteria above; update any documented remote-tool count.

Scope — 14 read tools

  • get_card_relations
  • get_card_inbox_emails
  • get_field_condition
  • get_field_conditions
  • get_labels
  • get_pipe_members
  • get_pipe_relations
  • get_phase_allowed_move_targets
  • get_phase_cards_count
  • get_table_relations
  • get_webhooks
  • get_email_templates
  • get_portal
  • list_portals

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions