Server data from the Official MCP Registry
Let AI agents add Yolfi crypto checkout, paylinks, webhooks, and status checks.
Let AI agents add Yolfi crypto checkout, paylinks, webhooks, and status checks.
Remote endpoints: streamable-http: https://app.yolfi.com/mcp
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: YOLFI_API_KEY
Environment variable: YOLFI_WEBHOOK_SECRET
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.

AI agent payment integration for crypto checkout. Yolfi Agent Kit is a JSON-first SDK, CLI, Agent Skill, and MCP server that lets AI coding agents add stablecoin checkout, payment links, payment status checks, webhook verification, and webhook-based access logic to applications through Yolfi.
Use @yolfi/agent when Codex, Claude Code, Cursor, OpenClaw, an MCP host, or a custom AI agent can build the product but still needs a reliable payment API to register a Yolfi workspace, create a paylink, configure webhooks, and verify crypto payment status without sending the user through manual dashboard setup.
Website | Agent Kit | Docs | npm | GitHub | Glama | Guide
Read this package guide in: English, Español, Deutsch, Français, 简体中文, Русский, हिन्दी, Türkçe, 한국어, 日本語.
llms.txt, docs, examples, and integration guides.Yolfi handles crypto payment infrastructure, hosted checkout, paylinks, public payment invoices, organization settings, settlement wallet configuration, and webhook delivery. Your agent handles project inspection, code changes, user confirmation, and target-app integration.
X-Yolfi-Signature.This package includes the Yolfi Payments Skill in SKILL.md. Use it with coding agents when the user asks to add crypto payments, payment links, checkout, subscriptions, donations, paid downloads, paid access, or webhook-based entitlements.
Recommended safe workflow:
inspect app -> setup agent -> browser authorization -> checkin -> auth status -> ask user for wallet and price -> configure organization -> create or reuse paylink -> add checkout -> add webhook verification -> verify status
The skill tells agents what they may do automatically and what they must ask the user to decide. Agents must never invent wallet addresses, prices, plans, currencies, secret storage locations, or destructive paylink actions.
Install in a project:
npm install @yolfi/agent
Or run without installing:
npx -y @yolfi/agent help
Start the stdio MCP server:
npx -y @yolfi/agent mcp
For local development inside this repository:
node packages/yolfi-agent/src/cli.js help
The preferred local flow opens browser authorization and stores the resulting yolfi_agent_* credential in ~/.yolfi/config.json:
npx -y @yolfi/agent setup --agent codex
# Open the returned loginUrl and finish authentication.
npx -y @yolfi/agent checkin --agent codex
npx -y @yolfi/agent auth:status
The config directory and file are created with 0700 and 0600 permissions where supported. Set YOLFI_CONFIG_HOME to override the config directory in isolated development or CI environments.
Explicit credentials still work and take precedence over stored credentials:
export YOLFI_API_KEY="yolfi_agent_..."
The CLI and local MCP server also support email-confirmed signup for a new Yolfi user. The agent must ask the user to confirm the email and project name before registration:
export YOLFI_REGISTRATION_IDEMPOTENCY_KEY="76cd8dd3-b92a-42d6-ae2f-bc013752cf30"
yolfi auth:agent-register \
--email "owner@example.com" \
--project-name "Space Shop" \
--agent-name "Codex" \
--integration-intent accept_payments \
--ref npm \
--idempotency-key "$YOLFI_REGISTRATION_IDEMPOTENCY_KEY"
The first call creates a pending signup, emails the owner a confirmation link, and stores a protected check-in token locally. After the owner opens that link, run the exact same command again. The second call checks the pending signup, stores the one-time yolfi_agent_* credential in the protected local config, and removes the full credential from CLI/MCP output.
This command is signup-only. If the email already has a Yolfi account, use OAuth or local browser setup instead. If the pending signup expires or fails, use yolfi setup followed by yolfi checkin for the provisioned account rather than trying to register the same email again.
The CLI generates and persists a UUID when --idempotency-key is omitted. It automatically reuses that key and the protected check-in token for the repeated command and after a lost response. A new registration intent may pass a different 16–200 character key. The MCP yolfi_agent_register tool follows the same behavior through its optional idempotencyKey argument: call it once to send the email and again after confirmation.
Never print a full API key in logs, commit it, or write it into target-project documentation. See Agent and MCP setup for host-specific instructions.
Check the workspace linked to the API key:
yolfi auth:status
Configure settlement wallets after the user provides wallet addresses:
yolfi settlement:configure --json examples/organization.settlement.json
Configure one or more webhook endpoints. Deliveries, retries, and signing secrets are independent. The CLI stores each create/rotate secret in the protected local Yolfi config and prints only redacted metadata:
yolfi webhooks:add \
--name "Application" \
--url https://example.com/api/yolfi/webhook \
--adapter NONE
yolfi webhooks:add \
--name "Analytics endpoint" \
--url https://analytics.example/api/payments/yolfi/<websiteId>/webhook \
--adapter NONE \
--metadata-filters '{"website_id":"<websiteId>"}'
yolfi webhooks:list
Endpoint create and update payloads accept optional flat metadataFilters string maps (at most 10 entries; keys at most 100 characters; values at most 255 characters); deliveries must match every configured key/value. Analytics routing uses the single key website_id; do not introduce alternative analytics keys. The CLI accepts filters as validated JSON through --metadata-filters. Use webhooks:update --id <endpointId> --json endpoint.json (optionally with --metadata-filters '{"website_id":"<websiteId>"}') to edit or enable/disable an analytics endpoint. webhooks:remove requires --confirm; endpoints with delivery history are disabled rather than deleting their audit relationship.
List existing paylinks before creating duplicates:
yolfi paylinks:list --page 1 --rows 10
Create a one-time payment link:
yolfi paylinks:create --json examples/paylink.one-time.json
Create a public payment invoice from a paylink:
yolfi payments:create --json examples/payment.create.json
The invoice body requires paylinkId, network, symbol, and customerEmail. It also accepts optional
clientReferenceId (your internal customer/order reference, returned as
customer.clientReferenceId in webhooks), customerName, customerPhone, customerDateOfBirth,
customerAddress, subscriptionId, language, and metadata.
Hosted Paylink URLs accept the same payment-scoped metadata through explicitly namespaced query
parameters such as metadata[order_id]=order-123. Metadata keys must use letters, numbers,
underscores, or dashes; values passed through the hosted URL are strings. The payment API also
accepts finite numbers and booleans. Metadata is limited to 20 keys, 64 characters per key, and
500 characters per string value.
Use a stable customer or application-user id for clientReferenceId when webhook handlers must
resolve subscription ownership. Native (NONE) payloads expose it as
data.customer.clientReferenceId; Stripe-compatible Checkout Session payloads use
data.object.client_reference_id, Stripe-compatible Invoice and Subscription payloads use
data.object.metadata.client_reference_id, and Lemon Squeezy-compatible payloads use
meta.custom_data.client_reference_id.
Check payment status:
yolfi payments:status --id <paymentId>
Every CLI command prints JSON so agents can parse results without scraping terminal text.
Yolfi provides both a production streamable HTTP endpoint and a local stdio server:
Remote: https://app.yolfi.com/mcp
Local: npx -y @yolfi/agent mcp
The packaged Codex and Claude plugins use the bundled local stdio server so agent setup, check-in, and new-user registration are available as MCP tools. A manually configured remote connection uses OAuth managed by the MCP host and does not expose those local credential tools.
Codex remote:
codex mcp add yolfi --url https://app.yolfi.com/mcp
codex mcp login yolfi
Codex local:
codex mcp add yolfi -- npx -y @yolfi/agent mcp
Claude Code remote:
claude mcp add --transport http yolfi https://app.yolfi.com/mcp
Then open Claude Code, run /mcp, select Yolfi, and complete browser authorization.
Claude Code local:
claude mcp add yolfi -- npx -y @yolfi/agent mcp
Generic local MCP configuration:
{
"mcpServers": {
"yolfi": {
"command": "npx",
"args": ["-y", "@yolfi/agent", "mcp"]
}
}
}
After connecting a local server, call yolfi_agent_setup_start with a stable agent slug, open the returned loginUrl, then call yolfi_agent_checkin with the same slug. The local server stores the connected credential securely. For CI and other non-interactive environments, provide a manually managed YOLFI_API_KEY instead.
For ChatGPT desktop, open Settings → MCP servers → Add server, choose Streamable HTTP, enter https://app.yolfi.com/mcp, save, and restart. ChatGPT web uses a remote MCP-backed plugin in Work mode; it cannot start the local stdio command or read local Codex configuration. Detailed ChatGPT developer-mode and plugin steps are in docs/agent-setup.md.
Available MCP tools:
yolfi_agent_setup_startyolfi_agent_checkinyolfi_agent_registeryolfi_auth_statusyolfi_organization_getyolfi_organization_updateyolfi_settlement_configureyolfi_webhooks_configureyolfi_webhooks_listyolfi_webhooks_updateyolfi_webhooks_rotate_secretyolfi_webhooks_deleteyolfi_paylinks_createyolfi_paylinks_listyolfi_paylinks_getyolfi_paylinks_disableyolfi_payments_createyolfi_payments_statusyolfi_webhooks_verifyWebhook create/rotate tools save the one-time signing secret in the protected local Yolfi config and never return its plaintext through CLI stdout or an MCP transcript. Pass endpointId to yolfi_webhooks_verify to use that stored secret. CI and deployed services can provide an explicitly managed YOLFI_WEBHOOK_SECRET instead.
Destructive tools such as yolfi_paylinks_disable must only run after explicit user confirmation.
Agents can write a payload file and pass it to the CLI:
{
"name": "Premium Download",
"description": "One-time access to a digital product.",
"type": "ONE_TIME",
"price": "19",
"currency": "USD",
"collectEmail": true,
"metadata": {
"source": "agent",
"productSlug": "premium-download"
}
}
Then run:
yolfi paylinks:create --json ./paylink.json
Agents should keep the returned paylink ID in env/config for the target app and use Yolfi public payment endpoints for customer-facing checkout and status polling.
yolfi setup --agent codex
yolfi checkin --agent codex
yolfi auth:agent-register --email "owner@example.com" --project-name "App" --agent-name "Codex" --integration-intent accept_payments --idempotency-key <same-key-on-retry>
yolfi auth:status
yolfi organization:update --json organization.json
yolfi settlement:configure --json settlement.json
yolfi webhooks:configure --url https://example.com/api/yolfi/webhook --adapter STRIPE
yolfi paylinks:create --json paylink.json
yolfi paylinks:list --page 1 --rows 10
yolfi paylinks:get --id <paylinkId>
yolfi paylinks:disable --id <paylinkId> --confirm
yolfi payments:create --json payment.json
yolfi payments:status --id <paymentId>
yolfi webhooks:verify --payload payload.json --signature <signature>
yolfi mcp
Yolfi Agent Kit maps agent actions to the canonical Yolfi API:
| Agent action | Backend endpoint | Auth |
|---|---|---|
| Start browser agent setup | POST /api/agent/setup/start | public; returns short-lived check-in state |
| Check browser agent setup | POST /api/agent/setup/checkin | public check-in token; returns credential once when connected |
| Register a new Yolfi user and workspace | POST /api/auth/agent/register | public signup-only flow; confirmed new email required |
| Check account | GET /api/private/organization/current | bearer API key |
| Configure organization and settlement wallets | PUT /api/private/organization/current | bearer API key |
| Create webhook endpoint | POST /api/private/organization/webhook-endpoints | bearer API key |
| Get API key status | GET /api/private/organization/api-key | bearer API key or cookie |
| Create paylink | POST /api/private/paylinks/create | bearer API key |
| List paylinks | GET /api/private/paylinks | bearer API key |
| Get paylink | GET /api/private/paylinks/:id | bearer API key |
| Edit paylink | POST /api/private/paylinks/edit | bearer API key |
| Disable paylink | POST /api/private/paylinks/disable | bearer API key plus confirmation |
| Public paylink checkout info | GET /api/public/paylinks/:id | public |
| Create public payment invoice | POST /api/public/payments | public |
| Payment status | GET /api/public/payments/:id | public |
| Merchant transactions | GET /api/private/transactions | bearer API key |
import { YolfiClient } from "@yolfi/agent";
const yolfi = new YolfiClient({
apiKey: process.env.YOLFI_API_KEY,
});
const account = await yolfi.authStatus();
const paylink = await yolfi.createPaylink({
name: "Premium Download",
description: "One-time access to a digital product.",
type: "ONE_TIME",
price: "19",
currency: "USD",
collectEmail: true,
metadata: {
source: "agent",
productSlug: "premium-download",
},
});
console.log(account.success);
console.log(paylink.data?.id ?? paylink.id);
Yolfi signs webhook payloads with X-Yolfi-Signature. Verify the raw request body before parsing and trusting the event:
import { verifyWebhookSignature } from "@yolfi/agent";
const valid = verifyWebhookSignature(
rawBody,
request.headers["x-yolfi-signature"],
process.env.YOLFI_WEBHOOK_SECRET,
);
if (!valid) {
throw new Error("Invalid Yolfi webhook signature");
}
Do not treat a frontend redirect as proof of payment. Use verified webhooks and Yolfi payment status checks.
Yolfi Agent Kit is designed for agentic payment workflows where the user gives a high-level instruction like "add payments", "sell this digital product", "add a donation button", "charge for this game", or "gate this feature behind payment".
Recommended agent path:
auth:status -> organization:get -> paylinks:list -> user approval -> settlement:configure -> webhooks:configure -> paylinks:create -> install checkout -> verify webhook -> payments:status
The examples/ folder includes copy-paste workflows and JSON payloads:
examples/codex/add-yolfi-payments.mdexamples/claude-code/add-yolfi-payments.mdexamples/cursor/add-yolfi-payments.mdexamples/paylink.one-time.jsonexamples/paylink.recurring.jsonexamples/organization.settlement.jsonexamples/payment.create.jsonexamples/webhook.stripe-adapter.json--endpoint-id, MCP endpointId, or the explicitly managed YOLFI_WEBHOOK_SECRET. The organization API key is never used as a signing secret.Developers and agent builders often look for:
Yolfi Agent Kit is the package entry point for those workflows.
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption