[{"data":1,"prerenderedAt":378},["ShallowReactive",2],{"cycle-doc-design-c125-mcp-guide-rung5.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":15},{"id":5,"title":6},"c125","Operations Wizard",{"id":8,"label":9},"design","Design","mcp-guide-rung5.md","Rung 5: Claude Code walks stop 2 through the MCP tour guide",[13,14,13,14,13,14],"Person","Agent",{"type":16,"children":17},"root",[18,83,89,98,103,129,134,158,214,219,224,229,237,242,264,281,293,305,310,315,322,327,348,358,363,373],{"type":19,"tag":20,"props":21,"children":22},"element","p",{},[23,26,33,35,41,43,49,51,57,59,65,67,73,75,81],{"type":24,"value":25},"text","2026-10-29, thread ",{"type":19,"tag":27,"props":28,"children":30},"code",{"className":29},[],[31],{"type":24,"value":32},"mcp-guide",{"type":24,"value":34},". ",{"type":19,"tag":27,"props":36,"children":38},{"className":37},[],[39],{"type":24,"value":40},"claude -p",{"type":24,"value":42}," (Sonnet) with only the ",{"type":19,"tag":27,"props":44,"children":46},{"className":45},[],[47],{"type":24,"value":48},"qpoint-tour",{"type":24,"value":50}," server (",{"type":19,"tag":27,"props":52,"children":54},{"className":53},[],[55],{"type":24,"value":56},"--mcp-config",{"type":24,"value":58},", ",{"type":19,"tag":27,"props":60,"children":62},{"className":61},[],[63],{"type":24,"value":64},"--strict-mcp-config",{"type":24,"value":66},"), against the lab embedded in ",{"type":19,"tag":27,"props":68,"children":70},{"className":69},[],[71],{"type":24,"value":72},"\u002Fpages\u002Fphase4\u002Ftour-mcp",{"type":24,"value":74}," on ",{"type":19,"tag":27,"props":76,"children":78},{"className":77},[],[79],{"type":24,"value":80},":3000",{"type":24,"value":82},". The prompt names the embedded tab's id so no one else's tab moves. Three turns: the opening prompt, then \"Next.\" twice. The agent's text is verbatim; tool calls are listed as made.",{"type":19,"tag":84,"props":85,"children":87},"h2",{"id":86},"person",[88],{"type":24,"value":13},{"type":19,"tag":90,"props":91,"children":92},"blockquote",{},[93],{"type":19,"tag":20,"props":94,"children":95},{},[96],{"type":24,"value":97},"Walk me through how Qpoint covers MCP risk, using the tour on my screen. Pass tabId \"tab-suqygg\" on every tool call (that's my screen). Take it one step at a time: move the page, then tell me in two or three sentences what I'm looking at. Cover stop 2 (Watch, Tune, Drill) and stop there.",{"type":19,"tag":84,"props":99,"children":101},{"id":100},"agent",[102],{"type":24,"value":14},{"type":19,"tag":104,"props":105,"children":106},"ul",{},[107,119],{"type":19,"tag":108,"props":109,"children":110},"li",{},[111,117],{"type":19,"tag":27,"props":112,"children":114},{"className":113},[],[115],{"type":24,"value":116},"list-tours",{"type":24,"value":118}," {}",{"type":19,"tag":108,"props":120,"children":121},{},[122,128],{"type":19,"tag":27,"props":123,"children":125},{"className":124},[],[126],{"type":24,"value":127},"tour-state",{"type":24,"value":118},{"type":19,"tag":20,"props":130,"children":131},{},[132],{"type":24,"value":133},"Stop 2 starts at s2-watch. Moving there.",{"type":19,"tag":104,"props":135,"children":136},{},[137,148],{"type":19,"tag":108,"props":138,"children":139},{},[140,146],{"type":19,"tag":27,"props":141,"children":143},{"className":142},[],[144],{"type":24,"value":145},"go-to-step",{"type":24,"value":147}," {\"stepId\": \"s2-watch\"}",{"type":19,"tag":108,"props":149,"children":150},{},[151,157],{"type":19,"tag":27,"props":152,"children":154},{"className":153},[],[155],{"type":24,"value":156},"read-step",{"type":24,"value":147},{"type":19,"tag":20,"props":159,"children":160},{},[161,167,169,175,177,183,184,190,191,197,198,204,206,212],{"type":19,"tag":162,"props":163,"children":164},"strong",{},[165],{"type":24,"value":166},"Watch (stop 2, first step).",{"type":24,"value":168}," You're on the detail page for the ",{"type":19,"tag":27,"props":170,"children":172},{"className":171},[],[173],{"type":24,"value":174},"github",{"type":24,"value":176}," MCP server. The five tools ringed on the page are the ones that send, delete or execute: ",{"type":19,"tag":27,"props":178,"children":180},{"className":179},[],[181],{"type":24,"value":182},"add_issue_comment",{"type":24,"value":58},{"type":19,"tag":27,"props":185,"children":187},{"className":186},[],[188],{"type":24,"value":189},"delete_branch",{"type":24,"value":58},{"type":19,"tag":27,"props":192,"children":194},{"className":193},[],[195],{"type":24,"value":196},"delete_file",{"type":24,"value":58},{"type":19,"tag":27,"props":199,"children":201},{"className":200},[],[202],{"type":24,"value":203},"delete_repo",{"type":24,"value":205}," and ",{"type":19,"tag":27,"props":207,"children":209},{"className":208},[],[210],{"type":24,"value":211},"run_workflow",{"type":24,"value":213},". The panel says your agents have made 133 of those calls, 32 different people made them, and one tool has never been called.",{"type":19,"tag":20,"props":215,"children":216},{},[217],{"type":24,"value":218},"The point is that a server can be sanctioned and healthy and still do damage with tools it's allowed to use. So the first job is to see what it actually does. Qpoint can already observe least privilege per tool and the transport (ASI02 #1 and ASI07 #1). It has a record of every invocation (ASI02 #8). What stays with you is why the agent picked a tool, and what GitHub's own token can do inside GitHub.",{"type":19,"tag":20,"props":220,"children":221},{},[222],{"type":24,"value":223},"Say when you're ready and I'll move to Tune.",{"type":19,"tag":84,"props":225,"children":227},{"id":226},"person-1",[228],{"type":24,"value":13},{"type":19,"tag":90,"props":230,"children":231},{},[232],{"type":19,"tag":20,"props":233,"children":234},{},[235],{"type":24,"value":236},"Next.",{"type":19,"tag":84,"props":238,"children":240},{"id":239},"agent-1",[241],{"type":24,"value":14},{"type":19,"tag":104,"props":243,"children":244},{},[245,255],{"type":19,"tag":108,"props":246,"children":247},{},[248,254],{"type":19,"tag":27,"props":249,"children":251},{"className":250},[],[252],{"type":24,"value":253},"next-step",{"type":24,"value":118},{"type":19,"tag":108,"props":256,"children":257},{},[258,263],{"type":19,"tag":27,"props":259,"children":261},{"className":260},[],[262],{"type":24,"value":156},{"type":24,"value":118},{"type":19,"tag":20,"props":265,"children":266},{},[267,272,274,279],{"type":19,"tag":162,"props":268,"children":269},{},[270],{"type":24,"value":271},"Tune (stop 2, second step).",{"type":24,"value":273}," Same ",{"type":19,"tag":27,"props":275,"children":277},{"className":276},[],[278],{"type":24,"value":174},{"type":24,"value":280}," page, now showing the controls you'd use to tighten it. The rings mark three areas: the list of tools this server is allowed to use, the verbs that wait for a person to approve them, and a Change impact panel. Those are the two controls the model doesn't have on its own.",{"type":19,"tag":20,"props":282,"children":283},{},[284,286,291],{"type":24,"value":285},"Change impact replays last week against the new rule. If deletes on ",{"type":19,"tag":27,"props":287,"children":289},{"className":288},[],[290],{"type":24,"value":174},{"type":24,"value":292}," needed a person, 14 calls would have paused, 3 people would have been affected, and 0 would have been blocked. Nothing applies until you publish, because everything lands in the Policy Config draft.",{"type":19,"tag":20,"props":294,"children":295},{},[296,298,303],{"type":24,"value":297},"The ",{"type":19,"tag":162,"props":299,"children":300},{},[301],{"type":24,"value":302},"Stage approval at Enforce",{"type":24,"value":304}," button in the panel is yours to press. It puts P-TOOL-APPROVAL at Enforce into the draft, and nothing goes live from it. I haven't pressed it. Who approves, and whether they read before they click, stays with you.",{"type":19,"tag":20,"props":306,"children":307},{},[308],{"type":24,"value":309},"Say the word and I'll move to Drill.",{"type":19,"tag":84,"props":311,"children":313},{"id":312},"person-2",[314],{"type":24,"value":13},{"type":19,"tag":90,"props":316,"children":317},{},[318],{"type":19,"tag":20,"props":319,"children":320},{},[321],{"type":24,"value":236},{"type":19,"tag":84,"props":323,"children":325},{"id":324},"agent-2",[326],{"type":24,"value":14},{"type":19,"tag":104,"props":328,"children":329},{},[330,339],{"type":19,"tag":108,"props":331,"children":332},{},[333,338],{"type":19,"tag":27,"props":334,"children":336},{"className":335},[],[337],{"type":24,"value":253},{"type":24,"value":118},{"type":19,"tag":108,"props":340,"children":341},{},[342,347],{"type":19,"tag":27,"props":343,"children":345},{"className":344},[],[346],{"type":24,"value":156},{"type":24,"value":118},{"type":19,"tag":20,"props":349,"children":350},{},[351,356],{"type":19,"tag":162,"props":352,"children":353},{},[354],{"type":24,"value":355},"Drill (stop 2, last step).",{"type":24,"value":357}," The tour is back on the home dashboard. The two dashed frames are examples floated over the real tiles. Sensitive data shows an example in place of your live 0, and findings shows one in place of your live 7. The scenario is \"an agent sends a customer's SSN to an MCP server nobody approved.\"",{"type":19,"tag":20,"props":359,"children":360},{},[361],{"type":24,"value":362},"Based on your settings today, two findings would be raised. The first is high severity: sensitive data sent to an unsanctioned server. Its policy, P-SENS-DETECT, is in Observe, so it detects but doesn't block. The second is medium: an unsanctioned MCP server in use. P-MCP is in Enforce, so it blocks the server. You'd get two Slack posts to #sec-alerts and one POST to your webhook. Nobody would be paged, because PagerDuty isn't connected.",{"type":19,"tag":20,"props":364,"children":365},{},[366,371],{"type":19,"tag":162,"props":367,"children":368},{},[369],{"type":24,"value":370},"Simulate violation",{"type":24,"value":372}," is yours to press. It sends test messages marked as a drill to those channels and leaves your findings and evidence alone. I haven't pressed it. Who answers the alert, and how fast, is yours.",{"type":19,"tag":20,"props":374,"children":375},{},[376],{"type":24,"value":377},"That covers Watch, Tune and Drill for stop 2, so I'll stop here. Pressing the button would move the tour to the \"Drill sent\" step.",1794599466515]