Skip to main content
Glama
yolfinance
by yolfinance

Yolfi Agent Kit: AI agent payment integration for crypto checkout, payment links, MCP, CLI, SDK, and webhooks

Yolfi Agent Kit

npm version license Node.js 18+ Yolfi MCP server Yolfi MCP score

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

Languages

Read this package guide in: English, Español, Deutsch, Français, 简体中文, Русский, हिन्दी, Türkçe, 한국어, 日本語.

Related MCP server: remit.md MCP Server

Why Developers Use It

  • Add AI agent payments to SaaS products, games, marketplaces, donation pages, digital downloads, internal tools, and agent-built apps.

  • Give coding agents a safe payment workflow: inspect the app, authorize or reuse a workspace, ask for wallet and price decisions, create paylinks, install checkout, verify webhooks, and check payment status.

  • Use one package for MCP crypto payments, JSON CLI automation, JavaScript SDK calls, webhook signature verification, and agent-readable instructions.

  • Build with the existing Yolfi API instead of maintaining a second agent-only payment API.

  • Help agents discover Yolfi through npm, GitHub, MCP directories, 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.

What It Can Add To An App

  • Hosted crypto checkout through Yolfi paylinks.

  • One-time payment links for digital products, credits, files, tools, or game items.

  • Recurring or subscription-style payment link setup when the Yolfi account supports it.

  • Donation and creator-support payment pages.

  • Server routes that create public payment invoices from a paylink.

  • Payment status polling through Yolfi public payment endpoints.

  • Webhook handlers that verify X-Yolfi-Signature.

  • Webhook-based entitlement logic that unlocks access only after confirmed payment events.

  • Agent workflows for Codex, Claude Code, Cursor, OpenClaw, and custom automation.

Agent Skill

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

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

Authentication

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.

Quick Start

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.

MCP Server For Crypto Payments

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_start

  • yolfi_agent_checkin

  • yolfi_agent_register

  • yolfi_auth_status

  • yolfi_organization_get

  • yolfi_organization_update

  • yolfi_settlement_configure

  • yolfi_webhooks_configure

  • yolfi_webhooks_list

  • yolfi_webhooks_update

  • yolfi_webhooks_rotate_secret

  • yolfi_webhooks_delete

  • yolfi_paylinks_create

  • yolfi_paylinks_list

  • yolfi_paylinks_get

  • yolfi_paylinks_disable

  • yolfi_payments_create

  • yolfi_payments_status

  • yolfi_webhooks_verify

Webhook 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.

JSON Workflow For Agents

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.

Commands

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

Endpoint Adapter Matrix

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

SDK

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);

Webhook Verification

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.

Use With AI Coding Agents

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".

  • Codex: inspect the repo, add checkout routes/components, configure env vars, and wire verified webhooks into existing entitlement logic.

  • Claude Code: use the MCP server and Agent Skill to add payment links, server handlers, and status checks with user approval for wallet and price decisions.

  • Cursor: add payment UI and backend handlers while keeping Yolfi keys out of committed source.

  • OpenClaw and custom agents: connect product-building workflows to Yolfi through CLI, SDK, MCP tools, and JSON payloads.

Recommended agent path:

auth:status -> organization:get -> paylinks:list -> user approval -> settlement:configure -> webhooks:configure -> paylinks:create -> install checkout -> verify webhook -> payments:status

Agent Recipes

The examples/ folder includes copy-paste workflows and JSON payloads:

  • examples/codex/add-yolfi-payments.md

  • examples/claude-code/add-yolfi-payments.md

  • examples/cursor/add-yolfi-payments.md

  • examples/paylink.one-time.json

  • examples/paylink.recurring.json

  • examples/organization.settlement.json

  • examples/payment.create.json

  • examples/webhook.stripe-adapter.json

What This Package Is Not

  • It is not a separate Yolfi dashboard.

  • It is not a wallet provider.

  • It is not a second payment API with duplicated business logic.

  • It does not invent settlement wallets, product names, prices, currencies, subscriptions, or donation amounts.

  • It does not bypass user confirmation for destructive actions.

  • It does not store secrets in source code.

  • It does not use redirects as payment confirmation.

Current Limits

  • ChatGPT web can use only the remote MCP endpoint through a plugin; it cannot start the local stdio package.

  • Each webhook endpoint has its own signing secret. The CLI/MCP create and rotate flows store it locally without printing it; verification uses --endpoint-id, MCP endpointId, or the explicitly managed YOLFI_WEBHOOK_SECRET. The organization API key is never used as a signing secret.

  • Browser setup returns the agent credential once at successful check-in. The local CLI stores it in the protected Yolfi config; remote hosts manage authentication separately.

  • Final payment confirmation should come from verified webhooks and payment status checks, not from UI redirects.

  • MCP directory approval is separate from this package. Do not claim official directory approval until a listing is accepted.

Search Phrases This Package Serves

Developers and agent builders often look for:

  • AI agent payment integration

  • AI coding agent payments

  • MCP payment server

  • MCP crypto payments

  • crypto checkout API for agents

  • payment links for AI agents

  • stablecoin checkout for apps

  • webhook payment verification

  • agentic payment workflow

  • add crypto payments with Codex, Claude Code, or Cursor

Yolfi Agent Kit is the package entry point for those workflows.

Available Tools

13 tools
yolfi_agent_registerRegister Yolfi Workspace For AgentAInspect

Register a Yolfi workspace through the public agent registration endpoint when no YOLFI_API_KEY exists yet. This returns an API key once; store it in an ignored env file or secret manager before using private tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNameYesName of the coding agent or MCP host, for example Codex, Claude Code, Cursor, or OpenClaw.
projectNameYesUser-approved product or project name for the Yolfi workspace.
projectUrlNoOptional public or local URL of the target product, if known.
integrationIntentNoUser-approved reason for the integration. Defaults to accept_payments when omitted.accept_payments
languageNoOptional preferred language code for agent-facing responses.
refNoOptional source tag such as mcp, glama, npm, docs, codex, claude-code, or cursor.
metadataNoOptional safe non-secret metadata. Do not include API keys, wallet private keys, tokens, or personal secrets.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant context beyond annotations: it reveals the tool is one-time ('returns an API key once'), specifies it uses a public registration endpoint, and instructs on secure key storage. No contradiction with annotations (openWorldHint=true is consistent with registering a workspace).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the core purpose and condition, then provide essential post-action guidance. No unnecessary words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the return value ('API key'), the condition for use, and a warning about secret storage. No output schema exists, so the description compensates well. Missing details like exact error handling or rate limits, but acceptable for a straightforward registration tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add extra meaning for individual parameters; it only provides context about the key and storage. No additional parameter semantics beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Register') and resource ('Yolfi workspace') with a specific condition ('when no YOLFI_API_KEY exists yet'), distinguishing it from sibling tools that handle authentication status, organization management, or payment operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('when no YOLFI_API_KEY exists yet') and provides post-usage guidance ('store it in an ignored env file or secret manager before using private tools'). It does not explicitly list alternatives but implies using other tools after registration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yolfi_auth_statusCheck Yolfi Auth StatusA
Read-onlyIdempotent
Inspect

Verify that YOLFI_API_KEY can authenticate and return the current Yolfi organization context before mutating payment settings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint=false, and idempotentHint=true, so the description adds value by specifying the return of 'current Yolfi organization context' and confirming the non-destructive, safe nature. However, the behavioral traits are largely covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the core purpose and usage context, containing no redundant words. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, comprehensive annotations, and no output schema, the description is fully adequate. It clearly explains what the tool does, what it returns, and when to use it, leaving no gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters and 100% schema coverage, the description cannot add parameter semantics, but the baseline for no parameters is 4. The description appropriately highlights the auth-check purpose without needing parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Verify' and resource 'YOLFI_API_KEY can authenticate and return the current Yolfi organization context' are specific and distinct from sibling tools like yolfi_organization_get, which retrieves organization details rather than checking auth status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'before mutating payment settings,' providing clear context for when to use the tool as a precondition check, which differentiates it from mutation tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yolfi_organization_getGet Yolfi OrganizationA
Read-onlyIdempotent
Inspect

Read the current Yolfi organization settings, including webhook and settlement configuration visible to this API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds value by specifying the content returned (webhook and settlement configuration visible to the API key), which is not evident from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence (16 words) that front-loads the key action and content. Every word adds value, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and rich annotations (readOnly, idempotent), the description covers the purpose and scope well. It lacks details about the return format, but for a simple read operation without output schema, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the description need not add parameter details. Schema coverage is 100% trivially. The description does not need to compensate, so a baseline of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads organization settings, specifying 'webhook and settlement configuration visible to this API key.' It uses a specific verb ('read') and resource ('organization settings'), and distinguishes itself from sibling tools like yolfi_organization_update by implying a read-only operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. The context implies it is for inspecting current settings before making changes, but the description does not state when-not-to-use or mention sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yolfi_organization_updateUpdate Yolfi OrganizationBInspect

