Skip to content

feat(mcp)!: drop cloud from MCP tool names; qualify local and registry tools - #1428

Merged
Aaron ("AJ") Steers (aaronsteers) merged 1 commit into
release-candidate/v1from
devin/1793121266-mcp-tool-renames
Oct 27, 2026
Merged

Aaron ("AJ") Steers (aaronsteers) merged 1 commit into
release-candidate/v1from
devin/1793121266-mcp-tool-renames

Conversation

@aaronsteers

Copy link
Copy Markdown
Member

Summary

Renames MCP tools so Cloud tools drop the cloud qualifier, local tools gain local, and registry tools use connector_definition. Resolves AGENTIC-2297.

Naming rule:

  • Cloud is the default, so its tools are unqualified. A bare "connector" means a deployed source or destination.
  • local_ marks tools that run on the user's machine or local cache.
  • connector_definition marks connector types from the registry. This matches the existing *_custom_source_definition tools.

This is a hard rename with no deprecated aliases (the v1 breaking branch). Readonly and the other policy gates key off the tool's module, not its name (_is_cloud_tool), so gating is unchanged. Non-MCP SDK and CLI APIs are untouched. Only the MCP tool names, and the references to them in tool descriptions, error guidance, docs and tests, change.

Full rename map

Cloud

Current New
cancel_cloud_sync cancel_connection_sync
check_cloud_connector check_connector
create_connection_on_cloud create_connection
deploy_connector_to_cloud deploy_connector
deploy_noop_destination_to_cloud deploy_noop_destination
describe_cloud_connection describe_connection
describe_cloud_connector describe_connector
describe_cloud_organization describe_organization
describe_cloud_workspace describe_workspace
get_cloud_organization_billing_status get_organization_billing_status
get_cloud_search_status get_search_index_status
get_cloud_sync_logs get_connection_sync_logs
get_cloud_sync_status get_connection_sync_status
get_default_cloud_context get_default_workspace_context
list_cloud_connections list_connections
list_cloud_connectors list_connectors
list_cloud_organizations list_organizations
list_cloud_sync_jobs list_connection_sync_jobs
list_cloud_workspaces list_workspaces
permanently_delete_cloud_connection permanently_delete_connection
permanently_delete_cloud_connector permanently_delete_connector
rename_cloud_connection rename_connection
rename_cloud_connector rename_connector
request_cloud_search_index_backfill request_search_index_backfill
run_cloud_sync run_connection_sync
set_cloud_connection_selected_streams set_connection_selected_streams
set_cloud_connection_table_prefix set_connection_table_prefix
set_default_cloud_workspace set_default_workspace
update_cloud_connection update_connection
update_cloud_connector_config update_connector_config

Local

Current New
describe_default_cache describe_local_default_cache
destination_smoke_test run_local_destination_smoke_test
get_source_stream_json_schema get_local_source_stream_json_schema
get_stream_previews get_local_stream_previews
list_cached_streams list_local_cached_streams
list_connector_config_secrets list_local_connector_config_secrets
list_dotenv_secrets list_local_dotenv_secrets
list_source_streams list_local_source_streams
read_source_stream_records read_local_source_stream_records
run_sql_query run_local_sql_query
sync_source_to_cache sync_local_source_to_cache
validate_connector_config validate_local_connector_config

Registry

Current New
get_connector_info get_connector_definition
get_connector_version_history get_connector_definition_version_history
list_connectors list_connector_definitions
show_connectors_list show_connector_definitions

Risks

  • list_connectors now means deployed workspace connectors. Before, it meant the registry. Clients or prompts that hard-code the old meaning will get a different tool. Both tool descriptions now point at each other.
  • The cloud-mcp-evals scenarios reference the old tool names, so evals against this branch are expected to fail until a follow-up PR renames them there.

Test plan

  • Listed every registered tool from the MCP app: 70 tools, no duplicates, none containing cloud.
  • rg for each old name, word-bounded, across the repo: no stale MCP references.
  • ruff check, ruff format, pyrefly, and the MCP unit tests under tests/unit_tests.
  • New tests check that the tool names are unique and contain no cloud, and check the registry and workspace discovery descriptions.

