Keydris Stripe MPP Seller MCP
README.md
# Keydris Stripe MPP Seller MCP
Seller-side Stripe Machine Payments Protocol server. It provides catalog
quotes, signed payment challenges, governed PaymentIntent creation, refunds,
and payment status through the Keydris policy gateway.
## Requirements
- Node.js 22.22.2 or newer
- A Keydris agent routed through an MCP Kit Reader connection
- A seller Stripe payment profile enabled by the agent policy
## Configure
Copy `.env.example` to `.env` for local development. Set these values in
Manufact for hosted deployments:
- `KEYDRIS_API_URL`
- `KEYDRIS_MCP_KEY`
- `STRIPE_NETWORK_ID`
- `SELLER_CHALLENGE_SIGNING_SECRET`
- `SELLER_CATALOG_JSON`
- `SELLER_CHALLENGE_TTL_SECONDS` (optional)
`KEYDRIS_API_URL` and `KEYDRIS_MCP_KEY` must be configured together with the
values issued when this MCP is enrolled. The reader uses that installation
identity to authenticate credential redemption, register its capabilities,
send a heartbeat, and report tool and provider outcomes. `KEYDRIS_GATEWAY_URL`
remains an unenrolled legacy fallback when neither enrollment variable is set.
Normal MCP requests carry the single-use token in
`params._meta["keydris/kit_action_token"]`.
The agent supplies amount, currency, method, and transaction type. It does not
supply a Keydris payment connection id. During redemption, Keydris selects the
single seller Stripe connection allowed by the runtime session's policy version
for purchase, refund, and payment-status calls. Calls fail closed when no seller
connection or more than one seller connection matches.
## Marketplace admission
The read-only `list_products` tool exposes each product's SKU, name, unit price,
and currency directly from `SELLER_CATALOG_JSON`. Keydris recognizes this common
seller-MCP pattern and binds each product to the server's `purchase` tool during
admission. Keydris obtains the MCP server version and protocol version during
normal MCP initialization, so sellers do not enter those values in the
marketplace form.
## Develop
```bash
npm install
npm run typecheck
npm run build
npm run dev
```
## Deploy to Manufact
```bash
npx --no-install mcp-use login
npm run deploy -- --name keydris-seller-mcp --open
```
Configure the seller environment variables in Manufact before exercising its
tools. After the first GitHub-backed deployment, pushes to the configured
production branch redeploy this server automatically.
## Kit Reader boundary
`src/keydris` is an unchanged vendored subset of the open-source Apache-2.0
Kit Reader. `src/keydris-payment` is this server's adapter for sending the
downstream target and payment context to the Keydris gateway. The backend alone
evaluates payment policy and chooses whether credentials may be released.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues