{"ok":true,"site":{"host":"webmcp-ruddy.vercel.app","url":"https://webmcp-ruddy.vercel.app/","type":"live","desc":"A WebMCP-native APRA CPS 230 operational risk register. AI agents can read the register freely; every write passes through a human approval gate and is recorded in an audit trail.","tools":[{"name":"list_critical_operations","kind":"answer","impl":"imperative","description":"List Meridian Bank's critical operations with their operational tolerance metrics, current performance, and whether they are within, approaching, or breaching tolerance under APRA CPS 230.","title":"List Critical Operations","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"statusFilter":{"type":"string","enum":["within","approaching","breached"],"description":"Optional. Only return operations currently in this tolerance status."}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_control_gaps","kind":"answer","impl":"imperative","description":"Return controls that are not fully effective, with severity, owner, and the critical operation they support. Use this to find where the bank's CPS 230 control environment is weakest.","title":"Get Control Gaps","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Optional. Only return controls at this severity."},"criticalOperationId":{"type":"string","description":"Optional. Only return controls supporting this critical operation id, e.g. \"op-card-auth\"."}},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"assess_service_provider","kind":"act","impl":"imperative","description":"Assess a named service provider against CPS 230 material service provider obligations, returning materiality, concentration risk, contract review status, and open gaps.","title":"Assess Service Provider","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"providerName":{"type":"string","description":"The service provider name to look up. Fuzzy matching is applied, so partial names work."}},"required":["providerName"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"log_control_evidence","kind":"act","impl":"imperative","description":"Add a new piece of evidence to a control, recording something observed about its effectiveness. This changes the register and requires human approval before it is applied. Use this when you have gathered a fact relevant to whether a control is working.","title":"Log Control Evidence","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"controlId":{"type":"string","description":"The control id to attach evidence to, e.g. \"CTRL-04\"."},"description":{"type":"string","description":"A factual description of the evidence being added."}},"required":["controlId","description"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"raise_remediation_action","kind":"act","impl":"imperative","description":"Raise a new remediation action against a control to close a gap. This changes the register and requires human approval before it is applied. Use this after identifying a control gap that needs a tracked, owned fix.","title":"Raise Remediation Action","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"controlId":{"type":"string","description":"The control id this remediation action addresses, e.g. \"CTRL-07\"."},"owner":{"type":"string","description":"Job title or name of the person accountable for closing this action."},"dueDate":{"type":"string","description":"ISO date (YYYY-MM-DD) by which the action must be closed."},"rationale":{"type":"string","description":"Optional explanation of why this remediation action is being raised."}},"required":["controlId","owner","dueDate"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_risk_tolerance","kind":"act","impl":"imperative","description":"Change the disruption tolerance threshold for a critical operation. This changes the bank's stated risk appetite and requires human approval before it is applied. Use this only when there is a documented justification for revising the tolerance.","title":"Update Risk Tolerance","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"criticalOperationId":{"type":"string","description":"The critical operation whose tolerance threshold should change, e.g. \"op-card-auth\"."},"newThreshold":{"type":"string","description":"The proposed new tolerance threshold, e.g. \"45 minutes\"."},"justification":{"type":"string","description":"Why this tolerance threshold change is being proposed."}},"required":["criticalOperationId","newThreshold","justification"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"generate_board_summary","kind":"act","impl":"imperative","description":"Generate a board-ready operational resilience summary from the current register: tolerance breaches, critical control gaps, material service provider concentration, and open remediation actions. Use this when asked to prepare a summary, briefing, or report for the board or senior management.","title":"Generate Board Summary","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Finance & Crypto","favicon":"/favicons/webmcp-ruddy.vercel.app.svg","apiSurface":"spec","toolCount":7}}