Link to Devin session: https://app.devin.ai/sessions/7c325d2acdab4969b257272343900187
Open in Devin Desktop: https://app.devin.ai/desktop/session/7c325d2acdab4969b257272343900187?variant=devin
Requested by: Aaron ("AJ") Steers (@aaronsteers)

…registry tools

Co-Authored-By: AJ Steers <aj@airbyte.io>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@linear-code

linear-code Bot commented Oct 27, 2026

Copy link
Copy Markdown

AGENTIC-2297

@github-actions

Copy link
Copy Markdown

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

Testing This PyAirbyte Version

You can test this version of PyAirbyte using the following:

# Run PyAirbyte CLI from this branch:
uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1793121266-mcp-tool-renames' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1793121266-mcp-tool-renames'

PR Slash Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /fix-pr - Fixes most formatting and linting issues
  • /uv-lock - Updates uv.lock file
  • /test-pr - Runs tests with the updated PyAirbyte
  • /prerelease - Builds and publishes a prerelease version to PyPI
  • /evals - Runs the Cloud MCP evals that use the MCP tools this PR changed (/evals full=true runs the full suite)
📚 Show Repo Guidance

Helpful Resources

Community Support

Questions? Join the #pyairbyte channel in our Slack workspace.

📝 Edit this welcome message.

@github-code-quality

github-code-quality Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: Python

Python / code-coverage/pytest-no-creds

release-candidate/v1 d9f652f devin/1793121266-mcp... fe79fb0 +/-
65% 80% +15%
View coverage of the 10 most impacted files.
File release-candidate/v1 d9f652f devin/1793121266-mcp... fe79fb0 +/-
airbyte/_util/api_util.py 36% 67% +31%
airbyte/mcp/cloud.py 52% 86% +34%
airbyte/cloud/connectors.py 34% 79% +45%
airbyte/mcp/_datadog.py 0% 50% +50%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/cloud/c...lder/project.py 0% 94% +94%
airbyte/_direct...ctors/models.py 0% 95% +95%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 97% +97%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%

Python / code-coverage/pytest

release-candidate/v1 d9f652f devin/1793121266-mcp... fe79fb0 +/-
71% 82% +11%
View coverage of the 10 most impacted files.
File release-candidate/v1 d9f652f devin/1793121266-mcp... fe79fb0 +/-
airbyte/cloud/connectors.py 51% 82% +31%
airbyte/mcp/cloud.py 52% 86% +34%
airbyte/mcp/_datadog.py 0% 50% +50%
airbyte/mcp/_user_identity.py 0% 93% +93%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/cloud/c...lder/project.py 0% 94% +94%
airbyte/_direct...ctors/models.py 0% 95% +95%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 97% +97%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%

Python / code-coverage/pytest-unit

release-candidate/v1 devin/1793121266-mcp... fe79fb0 +/-
— 77% —

Line coverage data for the release-candidate/v1 branch is not yet available.

View coverage of the 10 most covered files.
File release-candidate/v1 devin/1793121266-mcp... fe79fb0 +/-
airbyte/cloud/models.py — 97% —
airbyte/mcp/_sso_auth.py — 96% —
airbyte/_direct...ctors/models.py — 95% —
airbyte/cloud/client.py — 90% —
airbyte/exceptions.py — 90% —
airbyte/mcp/cloud.py — 86% —
airbyte/progress.py — 80% —
airbyte/cloud/connectors.py — 79% —
airbyte/shared/...ql_processor.py — 68% —
airbyte/_util/api_util.py — 67% —

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated October 27, 2026 17:33 UTC

@aaronsteers
Aaron ("AJ") Steers (aaronsteers) marked this pull request as ready for review October 27, 2026 17:35
Copilot AI balanced review requested due to automatic review settings October 27, 2026 17:35

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues remain for the MCP tool namespace rename.

No open issues 🎉

What changed in this PR

This PR makes a breaking rename of PyAirbyte’s MCP tools: Cloud becomes the default namespace, local tools explicitly include local, and registry tools use connector_definition. SDK and CLI APIs remain unchanged.

Changes:

  • Renames MCP tools without deprecated aliases and distinguishes registry definitions from deployed workspace connectors.
  • Updates tool descriptions, error guidance, server instructions, and documentation references.
  • Updates tests and trace fixtures, adding checks for unique, Cloud-free tool names and clear discovery descriptions.
File Description
tests/​unit_tests/​test_mcp_trusted_execution.py Updates local-tool execution guard tests.
tests/​unit_tests/​test_mcp_tool_utils.py Updates policy and description test references.
tests/​unit_tests/​test_mcp_tool_filters.py Updates UI visibility and policy-filter tests.
tests/​unit_tests/​test_mcp_tool_annotations.py Adds naming and discovery-description assertions.
tests/​unit_tests/​test_mcp_policy_middleware.py Updates local-tool middleware references.
tests/​unit_tests/​test_mcp_local_tool_descriptions.py Updates local-tool description test lists.
tests/​unit_tests/​test_mcp_http.py Updates the registry UI tool name.
tests/​unit_tests/​test_mcp_http_main.py Updates server-instruction assertions.
tests/​unit_tests/​test_mcp_datadog.py Updates synthetic tool and trace expectations.
tests/​unit_tests/​test_mcp_connector_registry.py Updates registry and UI tool calls and mocks.
tests/​unit_tests/​test_mcp_connection_schedules.py Updates connection scheduling tool references.
tests/​unit_tests/​test_mcp_cloud.py Updates Cloud tool calls and guidance assertions.
tests/​unit_tests/​test_mcp_call_scope.py Updates telemetry scope test calls.
tests/​unit_tests/​test_mcp_arg_trace_parity.py Updates the connection-listing trace case.
tests/​unit_tests/​test_exceptions.py Updates workspace discovery guidance expectations.
tests/​unit_tests/​test_deferred_cloud_credentials.py Updates deployment and readiness-check references.
tests/​unit_tests/​test_cloud_direct_execute.py Updates search-status warning expectations.
tests/​unit_tests/​test_cloud_credentials.py Updates MCP discovery and connector test calls.
tests/​unit_tests/​test_cloud_connections.py Updates sync-job guidance expectations.
tests/​unit_tests/​test_cloud_client.py Updates default-workspace guidance expectations.
tests/​unit_tests/​test_cloud_api_util.py Updates actor-not-ready guidance expectations.
tests/​unit_tests/​fixtures/​arg_trace_plan.json Renames tool keys in the trace fixture.
scripts/​generate_mcp_markdown.py Updates tool-name examples in documentation text.
docs/​CONTRIBUTING.md Updates MCP command examples and anchor guidance.
airbyte/​mcp/​server.py Updates workspace discovery instructions.
airbyte/​mcp/​registry.py Renames registry tools and clarifies discovery scope.
airbyte/​mcp/​local.py Renames local tools and associated guidance.
airbyte/​mcp/​interactive/​_registry_ui.py Renames the registry UI tool and backing import.
airbyte/​mcp/​interactive/​__init__.py Exports the renamed registry UI tool.
airbyte/​mcp/​guidance.py Renames definition lookup and updates cross-references.
airbyte/​mcp/​connector_builder.py Updates sync-status polling guidance.
airbyte/​mcp/​cloud.py Renames Cloud tools and updates related guidance.
airbyte/​mcp/​_user_identity.py Updates the cache-invalidation docstring reference.
airbyte/​mcp/​_docs_results.py Updates the result-model docstring reference.
airbyte/​exceptions.py Updates MCP credential-discovery guidance.
airbyte/​cloud/​workspaces.py Updates missing-workspace guidance.
airbyte/​cloud/​connections.py Updates connection and sync-job error guidance.
airbyte/​cloud/​client.py Updates discovery and default-workspace guidance.
airbyte/​_util/​destination_smoke_tests.py Updates the MCP tool reference in the module docstring.
airbyte/​_util/​api_util.py Updates actor-not-ready MCP guidance.
airbyte/​_direct_connectors/​models.py Updates search-status guidance in warnings.
airbyte/​_direct_connectors/​connector_docs.py Updates MCP tool references in module documentation.

Review effort: Balanced

@aaronsteers
Aaron ("AJ") Steers (aaronsteers) merged commit 0e877d1 into release-candidate/v1 Oct 27, 2026
35 checks passed
@aaronsteers
Aaron ("AJ") Steers (aaronsteers) deleted the devin/1793121266-mcp-tool-renames branch October 27, 2026 18:21
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.

2 participants