Skip to content

docs: correct SharePoint managed MCP page against source and production#97

Merged
kbatuigas merged 5 commits into
redpanda-data:mainfrom
birdayz:jb/sharepoint-mcp-fact-check
Jun 12, 2026
Merged

docs: correct SharePoint managed MCP page against source and production#97
kbatuigas merged 5 commits into
redpanda-data:mainfrom
birdayz:jb/sharepoint-mcp-fact-check

Conversation

@birdayz

@birdayz birdayz commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

What

Fact-check and correction pass on the SharePoint managed MCP page, plus a one-line accuracy fix to its managed-catalog row.

Why

The page shipped with claims the implementation does not back up: wrong search scope, missing file-transfer limits, and a consent-flow narrative that does not match the actual UI. Docs that misstate error behavior generate support tickets.

Every claim is now verified twice: against cloudv2 source at 1ce9017a06, and against a full end-to-end run on the production deployment (Entra app, OAuth provider, managed server, consent flow, all 8 tools, agent).

Implementation details

  • search_content is tenant-wide search over driveItem/listItem/site entity types with KQL syntax, not "across a site".
  • File transfer contract documented: UTF-8 text only, 10 MiB download cap, 4 MiB upload cap (Graph simple-upload limit), web_url for binaries.
  • Page sizes: default 100 / max 999 on list_sites, list_drive_items, list_list_items; 25/500 on search_content; list_lists takes none and excludes hidden lists.
  • OAuth flow corrected: the authorize_url points at the gateway's /oauth/v1/authorize endpoint, not Microsoft; the first-connect UX is the Connect banner on the server page, the Inspector only shows the raw error.
  • Create-form labels as production renders them: Create server, Auth > User OAuth, Required Scopes, Submit.
  • Troubleshooting: Graph errors surface only HTTP status plus error code; added token-expiry and byte-cap rows.
  • CLI example switched to protojson camelCase and the full @type URL, matching the other managed pages.
  • Intro, :description:, and catalog row no longer claim site/list write access; upload_file is the only write tool.
  • Added the source-verification comment convention used by the other managed pages.

Screenshots

Nine screenshots from a real end-to-end run. Five are standard Redpanda ADP UI captures; four are non-standard external screenshots of the Microsoft Entra admin center (third-party UI), knowingly deviating from the style guide's rule against screenshots of third-party products:

  • sharepoint-entra-register.png — Entra app registration form
  • sharepoint-entra-app-overview.png — Essentials pane showing client/tenant IDs
  • sharepoint-entra-client-secret.png — client secret creation dialog
  • sharepoint-entra-permissions.png — Graph permissions with admin consent granted

Same rationale as the MS Teams page in #95: the Entra setup spans multiple portal screens and is the hardest part of the flow. Captures are sanitized. These 4 join the 6 from #95 in the external screenshot inventory that needs tracking/refresh automation.

References

  • cloudv2 apps/aigw/internal/mcp/managed/mcps/sharepoint/, proto/mcps/redpanda/mcps/sharepoint/v1/, verified at 1ce9017a06
  • cloudv2 apps/aigw/docs/user-docs/sharepoint-mcp-setup.md

The SharePoint page made several claims the implementation does not
back up. Verified every statement against cloudv2 @ 1ce9017a06 and an
end-to-end run on the production deployment, then fixed what was wrong:

- search_content searches all of SharePoint (driveItem, listItem, site
  entity types, KQL syntax), not "across a site"
- file transfer is UTF-8 text only: 10 MiB download cap, 4 MiB upload
  cap (Graph simple-upload limit); binaries go through web_url
- page-size contract: 100 default / 999 max on the three paged list
  tools, 25/500 on search, none on list_lists; hidden lists dropped
- the authorize_url points at the gateway's /oauth/v1/authorize, not
  Microsoft; the Connect banner is the real first-connect UX, the
  Inspector only shows the raw error
- create-form labels as production renders them: Create server, Auth,
  User OAuth, Required Scopes, Submit
- Graph errors surface status + code only; added token-expiry and
  byte-cap troubleshooting rows
- CLI example uses protojson camelCase like the other managed pages
- intro no longer claims site/list write access; upload_file is the
  only write tool. Same fix on the catalog row.
@birdayz birdayz requested a review from a team as a code owner June 11, 2026 17:59
@netlify

netlify Bot commented Jun 11, 2026

Copy link
Copy Markdown

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

Name Link
🔨 Latest commit bcaa527
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-agentic-data-plane/deploys/6a2c2e656a4d4c0007e821dc
😎 Deploy Preview https://deploy-preview-97--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.

