Skip to content

Hide deprecated Remote MCP endpoints via overlay#78

Merged
kbatuigas merged 2 commits into
mainfrom
DOC-2382-hide-deprecated-remote-mcp-endpoints-from-the-publ
Jul 21, 2026
Merged

Hide deprecated Remote MCP endpoints via overlay#78
kbatuigas merged 2 commits into
mainfrom
DOC-2382-hide-deprecated-remote-mcp-endpoints-from-the-publ

Conversation

@kbatuigas

Copy link
Copy Markdown
Contributor

Add cloud-dataplane/overlays/hide-remote-mcp.yaml to remove the deprecated Remote MCP endpoint group (paths under /v1/redpanda-connect/mcp-servers, the "Remote MCP" tag, and MCP-only component schemas) from the published Cloud Data Plane API reference. The reference is generated from the cloudv2 OpenAPI source, so this overlay is an interim docs-only hide until the endpoints are removed at the source. Auto-applied by determine-overlays.sh + bump.yml.

Resolves DOC-2382.

Add cloud-dataplane/overlays/hide-remote-mcp.yaml to remove the deprecated
Remote MCP endpoint group (paths under /v1/redpanda-connect/mcp-servers, the
"Remote MCP" tag, and MCP-only component schemas) from the published Cloud
Data Plane API reference. The reference is generated from the cloudv2 OpenAPI
source, so this overlay is an interim docs-only hide until the endpoints are
removed at the source. Auto-applied by determine-overlays.sh + bump.yml.

DOC-2382

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kbatuigas
kbatuigas requested a review from a team as a code owner July 20, 2026 20:54
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 27932660-97a9-4aaf-aaac-0c69bedfe16b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a versioned OpenAPI overlay titled “Hide Remote MCP endpoints.” The overlay removes Remote MCP server REST paths, related request and response schemas, the MCPServer model and nested definitions, and the Remote MCP navigation tag.

Estimated code review effort: 2 (Simple) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: hiding deprecated Remote MCP endpoints via an overlay.
Description check ✅ Passed The description directly matches the overlay change and its docs-only purpose.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DOC-2382-hide-deprecated-remote-mcp-endpoints-from-the-publ

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown

🚨 Breaking Cloud Data Plane API API change detected

Preview documentation

Structural change details

Removed (9)

  • [Breaking] DELETE /v1/redpanda-connect/mcp-servers/{id}
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
  • [Breaking] GET /v1/redpanda-connect/mcp-servers
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
  • [Breaking] GET /v1/redpanda-connect/mcp-servers/{id}
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
  • [Breaking] GET /v1/redpanda-connect/mcp-servers:getConfigSchema
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
  • [Breaking] POST /v1/redpanda-connect/mcp-servers
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
  • [Breaking] POST /v1/redpanda-connect/mcp-servers/{id}:start
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
  • [Breaking] POST /v1/redpanda-connect/mcp-servers/{id}:stop
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
  • [Breaking] POST /v1/redpanda-connect/mcp-servers:lint-config
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
  • [Breaking] PUT /v1/redpanda-connect/mcp-servers/{id}
    • Removing a resource is always breaking unless it was deprecated before [Breaking]
