Add Veil Cash Base MCP plugin#73
Conversation
Add external-mcp stdio-only plugin for Veil Cash privacy pools on Base. Public register/deposit flows prepare calldata for send_calls; private withdraw, transfer, and x402 use the local Veil relay (none on Base MCP). Register plugin in SKILL.md, add privacy/shielded-payments tags, and extend plugin-spec conformance table. MCP package: @veil-cash/mcp@0.2.1. Co-authored-by: Cursor <cursoragent@cursor.com>
🟡 Heimdall Review Status
|
stephancill
left a comment
There was a problem hiding this comment.
Thanks for the submission. The plugin is spec-conformant, the MCP exposes the documented tools, and the deposit calldata maps correctly into send_calls. A few changes before merge:
Required
- Don't add the plugin to the registry/inventory. Please revert the
SKILL.mdplugins-table row and, inreferences/plugin-spec.md, the "Existing Plugin Conformance" table row and the "Veil Cash ships at 0.2.1" line. The registry and that conformance inventory are maintainer-owned and will be updated when the program is ready. Keep your net-new tag additions (privacy,shielded-payments) in the vocabulary list, and limit the rest of the PR toplugins/veil.md.
Minor
versionis set to0.2.1to mirror the package. The spec definesversionas the plugin-doc version (independent of upstream), but mirroring the package is reasonable — noting it only in case that wasn't intentional.- Register-before-deposit is a hard prerequisite: a deposit submitted before the deposit key is registered reverts. Make this explicit in
## Orchestration(or batch the register + deposit calls), rather than leaving it implied.
I'm proposing a change to the plugin spec to support defining local MCP servers in the frontmatter in #78
- Revert maintainer-owned registry/inventory edits per review: fully revert SKILL.md; in plugin-spec.md restore the "7 native plugins" conformance table (drop Veil row) and the version line. Keep only the privacy/shielded-payments tag-vocabulary additions. - Rewrite veil.md frontmatter to the base#78 transport: stdio schema (command/args/env, shell: required, risk += local-exec); add a ### local-exec Risks subsection. - Make register-before-deposit an explicit hard prerequisite in ## Orchestration > Deposit (a deposit before register reverts). - Pin the global-install command to @0.2.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Thanks for the detailed review @stephancill — pushed an update addressing the feedback: Required (done)
Minor
Re: #78 — I've rebased |
|
Thanks again for putting this together, @apexethdev. One operational note: this PR includes one or more commits that GitHub marks as unverified. We require verified commits for external plugin submissions so we can rely on GitHub signature and provenance checks before merging code into base/skills. Could you please open a new PR with verified commits? I cannot merge this PR as-is. Thank you. |
|
Opened #105 as the replacement with verified (signed) commits, per @youssefea's request — GitHub now marks the commit as Verified. Same content as here, freshly branched off current |
Summary
skills/base-mcp/plugins/veil.mdfor Veil Cash — a privacy pool for ETH and USDC on Base mainnet.skills/base-mcp/SKILL.mdand adds discovery tagsprivacyandshielded-paymentstoreferences/plugin-spec.md.@veil-cash/mcp@0.2.1(veildotcash/veil-mcp).Integration model
integration: external-mcp, stdio-only v1 — install local@veil-cash/mcpbeside Base MCP.requires.externalMcp.url: nullby design — privateVEIL_KEY, ZK proof building, and balance decryption must stay on the user's machine. A hosted HTTP MCP would be custodial and would centralize activity metadata.send_calls.none.Please confirm whether
externalMcp.url: nullis acceptable for stdio npm MCPs, or if Base prefers a different frontmatter representation.Test plan
## Submissiondocuments bothsend_calls(public) andnone(private relay)## Surface Routingstates chat-only stop behaviorMade with Cursor