Repository navigation
feat(mcp)!: drop cloud from MCP tool names; qualify local and registry tools - #1428
Conversation
…registry tools Co-Authored-By: AJ Steers <aj@airbyte.io>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksTesting This PyAirbyte VersionYou 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 CommandsAirbyte Maintainers can execute the following slash commands on your PR:
📚 Show Repo GuidanceHelpful ResourcesCommunity SupportQuestions? Join the #pyairbyte channel in our Slack workspace. |
Code coverage overviewLanguages: Python Python / code-coverage/pytest-no-creds
View coverage of the 10 most impacted files.
Python / code-coverage/pytest
View coverage of the 10 most impacted files.
Python / code-coverage/pytest-unit
Line coverage data for the release-candidate/v1 branch is not yet available. View coverage of the 10 most covered files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
There was a problem hiding this comment.
🟢 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
0e877d1
into
release-candidate/v1
Summary
Renames MCP tools so Cloud tools drop the
cloudqualifier, local tools gainlocal, and registry tools useconnector_definition. Resolves AGENTIC-2297.Naming rule:
local_marks tools that run on the user's machine or local cache.connector_definitionmarks connector types from the registry. This matches the existing*_custom_source_definitiontools.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
cancel_cloud_synccancel_connection_synccheck_cloud_connectorcheck_connectorcreate_connection_on_cloudcreate_connectiondeploy_connector_to_clouddeploy_connectordeploy_noop_destination_to_clouddeploy_noop_destinationdescribe_cloud_connectiondescribe_connectiondescribe_cloud_connectordescribe_connectordescribe_cloud_organizationdescribe_organizationdescribe_cloud_workspacedescribe_workspaceget_cloud_organization_billing_statusget_organization_billing_statusget_cloud_search_statusget_search_index_statusget_cloud_sync_logsget_connection_sync_logsget_cloud_sync_statusget_connection_sync_statusget_default_cloud_contextget_default_workspace_contextlist_cloud_connectionslist_connectionslist_cloud_connectorslist_connectorslist_cloud_organizationslist_organizationslist_cloud_sync_jobslist_connection_sync_jobslist_cloud_workspaceslist_workspacespermanently_delete_cloud_connectionpermanently_delete_connectionpermanently_delete_cloud_connectorpermanently_delete_connectorrename_cloud_connectionrename_connectionrename_cloud_connectorrename_connectorrequest_cloud_search_index_backfillrequest_search_index_backfillrun_cloud_syncrun_connection_syncset_cloud_connection_selected_streamsset_connection_selected_streamsset_cloud_connection_table_prefixset_connection_table_prefixset_default_cloud_workspaceset_default_workspaceupdate_cloud_connectionupdate_connectionupdate_cloud_connector_configupdate_connector_configLocal
describe_default_cachedescribe_local_default_cachedestination_smoke_testrun_local_destination_smoke_testget_source_stream_json_schemaget_local_source_stream_json_schemaget_stream_previewsget_local_stream_previewslist_cached_streamslist_local_cached_streamslist_connector_config_secretslist_local_connector_config_secretslist_dotenv_secretslist_local_dotenv_secretslist_source_streamslist_local_source_streamsread_source_stream_recordsread_local_source_stream_recordsrun_sql_queryrun_local_sql_querysync_source_to_cachesync_local_source_to_cachevalidate_connector_configvalidate_local_connector_configRegistry
get_connector_infoget_connector_definitionget_connector_version_historyget_connector_definition_version_historylist_connectorslist_connector_definitionsshow_connectors_listshow_connector_definitionsRisks
list_connectorsnow 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.Test plan
cloud.rgfor each old name, word-bounded, across the repo: no stale MCP references.ruff check,ruff format,pyrefly, and the MCP unit tests undertests/unit_tests.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)