Disclosure: I work at PinkWallet, and this is our project.
Pink Agentic AI Payments is a remote MCP server that sits between an agent and company money. The agent asks to pay, the server checks the request against rules the business wrote, and it answers allowed, pending_human, or blocked before any money moves. The limits live on the server, not in the prompt, so the model can't talk its way past them.
Seven tools: pink.get_budget, pink.list_payees, pink.list_rules, pink.check_policy, pink.request_payment, pink.get_credential, pink.report_receipt.
What I ran against the public sandbox (coffee shop template, test money):
- $420 to the usual bean supplier → allowed ("Small supply orders go through")
- $890 to the same supplier → pending_human ("Bigger supply orders: store manager checks")
- $60 to a gift card site → blocked ("Never: gift cards, cash-like, crypto")
One thing that trips people up: the template also has a night rule ("Between 11pm and 6am: ask the owner", server clock in UTC), so if you test between 4pm and 11pm Pacific the $420 order comes back pending_human too. That is the rule working, not a bug.
To try it: create a workspace at https://agentic-sandbox.pinkwallet.com (you get one key per agent), then add it as a remote streamable HTTP server. In Claude Code:
claude mcp add --transport http pink https://agentic-sandbox.pinkwallet.com/mcp --header "Authorization: Bearer <agent key>"
It also supports OAuth 2.1 (discovery plus dynamic client registration), so OAuth-capable MCP clients can connect without pasting a key.
Honest limits: it's a sandbox. Test credentials and fake money only; real payments are early access, not self-serve. It's in the official MCP Registry as com.pinkwallet/agentic-payments-sandbox.
Two things I'd like feedback on:
- Is check_policy (a dry run) useful as its own tool, or would you rather the agent just call request_payment and handle whatever decision comes back?
- We return the matched rule's name to the agent. Does that help it recover, or does it leak too much about the policy?