Update organization profile fields through the existing Yolfi organization endpoint. Do not invent merchant identity, support email, webhook URL, or settlement settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoMerchant or project display name approved by the user.
emailNoMerchant support or account email approved by the user.
webhookUrlNoHTTPS webhook endpoint in the target application. Ask the user if the backend URL is unknown.
webhookAdapterNoWebhook adapter output format. Use NONE unless the target app expects a compatible provider payload.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, but the description does not disclose whether the update is partial or full, confirmation behavior, or consequences. The caution is a constraint, not a behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: one clear purpose statement and one caution. Both are front-loaded and contain no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 optional parameters, no output schema, and annotations, the description provides basic purpose and a caution but lacks details on response, partial update behavior, or effect of omitted fields. Adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for each parameter. The description adds no further meaning to the parameters beyond the schema, such as format or defaults. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title and description clearly state 'Update Yolfi Organization' and 'Update organization profile fields', with a specific verb and resource. The caution about not inventing fields adds clarity and distinguishes it from related tools like yolfi_organization_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives such as yolfi_organization_get or yolfi_settlement_configure. It only cautions against inventing fields, which is not a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yolfi_payments_createCreate Yolfi Public PaymentAInspect

Create a public payment invoice from an existing paylink for checkout integration, testing, or customer flow setup.

ParametersJSON Schema
NameRequiredDescriptionDefault
paylinkIdYesYolfi paylink ID used to create the customer payment.
networkYesBlockchain network identifier supported by the Yolfi organization, for example ARB.
symbolYesPayment token symbol supported on the selected network, for example USDC.
customerEmailNoOptional customer email for checkout or receipts.
metadataNoSafe non-secret metadata for the target app payment flow.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate mutability (readOnlyHint=false), non-destructiveness (destructiveHint=false), and side effects (openWorldHint=true). The description adds minimal behavioral context beyond 'create', which is consistent. It does not elaborate on side effects, reversibility, or required permissions, so it adds little beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence (14 words) that is front-loaded with the action. Every word adds value, with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters (including nested metadata with no allowed structure explained), no output schema, and openWorldHint, the description is minimal. It informs the basic purpose and use cases but omits details about return values, metadata constraints, or the meaning of 'public payment invoice'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not provide additional meaning for parameters beyond what the schema already includes (e.g., 'paylinkId' is described as existing, but details like format are in schema). No extra param-specific guidance is given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it creates a public payment invoice from an existing paylink, with explicit use cases (checkout, testing, customer flow). The verb 'Create' and resource 'payment invoice' are specific, and the description distinguishes it from siblings like yolfi_payments_status (status check) and yolfi_paylinks_create (creates paylinks).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context for when to use (from an existing paylink for checkout/testing/customer flow) but lacks explicit guidance on when not to use or alternatives. No comparison to sibling tools is given, so the agent must infer usage from the description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yolfi_payments_statusGet Yolfi Payment StatusA
Read-onlyIdempotent
Inspect

Get public payment status by ID. Do not treat a frontend redirect as proof of payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesYolfi payment ID returned by yolfi_payments_create.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavioral context beyond annotations (readOnlyHint, etc.) by warning against relying on frontend redirects, clarifying the need for server-side verification.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, directly state purpose and key warning, no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose and a critical usage caveat; lacks details about the response format (status values), but acceptable for a simple read tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description adds minimal value beyond the schema's parameter documentation; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves public payment status by ID (specific verb+resource) and is distinct from sibling tools like yolfi_payments_create or yolfi_auth_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The warning 'Do not treat a frontend redirect as proof of payment' provides critical usage guidance, but does not explicitly mention when to use this over alternatives or specify prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yolfi_settlement_configureConfigure Yolfi Settlement WalletsAInspect

Configure settlement wallets after the user provides wallet addresses, networks, and enabled tokens. Never invent wallet addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault
settlementAccountsYesSettlement account objects accepted by the Yolfi organization endpoint. Example fields: id, address, tokens.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-readOnly, non-destructive, non-idempotent, and open-world. The description adds that it configures wallets and forbids inventing addresses. It does not elaborate on side effects, reversibility, or return behavior, which would enhance transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: two sentences front-loaded with purpose. It includes a crucial constraint without unnecessary detail. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one required parameter and no output schema, the description covers the main purpose and a key rule. However, it does not mention what happens on success or failure, or if there are prerequisites beyond user input (e.g., authentication via yolfi_auth_status).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a description for the parameter 'settlementAccounts' with example fields. The description's mention of wallet addresses, networks, and enabled tokens echoes this but does not add significant new meaning beyond the schema. With 100% schema coverage, baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Configure' and the resource 'settlement wallets', and specifies that it should be used after the user provides wallet addresses, networks, and enabled tokens. This distinguishes it from sibling tools like yolfi_organization_update which is more general.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage guidance by stating 'after the user provides wallet addresses, networks, and enabled tokens' and the rule 'Never invent wallet addresses.' However, it does not explicitly mention when not to use this tool or compare it to alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yolfi_webhooks_configureConfigure Yolfi WebhooksAInspect

