From 9711b3826c00e47914e23fa121cd1d2098103dfc Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 19:37:30 +0000 Subject: [PATCH] docs(mcp): clarify that get_agent_skill_docs is for a deployed connector's direct-access docs Co-Authored-By: alexandre@airbyte.io --- airbyte/mcp/cloud.py | 10 +++++----- airbyte/mcp/guidance.py | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/airbyte/mcp/cloud.py b/airbyte/mcp/cloud.py index 5684d767b..5bddce13a 100644 --- a/airbyte/mcp/cloud.py +++ b/airbyte/mcp/cloud.py @@ -127,11 +127,11 @@ def _manifest_yaml_source_hint() -> str | None: SKILL_DOCS_SECTION_HINT = """\ Skill doc sections for direct API queries and actions are named with the pattern `actions..`, matching the `entity_type` and `action` arguments of the -`execute_external_api_query` tool. Call `get_agent_skill_docs` with no `section` input to list all -available sections, and/or retrieve the relevant section(s) with `get_agent_skill_docs` before -calling an action. E.g. for GitHub `entity_type='issues'`, `action='list'`, the -`'actions.issues.list'` section will teach that its expected `api_args` keys are `owner`, -`repo`, `states`, etc.\ +`execute_external_api_query` tool. Call `get_agent_skill_docs` with the deployed `connector_id` +(or a `docs_skill_id`) and no `section` to get the overview and list of available sections, then +retrieve the relevant section(s) before calling an action. E.g. for GitHub `entity_type='issues'`, +`action='list'`, the `'actions.issues.list'` section will teach that its expected +`api_args` keys are `owner`, `repo`, `states`, etc.\ """ CONNECTOR_CHECK_FAILURE_FALLBACK = "Connector check failed without a failure message." DEFER_CREDENTIALS_TIP_TEXT = ( diff --git a/airbyte/mcp/guidance.py b/airbyte/mcp/guidance.py index dbda460f3..28638f5cb 100644 --- a/airbyte/mcp/guidance.py +++ b/airbyte/mcp/guidance.py @@ -193,7 +193,8 @@ def get_agent_skill_docs( str | None, Field( description=( - "Deployed source or destination ID; resolves that connector's skill docs. " + "ID of a source or destination deployed in the workspace (not a connector " + "definition ID); resolves that connector's skill docs. " "Provide this or `docs_skill_id`." ), default=None, @@ -219,10 +220,17 @@ def get_agent_skill_docs( TraceArg.OMIT, ], ) -> AgentSkillDocsResult: - """Returns the requested skill document by ID for an AI agent. + """Read a deployed connector's direct-access docs (agent skill docs). - Pass either a fully-qualified `docs_skill_id` or a `connector_id` (source or - destination); exactly one is required. + These docs describe the entity types, actions, and arguments that + `execute_external_api_query` accepts for one deployed source or SQL passthrough + destination. They are not general Airbyte guidance; for questions about Airbyte + itself (setting up connections, sync modes, connector setup), use + `search_airbyte_knowledge_sources` instead. + + Exactly one of `connector_id` or `docs_skill_id` is required. `connector_id` must be + the ID of a source or destination deployed in the workspace (for example from + `list_cloud_connectors`), not a connector definition ID from the registry. """ workspace: CloudWorkspace = _get_cloud_workspace(ctx, workspace_id) return render_agent_skill_docs_result(