Upgrade MCP for IaC page: landscape survey, security section, schema fix - #20608
Conversation
- Add a cross-vendor MCP-for-infrastructure landscape survey (AWS Bedrock AgentCore, Azure MCP Server, Red Hat OpenShift/Ansible, community k8s-mcp servers) alongside Pulumi's own server, with original adoption stats from Zuplo and Stacklok surveys - Add a dedicated security/governance section addressing tool poisoning, prompt injection, and the NSA's May 2026 MCP security guidance, framed constructively around previews, scoped credentials, and policy as code - Rewrite the intro to define 'MCP for infrastructure as code' specifically (answer-first, 40-60 words) rather than MCP in general - Update MCP protocol facts to current state: spec version 2026-07-28, AAIF/ Linux Foundation governance, OpenAI and Google adoption dates - Rephrase headings as questions for AEO consistency - Expand FAQ from 7 to 9 questions covering the landscape and security additions - Fix schema_type from howto to auto so the page gets Article + author Person schema (via main-entity.html) instead of losing it to a HowTo override; FAQPage continues to apply automatically for what-is pages
|
Your site preview for commit a6fb5cc is ready! 🎉 http://www-testing-pulumi-docs-origin-pr-20608-a6fb5cc1.s3-website.us-west-2.amazonaws.com Changed pages: |
- Fix spec revision count: 2026-07-28 is the fourth revision since the November 2024 launch (2025-03-26, 2025-06-18, 2025-11-25 preceded it), not the third; the 2025-03-26 revision was missing from the list. - Remove the unverifiable same-day claim that AgentCore Gateway added 2026-07-28 spec support the same day the Bedrock AgentCore MCP server shipped (October 2, 2025) -- that ordering is chronologically impossible and the timeline could not be confirmed. - Fix a framing-drift misattribution: Zuplo's 17,000+ server count and its 72%/50% adopter-sentiment figures come from two different parts of Zuplo's research, not one 17,000-respondent survey. - Rename neo-bridge to neo-task-launcher across content/docs/ai/mcp-server/index.md (6 occurrences) so the canonical MCP server docs page agrees with this explainer and with the tool name exposed by the published @pulumi/mcp-server package. - Reword two FAQ headings that duplicated H2 section headings verbatim (Is MCP secure enough for production infrastructure? and How does Neo relate to MCP?), which was causing the FAQPage schema collector to emit duplicate Question entities for the same anchor. - Use the specific Anthropic announcement URL for the AAIF donation citation instead of the generic Linux Foundation homepage. Fixes applied per Claude pre-merge review on PR #20608.
|
@claude #new-review - addressed all 5 blocking items from the pre-merge review: fixed spec revision count/timeline, removed the unverifiable AgentCore same-day claim, fixed the Zuplo survey misattribution, renamed neo-bridge to neo-task-launcher across content/docs/ai/mcp-server/index.md to match this page, and reworded the two duplicate FAQ headings. Also fixed the AAIF citation to point at the specific Anthropic announcement. |
|
@claude #new-review Regenerating from scratch -- this PR has been stranded since 31 July and it wasn't the bot's fault. What happened: the fix push at 13:10 marked the previous review stale ( All five blockers were reportedly addressed in Generated by Claude Code |
Pre-merge Review — Last updated 2026-08-11T00:17:21ZTip Summary: This PR rewrites the Review confidence:
Investigation log
🔍 Verification trail74 claims extracted · 57 verified · 6 unverifiable · 0 contradicted · 1 framing-drift
Important Please don't hide, resolve, or delete this comment! It breaks things! 📖 How pre-merge review works — the full lifecycle, short-circuits, and escape hatches. |
🚨 Outstanding in this PRNo outstanding findings.
|
|
🤖 Review regenerated on @CamSoper's request. |
Blocking accuracy fixes (content/what-is/mcp-for-infrastructure-as-code.md):
- Setup step 2 and the "Do I need the Pulumi CLI" FAQ both wrongly implied
OAuth replaces the Pulumi access token on the hosted server. It doesn't --
the OAuth flow is where you paste the token. Corrected against
content/docs/ai/mcp-server/index.md, which had it right.
- "The tool surface is the same" was wrong: the hosted server has no
pulumi-cli-* tools (no deploy equivalent), and the local server lacks the
hosted-only org-wide tools like get-policy-violations and get-users.
Reworded the "running locally" paragraph and the "Can an MCP-connected
agent deploy real infrastructure?" FAQ to reflect this correctly.
Low-confidence items also addressed:
- Softened two "every"/"all of" absolute claims in the vendor-landscape
paragraph that the evidence didn't fully support.
- Added inline links for the Zuplo and Stacklok survey citations.
- Fixed CVE-2025-54136's classification: it's a config-trust RCE
("MCPoison"), not a tool-poisoning CVE.
- Corrected the Agentic AI Foundation co-founder list (Anthropic, Block,
and OpenAI, with named supporters) in both the body and FAQ -- naming
OpenAI alone misread the source announcement.
Style (content/docs/ai/mcp-server/index.md):
- Present tense for Neo's behavior ("Neo analyzes" not "Neo will analyze").
- Canonical "Pulumi Cloud console" naming.
Style (content/what-is/mcp-for-infrastructure-as-code.md):
- Cleared wordiness ("it is" -> contraction/rewrite), a difficulty
qualifier ("easy" to undo), and two weasel words ("several" -> "multiple").
Addresses the regenerated pre-merge review requested by @CamSoper on
PR #20608 after the original review was stranded by a stale-mark/
job-gate race.
|
@claude #update-review Fixed all 3 blocking items from the regenerated review:
Also addressed all low-confidence items: softened two absolute 'every'/'all of' claims, added inline citation links for the Zuplo/Stacklok stats, fixed the CVE-2025-54136 classification (config-trust RCE, not tool-poisoning), and cleared the style-lint findings (present tense, canonical 'Pulumi Cloud console' naming, wordiness/weasel-word nits). Pushed as commit 41d588f. |
|
🤖 Review updated on @workprentice[bot]'s request. |
…specific sources, clean wordiness, fix a stray leading-space line break
|
Addressed the remaining low-confidence items from the last review pass (non-blocking): linked the Zuplo 17k-server stat and Stacklok 41% stat to their specific source pages instead of generic homepages, and took the two style suggestions (a wordiness trim and an absolute-claim softening already applied). No outstanding blocking findings remain as of commit a6fb5cc. This should be ready to merge whenever a maintainer has a chance to look. |
|
@claude #update-review |
|
🤖 Review updated on @CamSoper's request. |
Summary
Upgrades
content/what-is/mcp-for-infrastructure-as-code.md— the existing "MCP for IaC" page — to close five gaps against the target spec: no cross-vendor landscape survey, no original statistics, no security/governance section, a stale MCP spec version, and a schema bug that silently dropped Article + author Person schema.The page already existed on master before this PR (
authors: alex-leventer,type: what-is); this is a substantial content upgrade of that page, not a new file, to avoid cannibalizing an existing URL.Schema fix
schema_type: howtofully replaces the page's main entity perlayouts/partials/schema/collectors/main-entity.html, so the page was emitting HowTo schema and losing Article + author Person schema entirely. FAQPage already applies automatically towhat-issingle pages regardless of this flag (graph-builder.html), so FAQ schema is unaffected either way. Changed toschema_type: auto, which restores Article + author Person viaarticle-entity.htmlalongside the automatic FAQPage, the correct combination for a definitional page with a named author.Content changes
Verification
/docs/ai/mcp-server/,/docs/ai/neo/integrations/mcp/,/docs/ai/cli-for-agents/,/docs/insights/policy/,/product/neo/,/what-is/what-is-agentic-infrastructure/,/what-is/what-is-an-internal-developer-platform/, plus the two blog links) resolve to real files in the current content tree.Sources
🧠 This PR was created by workprentice on behalf of the Pulumi SEO/AEO content team — no
get_me-equivalent tool was available in this session to resolve a specific requester's username.