Powered by Bump.sh

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cloud-dataplane/overlays/hide-remote-mcp.yaml`:
- Around line 22-56: Add removal entries in the MCP-only component schema
section for the remaining schemas $.components.schemas.Tool,
$.components.schemas.ConfigurationYAMLSchema, and
$.components.schemas.ComponentType, matching the existing remove directives and
preserving the overlay structure.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: acd9514d-3fcd-4744-9ade-415cd33e165d

📥 Commits

Reviewing files that changed from the base of the PR and between 3878f71 and 905abb2.

📒 Files selected for processing (1)
  • cloud-dataplane/overlays/hide-remote-mcp.yaml

Comment on lines +22 to +56
# --- MCP-only component schemas (all verified MCP-exclusive) ---
- target: "$.components.schemas.CreateMCPServerResponse"
remove: true
- target: "$.components.schemas.DeleteMCPServerResponse"
remove: true
- target: "$.components.schemas.GetMCPServerResponse"
remove: true
- target: "$.components.schemas.GetMCPServerServiceConfigSchemaResponse"
remove: true
- target: "$.components.schemas.LintMCPConfigRequest"
remove: true
- target: "$.components.schemas.LintMCPConfigResponse"
remove: true
- target: "$.components.schemas['ListMCPServersRequest.Filter']"
remove: true
- target: "$.components.schemas.ListMCPServersResponse"
remove: true
- target: "$.components.schemas.MCPServer"
remove: true
- target: "$.components.schemas['MCPServer.ServiceAccount']"
remove: true
- target: "$.components.schemas['MCPServer.State']"
remove: true
- target: "$.components.schemas['MCPServer.Status']"
remove: true
- target: "$.components.schemas.MCPServerCreate"
remove: true
- target: "$.components.schemas.MCPServerUpdate"
remove: true
- target: "$.components.schemas.StartMCPServerResponse"
remove: true
- target: "$.components.schemas.StopMCPServerResponse"
remove: true
- target: "$.components.schemas.UpdateMCPServerResponse"
remove: true

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n== overlay ==\n'
cat -n cloud-dataplane/overlays/hide-remote-mcp.yaml

printf '\n== files mentioning MCP schema names ==\n'
rg -n "CreateMCPServerResponse|DeleteMCPServerResponse|GetMCPServerResponse|GetMCPServerServiceConfigSchemaResponse|LintMCPConfigRequest|LintMCPConfigResponse|ListMCPServersRequest.Filter|ListMCPServersResponse|MCPServer|MCPServerCreate|MCPServerUpdate|StartMCPServerResponse|StopMCPServerResponse|UpdateMCPServerResponse|ConfigurationYAMLSchema|ComponentType|Tool" cloud-dataplane -g '!**/*.lock'

printf '\n== nearby definitions in source spec files ==\n'
rg -n -A4 -B4 "ConfigurationYAMLSchema|ComponentType|Tool|MCPServer|LintMCPConfig|GetMCPServerServiceConfigSchemaResponse" cloud-dataplane

Repository: redpanda-data/api-docs

Length of output: 44079


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path
import re

text = Path("cloud-dataplane/cloud-dataplane.yaml").read_text()

names = ["Tool", "ConfigurationYAMLSchema", "ComponentType"]
for name in names:
    refs = []
    for i, line in enumerate(text.splitlines(), 1):
        if f"`#/components/schemas/`{name}" in line:
            refs.append((i, line.strip()))
    print(f"\n{name}: {len(refs)} refs")
    for i, line in refs:
        print(f"  {i}: {line}")

# crude check for named schema definitions themselves
print("\nDefinitions:")
for name in names:
    m = re.search(rf"^\s*{re.escape(name)}:\s*$", text, re.M)
    print(f"  {name}: {'present' if m else 'missing'}")
PY

Repository: redpanda-data/api-docs

Length of output: 650


Remove the remaining MCP-only component schemas.

Tool, ConfigurationYAMLSchema, and ComponentType are still defined under components.schemas, and they’re only used by the MCP schemas removed above. Add them to the overlay too.

