Skip to content

fix(mcp): guide Connector Builder agents through the credentials flow - #1410

Draft
Aaron ("AJ") Steers (aaronsteers) wants to merge 2 commits into
devin/1792350894-connector-builder-toolsfrom
devin/1792438676-connector-builder-credentials-flow
Draft

Aaron ("AJ") Steers (aaronsteers) wants to merge 2 commits into
devin/1792350894-connector-builder-toolsfrom
devin/1792438676-connector-builder-credentials-flow

Conversation

@aaronsteers

Copy link
Copy Markdown
Member

Overview

👉 TL;DR: Guides agents building a connector that needs credentials. They create a draft test source up front, and they ask the user to enter credentials in both the Connector Builder testing values and that test source, never in chat.

Specifically, this updates the create_connector_builder_project docstring, returns next_steps from it, and makes the readiness testing-values check fail while a required field has no value.

Stacked on #1407:

Changes

  • create_connector_builder_project docstring: for credentialed connectors, put the spec (secrets marked airbyte_secret) in the initial manifest and set create_test_source. The test source is saved as a draft (deferred credentials), so credentials nobody has tested yet don't block it.
  • Suggested spec shape, following the 39 certified manifests that use it: a credentials object whose oneOf options each have a constant auth_type (api_key, access_token, oauth2.0), and SelectiveAuthenticator with authenticator_selection_path: ["credentials", "auth_type"] when there is more than one option.
  • The result always includes next_steps. With a test source, it asks the user to enter credentials at connector_builder_project_url and at test_source_settings_url (then test and save).
  • Readiness check 4 ("Ask the user to enter testing values, including secrets, in the Connector Builder UI") now fails while a required top-level field without a default is missing. Masked secrets count as entered. Its next step now includes the project URL.

Test plan

  • Unit tests for next_steps with and without a test source, and for the testing-values check (missing required, masked secret, no inputs, required with default).
  • Recorded Goose Desktop run against cloud-mcp-preview with a credentialed source: pending.

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

@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

@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/1792438676-connector-builder-credentials-flow' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1792438676-connector-builder-credentials-flow'

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-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Prerelease Build Started

Building and publishing prerelease package from this PR...
Check job output.
Prerelease Published to PyPI

Version: 0.71.2.dev141039313338033
View publish workflow

Install with:

pip install airbyte==0.71.2.dev141039313338033

@github-code-quality

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

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: Python

Python / code-coverage/pytest-no-creds

devin/1792350894-con... d9f652f devin/1792438676-con... d3415c0 +/-
65% 80% +15%
View coverage of the 10 most impacted files.
File devin/1792350894-con... d9f652f devin/1792438676-con... d3415c0 +/-
airbyte/_util/api_util.py 36% 67% +31%
airbyte/mcp/cloud.py 52% 84% +32%
airbyte/cloud/connectors.py 34% 79% +45%
airbyte/mcp/_datadog.py 0% 50% +50%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/_direct...ctors/models.py 0% 95% +95%
airbyte/cloud/c...lder/project.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

devin/1792350894-con... d9f652f devin/1792438676-con... d3415c0 +/-
71% 82% +11%
View coverage of the 10 most impacted files.
File devin/1792350894-con... d9f652f devin/1792438676-con... d3415c0 +/-
airbyte/cloud/connectors.py 51% 82% +31%
airbyte/mcp/cloud.py 52% 84% +32%
airbyte/mcp/_datadog.py 0% 50% +50%
airbyte/mcp/_user_identity.py 0% 93% +93%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/_direct...ctors/models.py 0% 95% +95%
airbyte/cloud/c...lder/project.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

devin/1792350894-con... devin/1792438676-con... d3415c0 +/-
— 77% —

Line coverage data for the devin/1792350894-con... branch is not yet available.

View coverage of the 10 most covered files.
File devin/1792350894-con... devin/1792438676-con... d3415c0 +/-
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 — 84% —
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 19, 2026 19:55 UTC

This branch has not been deployed

No deployments
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