Add vault payment MCP tools - #182
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0be41fc. Configure here.
rgarcia
left a comment
There was a problem hiding this comment.
looks good. the four focused tools make the input contracts clearer, and the shared schemas/projection keep the implementation cohesive. the fresh advertised-operation check, explicit event cursor, and published SDK integration all fit well.
approving the approach. please tighten error redaction and make the live-only behavior explicit before merge; left those comments inline, plus an optional suggestion for invocation hints.
validation: 383 tests passed locally; typecheck passed. no live payment flow was run.

Summary
Expose payment-vault preparation and observation through the existing MCP server using the published TypeScript SDK v0.100.0. These tools do not submit merchant payments or complete provider approvals.
manage_vaults,manage_vault_wallets,manage_vault_cards, andmanage_vault_itemsunder one configurablevaultstoolset, with existing authentication and project-scope enforcement.docs/vault-payments.md.Deployment dependency
API dependency kernel/kernel#3802 is merged and deployed to dev and production. It adds
features.vaults.enabledtoGET /org/entitlements; older APIs without this field safely hide the vault tools. The MCP changes are deployed to the PR preview, not MCP production.Validation
bun test: 447 passed, 0 failed. Includes MCP discovery/call tests with the real SDK and synthetic HTTP responses, plus input validation, project isolation, no-retry failures, safe output, and browser attachment tests.tools/listschemas without$refs and rejectswaitoutsideget/eventsbefore making an API request.eb31dde, including executing observation hints unchanged and continuing events from the returned cursor. No payment operations were invoked; the existing item inspected advertised no invocations.bunx tsc --noEmit: passed.git diff main...HEAD --check: passed. Reviewed the complete diff and removed redundant validation.bun run format:check: blocked only by the unchangedAGENTS.mdformatting warning.bun run build: compilation and TypeScript stages passed; page-data collection stopped becauseKERNEL_CLI_PROD_CLIENT_IDis not configured locally.No live payment credentials were created, no merchant payments were submitted, and no end-to-end provider payment flow was run.
Note
High Risk
Introduces live payment-credential MCP APIs and browser vault binding; mistakes in projection, entitlement routing, or agent guidance could expose payment data or enable unsafe spend flows despite safeguards.
Overview
Adds payment-vault MCP tools (prepare/observe credentials only—no merchant checkout submission) on
@onkernel/sdkv0.100.0, documented indocs/vault-payments.mdand README.Four tools (
manage_vaults,manage_vault_wallets,manage_vault_cards,manage_vault_items) register under avaultstoolset with Link/AgentCard specs, boundedwaiton get/events, API-advertisedinvoke, and creation-onlyvaultsonmanage_browsers(max 20, no retries when bound).Discovery is entitlement-gated: each authenticated request calls
resolveMcpVaultAccessagainstGET /org/entitlements(features.vaults.enabledmust be literallytrue); failures hide only vault tools. Toolset env allowlists cannot grant access.Responses use a field-projected public shape, safe URL filtering, curated API error codes, next-step hints with
requires_user_approval, and analytics tests that strip vault specs/aliases/action URLs from telemetry.Reviewed by Cursor Bugbot for commit eb31dde. Bugbot is set up for automated code reviews on this repo. Configure here.