Proposed additions
+  - target: "$.components.schemas.ConfigurationYAMLSchema"
+    remove: true
+  - target: "$.components.schemas.ComponentType"
+    remove: true
+  - target: "$.components.schemas.Tool"
+    remove: true
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# --- MCP-only component schemas (all verified MCP-exclusive) ---
- target: "$.components.schemas.CreateMCPServerResponse"
remove: true
- target: "$.components.schemas.DeleteMCPServerResponse"
remove: true
- target: "$.components.schemas.GetMCPServerResponse"
remove: true
- target: "$.components.schemas.GetMCPServerServiceConfigSchemaResponse"
remove: true
- target: "$.components.schemas.LintMCPConfigRequest"
remove: true
- target: "$.components.schemas.LintMCPConfigResponse"
remove: true
- target: "$.components.schemas['ListMCPServersRequest.Filter']"
remove: true
- target: "$.components.schemas.ListMCPServersResponse"
remove: true
- target: "$.components.schemas.MCPServer"
remove: true
- target: "$.components.schemas['MCPServer.ServiceAccount']"
remove: true
- target: "$.components.schemas['MCPServer.State']"
remove: true
- target: "$.components.schemas['MCPServer.Status']"
remove: true
- target: "$.components.schemas.MCPServerCreate"
remove: true
- target: "$.components.schemas.MCPServerUpdate"
remove: true
- target: "$.components.schemas.StartMCPServerResponse"
remove: true
- target: "$.components.schemas.StopMCPServerResponse"
remove: true
- target: "$.components.schemas.UpdateMCPServerResponse"
remove: true
# --- MCP-only component schemas (all verified MCP-exclusive) ---
- target: "$.components.schemas.CreateMCPServerResponse"
remove: true
- target: "$.components.schemas.DeleteMCPServerResponse"
remove: true
- target: "$.components.schemas.GetMCPServerResponse"
remove: true
- target: "$.components.schemas.GetMCPServerServiceConfigSchemaResponse"
remove: true
- target: "$.components.schemas.LintMCPConfigRequest"
remove: true
- target: "$.components.schemas.LintMCPConfigResponse"
remove: true
- target: "$.components.schemas['ListMCPServersRequest.Filter']"
remove: true
- target: "$.components.schemas.ListMCPServersResponse"
remove: true
- target: "$.components.schemas.MCPServer"
remove: true
- target: "$.components.schemas['MCPServer.ServiceAccount']"
remove: true
- target: "$.components.schemas['MCPServer.State']"
remove: true
- target: "$.components.schemas['MCPServer.Status']"
remove: true
- target: "$.components.schemas.MCPServerCreate"
remove: true
- target: "$.components.schemas.MCPServerUpdate"
remove: true
- target: "$.components.schemas.StartMCPServerResponse"
remove: true
- target: "$.components.schemas.StopMCPServerResponse"
remove: true
- target: "$.components.schemas.UpdateMCPServerResponse"
remove: true
- target: "$.components.schemas.ConfigurationYAMLSchema"
remove: true
- target: "$.components.schemas.ComponentType"
remove: true
- target: "$.components.schemas.Tool"
remove: true
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@cloud-dataplane/overlays/hide-remote-mcp.yaml` around lines 22 - 56, Add
removal entries in the MCP-only component schema section for the remaining
schemas $.components.schemas.Tool, $.components.schemas.ConfigurationYAMLSchema,
and $.components.schemas.ComponentType, matching the existing remove directives
and preserving the overlay structure.

@kbatuigas
kbatuigas requested a review from prakhargarg105 July 20, 2026 21:07

@Feediver1 Feediver1 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.

Final-pass review (docs-team-standards, spec-tooling focus)

Overall: Correct and safe as written — every JSONPath target verified to exist in the source spec with exact key spellings, and the removal set creates no dangling $refs. One completeness gap (CodeRabbit's, verified genuine): three transitively-MCP-only schemas survive the hide.

Jira ticket alignment

DOC-2382 — ✅ implements the ticket's proposed solution exactly: 6 paths, the Remote MCP tag (with the empty-nav-group rationale), 17 schemas, auto-pickup via determine-overlays.sh + bump.yml, interim-until-source-removal framing.

Verification performed

  • All 6 path keys and all 17 schema names match the source cloud-dataplane.yaml exactly — this mattered because a typo'd JSONPath silently no-ops rather than erroring.
  • Full reference-graph walk: no kept path or schema references anything removed, so the published bundle stays valid.

Suggestions

  1. Add three more remove actions: Tool, ConfigurationYAMLSchema, ComponentType. Reference-graph verified: Tool is referenced only by LintMCPConfigRequest/MCPServer/MCPServerCreate/MCPServerUpdate, ConfigurationYAMLSchema only by GetMCPServerServiceConfigSchemaResponse, and ComponentType only by the other two — all being removed, and no endpoints touch them. After the overlay they're orphans, so MCP tooling types still leak into the published schemas section this ticket wants scrubbed. Removing them is provably safe (zero inbound references remain). This confirms CodeRabbit's Minor finding.
  2. Verify via the Bump diff after merge, per the ticket's own acceptance step — the overlay only takes effect at publish time, so the PR's green checks don't exercise it.

What works well

  • The overlay comments state their verification claims ("exact keys confirmed", "all verified MCP-exclusive") — and they check out for the 17 targeted schemas
  • Removing the tag definition alongside the paths avoids the empty-nav-group artifact
  • The ticket + PR pair documents the interim-vs-source-fix boundary so the overlay doesn't quietly become permanent

🤖 Automated final-pass review via docs-team-standards pr-review. All targets and reference claims verified against cloud-dataplane.yaml on main.

@Feediver1 Feediver1 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.

See CodeRabbit suggestions.

@kbatuigas
kbatuigas merged commit c6351da into main Jul 21, 2026
8 checks passed
@kbatuigas
kbatuigas deleted the DOC-2382-hide-deprecated-remote-mcp-endpoints-from-the-publ branch July 21, 2026 19:46
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.

3 participants