Configure webhook delivery for the target app. The host must not invent backend URLs and must ensure the app verifies X-Yolfi-Signature.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHTTPS webhook URL in the target app, for example https://example.com/api/yolfi/webhook.
adapterNoWebhook adapter output format. Defaults to NONE if omitted.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-read-only and non-idempotent behavior. The description adds context: it configures webhook delivery and emphasizes that the URL must be real and the app must verify signatures, which is beyond what annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences, no fluff, front-loaded with the purpose. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 parameters, no output schema, good annotations), the description sufficiently covers what the tool does and critical constraints. It is complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and parameters are well-described in the schema. The description adds some meaning for the 'url' parameter by stating 'must not invent backend URLs', but says nothing about 'adapter.' Baseline is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Configure' and the resource 'webhook delivery for the target app.' It distinguishes from sibling tools such as 'yolfi_webhooks_verify' by specifying configuration rather than verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides important usage guidance: 'The host must not invent backend URLs' and 'must ensure the app verifies X-Yolfi-Signature.' While it does not explicitly compare to siblings, it gives clear constraints for correct use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yolfi_webhooks_verifyVerify Yolfi Webhook SignatureA
Read-onlyIdempotent
Inspect

Verify an X-Yolfi-Signature HMAC over the raw JSON webhook payload before trusting payment events.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYesRaw webhook request body string, before JSON parsing.
signatureYesX-Yolfi-Signature header value.
secretNoOptional explicit webhook secret. Defaults to YOLFI_WEBHOOK_SECRET or YOLFI_API_KEY.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that it performs HMAC verification, which is a specific behavioral trait. It does not detail failure modes but is consistent with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single concise sentence that front-loads the action and purpose. No extraneous words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description adequately explains the tool's role for a verification operation with complete parameter documentation and clear annotations. Missing output schema is acceptable for a simple verification tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for all three parameters. The tool description adds no additional parameter information, so it meets the baseline without further elaboration.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The tool name and title clearly indicate verification of webhook signatures. The description specifies the exact action (verify HMAC over raw JSON payload) and the context (payment events), distinguishing it from sibling tools like yolfi_webhooks_configure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (before trusting payment events), providing clear context. It does not explicitly exclude scenarios or mention alternatives, but the sibling list makes differentiation straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.4
    • Changedyolfi_agent_register2 fields changed
      • addedInput schema / properties / integrationIntent / default
        Added value: +"accept_payments"
      • changedInput schema / properties / integrationIntent / description
        Previous value: -"User-approved reason for the integration, for example accept_payments, subscription, donation, or sell_digital_product."New value: +"User-approved reason for the integration. Defaults to accept_payments when omitted."
  2. 1 tool updatev0.1.1
    • Addedyolfi_agent_register
  3. 12 tool updatesv0.1.0
    • First observedyolfi_auth_status
    • First observedyolfi_organization_get
    • First observedyolfi_organization_update
    • First observedyolfi_paylinks_create
    • First observedyolfi_paylinks_disable
    • First observedyolfi_paylinks_get
    • First observedyolfi_paylinks_list
    • First observedyolfi_payments_create
    • First observedyolfi_payments_status
    • First observedyolfi_settlement_configure
    • First observedyolfi_webhooks_configure
    • First observedyolfi_webhooks_verify

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct domain action—auth, organization, paylinks, payments, settlement, and webhooks—with no functional overlap. The descriptions clearly differentiate purposes.

Naming Consistency5/5

All tools follow a consistent 'yolfi_<domain>_<verb>' pattern (e.g., yolfi_paylinks_create, yolfi_webhooks_verify), making the naming predictable and scannable.

Tool Count5/5

12 tools cover essential operations for a payment platform—auth, org management, paylinks CRUD with safety guards, payment actions, settlement, and webhooks—without bloat or deficiency.

Completeness4/5

Core workflows are covered, but minor gaps exist: no paylink update (only create/disable), no payment refund or listing, and no webhook listing. These are non-blocking for typical use.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI agents to interact with multiple payment providers (Stripe, Paystack) through a unified API. Supports payment initialization, verification, refunds, customer management, and invoicing without requiring knowledge of specific provider implementations.
    2
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI agents to perform financial transactions such as direct payments, escrows, and bounty management using natural language with zero code integration. It provides a comprehensive suite of tools for fund streaming, subscriptions, and reputation tracking to facilitate secure agent-to-agent commerce.
    22
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to deploy and operate a self-hosted, no-signup crypto payment gateway with multi-chain support, card-to-crypto checkout, and MCP tools for payment links and integration snippets.
    155
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Accept crypto payments from AI agents: create an invoice in one call and get a hosted checkout link (USDC/USDT on Celo, Base, Arbitrum, Polygon, BSC). No API key, instant self-custody settlement.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yolfinance/yolfi-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server