birdayz added 3 commits June 11, 2026 20:01
Nine screenshots from a real end-to-end run: the three Entra steps
that trip people up (app registration, where the client and tenant
IDs live, client secret creation), the Graph permissions with admin
consent granted, and the ADP side (marketplace picker, OAuth provider,
create form with payload preview, Connect banner, Inspector run).
Unquoted commas in image:: alt text truncate the alt at the first
comma and spill the remainder into bogus width/height attributes.
Quote all nine, drop the inner quotes in the picker alt, and tighten
the connect-banner alt to what the viewport actually shows.
@kbatuigas

Copy link
Copy Markdown
Contributor

PR Review: docs: correct SharePoint managed MCP page against source and production (#97)

Files reviewed: 2 .adoc files + 9 new screenshots
Overall assessment: High-quality fact-checking PR. Corrections are well-sourced against cloudv2 at a specific commit and verified against production. The added screenshots significantly improve the setup walkthrough.

What this PR does

Corrects factual inaccuracies in the SharePoint managed MCP server page by verifying every claim against cloudv2 source at 1ce9017a06 and an end-to-end production run. Key fixes: search_content scope corrected from "across a site" to tenant-wide, file transfer limits documented (10 MiB download / 4 MiB upload, UTF-8 only), page-size contracts added, OAuth consent flow corrected to describe the gateway's /oauth/v1/authorize endpoint and Connect banner UX, CLI example switched to protojson camelCase. Also adds 9 production screenshots and fixes AsciiDoc image alt-text quoting.

Jira ticket alignment

No linked Jira ticket found in the branch name, PR title, or PR body.

Critical issues (must fix)

None found.

Suggestions (should consider)

  1. [sharepoint.adoc:244] Inconsistent xref display text for the test-tools page
    • Current: xref:connect:test-tools.adoc[Test MCP tools]
    • Context: Line 196 uses the full page title [Test an MCP Server's Tools with the Inspector], and other managed pages (bamboohr, kafka) use empty brackets xref:connect:test-tools.adoc[].
    • Suggested: Use empty brackets for consistency (auto-resolves to the page title).

Non-standard external screenshots

This PR adds 4 screenshots of the Microsoft Entra admin center (third-party UI), similar to the accepted deviation in PR #95 (MS Teams):

  • sharepoint-entra-register.png (app registration form)
  • sharepoint-entra-app-overview.png (Essentials pane with client/tenant IDs)
  • sharepoint-entra-client-secret.png (client secret creation dialog)
  • sharepoint-entra-permissions.png (Graph permissions with admin consent granted)

The remaining 5 screenshots are standard Redpanda ADP UI captures (sharepoint-marketplace-picker.png, sharepoint-oauth-provider.png, sharepoint-create-form.png, sharepoint-connect-banner.png, sharepoint-inspector-list-sites.png).

Decision needed: Same rationale as MS Teams — the Entra setup spans multiple portal screens and is the hardest part of the flow. The captures appear sanitized and the page's third-party integration context covers UI drift. If accepted, these 4 join the 6 from PR #95 in the external screenshot inventory that needs tracking/refresh automation.

Impact on other files

No impact detected. Nav entry exists, no pages renamed/moved, no broken xrefs.

CodeRabbit findings worth considering

No CodeRabbit review found on this PR.

What works well

  • Source verification comment pinned to cloudv2 commit 1ce9017a06, following the team convention
  • 9 production screenshots with properly quoted alt text (Patch 3 fixes AsciiDoc comma parsing)
  • Catalog row updated to match corrected description
  • glossterm:token vault[] and glossterm:OAuth provider[] on first mention
  • CLI example in protojson camelCase consistent with other managed pages
  • Troubleshooting table expanded with actionable entries (403, byte-cap, token-expiry)
  • Beta status maintained per docs-team decision

@JakeSCahill

Copy link
Copy Markdown
Contributor

In modules/connect/images/sharepoint-connect-banner.png there's a line that says 'Connect to sharepoint to use this MCP server'. This is inconsistent with how we write SharePoint elsewhere on the page and looks like MSFT uses the camelcase too so we should fix in the UI.

@birdayz I also want to check: There's an environment dropdown in the left nav of these ADP screenshots. Will users also see this? Is adp-production just what we called our env for these tests?

I'll approve this PR for now, but we'll loop back in July to add proper automated screenshots.

@birdayz

birdayz commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

@JakeSCahill the screenshot is correct

@kbatuigas kbatuigas merged commit 79dfdcb into redpanda-data:main Jun 12, 2026
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