Skip to content

docs: sync ADP changes from cloudv2 (2026-06-28)#114

Merged
micheleRP merged 2 commits into
mainfrom
claude/sync-cloudv2-2026-06-28
Jun 29, 2026
Merged

docs: sync ADP changes from cloudv2 (2026-06-28)#114
micheleRP merged 2 commits into
mainfrom
claude/sync-cloudv2-2026-06-28

Conversation

@micheleRP

@micheleRP micheleRP commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Syncs a backend (alpha-endpoint) ADP change merged to cloudv2 main in the last 24 hours: the v1alpha1 ListMCPServers and ListOAuthProviders APIs gained an AIP-160 filter expression and an AIP-132 order_by, letting callers scope and sort these lists server-side.

Per the ADP docs policy, alpha UI frontend changes are not documented, but backend alpha endpoints are. The matching cloud UI work (server-side Type/Status faceting, the /agents Status filter URL fix) and the internal cncnfast perf change are intentionally not documented here.

cloudv2 commits documented

Commit Change
96e2387 — feat(aigw): server-side AIP-160 filter + order_by for ListMCPServers (merge #27489) Adds filter + order_by to ListMCPServersRequest in proto/public/cloud/redpanda/api/adp/v1alpha1/mcp_server.proto.
1295dfa — feat(aigw): server-side AIP-160 filter + order_by for ListOAuthProviders (merge #27491) Adds filter + order_by to ListOAuthProvidersRequest in proto/public/cloud/redpanda/api/adp/v1alpha1/oauth_provider.proto.

What changed in the docs

  • modules/connect/pages/create-server.adoc — new List and filter servers with the API section documenting MCPServerService.ListMCPServers: the filter object (name_contains + AIP-160 filter), filterable columns, order_by keyset columns, default order, the dataplane_adp_mcpserver_list permission, and a curl example.
  • modules/connect/pages/oauth-providers.adoc — new List and filter providers with the API section documenting OAuthProviderService.ListOAuthProviders along the same lines (dataplane_aigateway_oauthprovider_list permission).

Both sections mirror the existing SpendingService programmatic docs in control/budgets.adoc, including the standard "proto-accurate but not exercised against a live cluster" provenance note (in source comments). Every field name, enum value, permission, orderable/filterable column, and default order is grounded in the proto source.

Accuracy notes

  • The ListMCPServers proto comment lists display_name as a filterable column, but the MCPServer resource has no display_name field. I omitted it from the MCP docs and recorded why in a source comment. (The OAuth display_name column is real and is documented.)
  • Orderable columns and default order come from each resource's storage table options: MCP servers order on name/created_at; OAuth providers on name/display_name/created_at; both default to created_at desc.

For human review (please confirm)

  • Product positioning (TODO for Michele / docs team): these filter/order_by fields primarily back the cloud UI faceting; the rpk ai mcp list / rpk ai oauth list CLI still exposes only --filter-name. This PR documents the raw v1alpha1 Connect list API as a programmatic surface (following the budgets.adoc precedent). If you'd prefer not to surface these list endpoints as a sanctioned user-facing workflow yet, drop these sections — that's a positioning call, not a source-accuracy one.

Reviewers

Added @malinskibeniamin (author of both source commits) as an optional reviewer for a source-accuracy courtesy check — their approval is not blocking. No other authors to add; micheleRP is skipped as the PR author.

Preview

Deploy preview (live once Netlify finishes the build): https://deploy-preview-114--redpanda-agentic-data-plane.netlify.app/agentic-data-plane/connect/oauth-providers/

…ListOAuthProviders

Document the new AIP-160 filter and AIP-132 order_by request fields added to
the v1alpha1 ListMCPServers and ListOAuthProviders APIs, so callers can scope
and sort these lists server-side. Adds a programmatic List and filter section
to create-server.adoc and oauth-providers.adoc, covering the filterable
columns, orderable keyset columns, default order, required list permission,
and a curl example, mirroring the existing SpendingService programmatic docs.

Source: cloudv2 commits 96e2387 (ListMCPServers) and 1295dfa (ListOAuthProviders).
@micheleRP micheleRP requested a review from a team as a code owner June 28, 2026 12:20
@netlify

netlify Bot commented Jun 28, 2026

Copy link
Copy Markdown

Deploy Preview for redpanda-agentic-data-plane ready!

Name Link
🔨 Latest commit 8bbd0ee
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-agentic-data-plane/deploys/6a42fa225780fb000854e82f
😎 Deploy Preview https://deploy-preview-114--redpanda-agentic-data-plane.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Copy Markdown
Contributor Author

[adp-docs PR critic]

Verdict: looks accurate. Every field name, enum value, permission, filterable/orderable column, default order, and the Connect URL/auth pattern is correctly grounded in the cloudv2 proto source. Both new sections faithfully mirror the existing SpendingService precedent in control/budgets.adoc. One minor omission noted below; nothing blocking.

Source-accuracy checks (against redpanda-data/cloudv2, proto/public/cloud/redpanda/api/adp/v1alpha1/):

mcp_server.proto (create-server.adoc):

  • MCPServerService.ListMCPServers exists; dataplane_adp_mcpserver_list is the per-item permission in its collection_authorization. ✓
  • ListMCPServersRequest.Filter has name_contains (1) and filter (2, max_len 1024); order_by (4, max_len 256). ✓ matches the documented 1024/256 limits.
  • Proto's filterable-columns comment is name, display_name, type, enabled, description, created_at, updated_at. The PR correctly omits display_name because the MCPServer resource has no such field (confirmed — MCPServer has name/type/tools/enabled/description/created_at/updated_at/url/code_mode/…, no display_name), and records the reason in a source comment. Good catch; this is the right judgment, not an error.
  • Orderable columns: name and created_at both carry orderable: true; updated_at does not. Default created_at desc matches default_order_by. ✓
  • MCPServerType enum values MCP_SERVER_TYPE_REMOTE/MCP_SERVER_TYPE_MANAGED ✓. Response mcp_servers / next_page_token / total_size (AIP-158 estimate) ✓.

oauth_provider.proto (oauth-providers.adoc):

  • OAuthProviderService.ListOAuthProviders; permission dataplane_aigateway_oauthprovider_list ✓.
  • Filterable columns name, display_name, enabled, grant_types, created_at, updated_at — exact match to the proto comment. ✓
  • Orderable name, display_name, created_at all carry orderable: true; default created_at desc ✓.
  • OAuthGrantType values OAUTH_GRANT_TYPE_BROWSER_CONSENT (1) and OAUTH_GRANT_TYPE_TOKEN_EXCHANGE (3) — both documented; value 2 is reserved/never shipped, correctly not listed. ✓

Correctness:

  • xref target xref:gateway:connect-agent.adoc#authenticate-with-oidc-client-credentials[] resolves — the [[authenticate-with-oidc-client-credentials]] anchor exists at connect-agent.adoc:128. ✓
  • Connect endpoint paths /redpanda.api.adp.v1alpha1.{MCPServerService,OAuthProviderService}/{ListMCPServers,ListOAuthProviders} match the proto package and the documented pattern in budgets.adoc. ✓
  • Base URL https://aigw.<cluster-id>.clusters.rdpa.co matches the repo-wide convention (e.g. connect-agent.adoc:38, :102). AsciiDoc/table syntax is well-formed.

Minor:

  • oauth-providers.adoc — the response-fields sentence lists oauth_providers, next_page_token, and total_size, but ListOAuthProvidersResponse also carries callback_url (field 3, OUTPUT_ONLY) — the gateway-wide OAuth redirect URI, same field documented elsewhere on this page. Not inaccurate, just incomplete; consider mentioning it for parity with the response shape. (The MCP response has no such extra field, so create-server.adoc is complete as written.)

Policy/positioning: No maturity labels, support statements, or product positioning are touched. The PR itself flags the "should these raw v1alpha1 list endpoints be surfaced as a sanctioned user-facing workflow" question as a TODO for Michele / the docs team — that's the correct place to defer that call, and it's a positioning decision, not a source-accuracy issue. No action needed from me on it.


Generated by Claude Code


Set `order_by` (maximum 256 characters) to a comma-separated list of fields, each optionally suffixed with ` desc` (ascending by default), for example `created_at desc`. Orderable fields are the keyset columns `name` and `created_at`. An unsupported field returns `InvalidArgument`. Leave `order_by` empty to use the server default (`created_at desc`). The order is encoded into the page token, so keep it stable across a paged walk.

[,bash]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Minor — source-block style inconsistent with the rest of the repo.

What: This new block uses [,bash]. Every other code block in this file (line 151), in oauth-providers.adoc, and in the budgets.adoc SpendingService section this PR explicitly mirrors uses [source,bash].

Why: The two render identically in Asciidoctor, so this is harmless at build time — but it's a needless style split inside a file the PR otherwise keeps aligned with the precedent it cites.

Suggested fix: Change [,bash] to [source,bash].

One-shot prompt: In redpanda-data/adp-docs branch claude/sync-cloudv2-2026-06-28, change the source-block label at modules/connect/pages/create-server.adoc:231 from [,bash] to [source,bash].


Set `order_by` (maximum 256 characters) to a comma-separated list of fields, each optionally suffixed with ` desc` (ascending by default), for example `display_name` or `created_at desc`. Orderable fields are the keyset columns `name`, `display_name`, and `created_at`. An unsupported field returns `InvalidArgument`. Leave `order_by` empty to use the server default (`created_at desc`). The order is encoded into the page token, so keep it stable across a paged walk.

[,bash]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Minor — source-block style inconsistent with the rest of the repo.

What: This new block uses [,bash]. The existing block in this same file (line 150), the new section in create-server.adoc, and the budgets.adoc precedent all use [source,bash].

Why: Both forms render identically, so it's harmless at build time — but it's a needless style split within the file.

Suggested fix: Change [,bash] to [source,bash].

One-shot prompt: In redpanda-data/adp-docs branch claude/sync-cloudv2-2026-06-28, change the source-block label at modules/connect/pages/oauth-providers.adoc:225 from [,bash] to [source,bash].

// Source: cloudv2 proto/public/cloud/redpanda/api/adp/v1alpha1/mcp_server.proto (MCPServerService.ListMCPServers, ListMCPServersRequest.Filter.filter + order_by), added in commit 96e2387 (merge #27489). The proto comment lists `display_name` as a filterable column, but the MCPServer resource has no display_name field, so it's omitted here. Orderable columns and the default order come from the storage table options (orderable: name, created_at; default_order_by: created_at desc). Request shapes are proto-accurate but were not exercised against a live cluster.
== List and filter servers with the API

To enumerate MCP servers programmatically, call `MCPServerService.ListMCPServers`. Beyond the `name_contains` substring match, the request accepts an AIP-160 `filter` expression and an AIP-132 `order_by`, so you can scope and sort the list on the server (for example, to page through only the managed servers, newest first) instead of filtering the loaded page.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P3 Patch — inline example doesn't match the curl below it.

What: This intro says “for example, to page through only the managed servers, newest first,” but the curl example a few lines down filters type = MCP_SERVER_TYPE_REMOTE AND enabled = true.

Why: Minor teaching mismatch — the prose primes the reader for a managed-servers filter the example never demonstrates. (order_by: created_at desc does match “newest first,” so only the type half is off.)

Suggested fix: Align the two — either reword the parenthetical to describe remote + enabled, or switch the curl filter to type = MCP_SERVER_TYPE_MANAGED.

One-shot prompt: In redpanda-data/adp-docs branch claude/sync-cloudv2-2026-06-28, make the create-server.adoc:212 parenthetical and the ListMCPServers curl filter (~line 231) describe the same scenario.

- Use [source,bash] for the ListMCPServers and ListOAuthProviders curl
  blocks, matching the rest of the repo (Ben P2).
- Align the create-server intro with its example: filter the curl on
  MCP_SERVER_TYPE_MANAGED so it matches "only the managed servers,
  newest first" (Ben P3).
- Note callback_url in the ListOAuthProviders response fields for
  parity with the full response shape (critic).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@micheleRP micheleRP merged commit da041f3 into main Jun 29, 2026
3 of 4 checks passed
@micheleRP micheleRP deleted the claude/sync-cloudv2-2026-06-28 branch June 29, 2026 23:05

Copy link
Copy Markdown
Contributor Author

[adp-docs PR critic]

Re-review of the new commit 8bbd0ee ("apply review fixes") — still accurate, nothing blocking. The three changes are all small and correct; my prior minor note is resolved.

Changes verified:

  1. create-server.adoc + oauth-providers.adoc[,bash][source,bash]. Both forms are valid AsciiDoc; [source,bash] matches the rest of the repo (e.g. the rpk ai mcp create block earlier on the same page). Cosmetic, correct. ✓

  2. create-server.adoc — curl filter changed type = "MCP_SERVER_TYPE_REMOTE" AND enabled = truetype = "MCP_SERVER_TYPE_MANAGED". Source-accurate: type is a filterable column and MCP_SERVER_TYPE_MANAGED is a valid MCPServerType enum value (mcp_server.proto). The example now matches the intro prose ("page through only the managed servers, newest first") and the order_by: created_at desc. No loss of coverage — the compound/OR filter syntax is still demonstrated in the filter field-meaning table just above (type = "..." OR type = "..."). ✓

  3. oauth-providers.adoc — added callback_url to the response-fields sentence (my prior note). Verified against proto/public/cloud/redpanda/api/adp/v1alpha1/oauth_provider.proto: ListOAuthProvidersResponse.callback_url is field 3, OUTPUT_ONLY, and the proto comment ("Gateway's OAuth redirect URI… Paste this into the third-party OAuth app's Authorization callback URL field… Gateway-wide — same value for every provider") matches the doc wording ("gateway-wide callback_url (the OAuth redirect URI to register with your identity provider)"). ✓

Policy note: The fix commit incorporates two reviewer suggestions (commit message "Ben P2 / P3"). Both are pure style / example-alignment — choice of [source,bash] and which valid enum value to show in a runnable example — and neither touches maturity labels, product positioning, support statements, or any factual claim. They stay within the routine style / source-grounded territory that's safe to apply, so no escalation needed. No maturity/positioning content was changed by this commit.

The rest of the PR is unchanged from my first review and remains accurate against the proto source.


Generated by Claude Code

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.

4 participants