Web console: realistic bank support-agent scenario#22
Merged
Conversation
Replace the filesystem tools (write/read/list) with a bank support agent: it may look up account balances and customer profiles, but policy forbids it from moving money or bulk-exporting records. The forbidden calls are denied at the gateway (403) and never reach the tool. Customer PII comes back masked. Adds a small mock core-banking MCP server with realistic canned records. Same real gateway, signed TRACE record, and offline verify as before. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #21. Makes the browser console a real-looking example instead of the filesystem toy.
Scenario
A bank support agent wired to its tools through the cMCP gateway:
get_balance,get_customer— permitted. Forwarded to the tool; customer PII comes back masked (ssn: ***-**-4821).transfer_funds,export_records— forbidden. Denied at the gateway (403POLICY_DENY); the tool is never contacted. The agent can read, but it cannot move money or bulk-export data.Close the session for the signed
GatewayClaim, verify it offline. Verified locally end to end:allowed 2 / denied 2,cmcp verify→partially_verified(6/7, hardware check absent in software-only mode).Changes
tools_server.py— mock core-banking MCP server with realistic records (replaces the shared filesystem server for this demo).policies/support-agent.cedar— permit reads, forbidTransferFunds/ExportRecords.catalog.json— the four tools with validdefinition_hash, fingerprints, and compliance/sensitivity classifications.🤖 Generated with Claude Code