Loyal Spark
io.github.aspekt19/loyal-sparkVersion 1.0.4Base MCP (39 tools) on Base: programs, mint, rewards. lsk_ key; plan limits enforced. /for-agents
Status
Responds664 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:45 UTC
- Latency
- 664 ms
- Remotes responding
- 1 of 1
- Sign-in
- API key
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://api.loyalspark.online/loyalty-mcpResponds664 msNo sign-in
Claude Code
claude mcp add --transport http loyal-spark https://api.loyalspark.online/loyalty-mcp --header 'x-api-key: <YOUR_X_API_KEY>'Replace <YOUR_X_API_KEY> before running.
Claude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: loyal-spark
Remote MCP server URL: https://api.loyalspark.online/loyalty-mcp
This server expects the header x-api-key.Cursor
{
"mcpServers": {
"loyal-spark": {
"url": "https://api.loyalspark.online/loyalty-mcp",
"headers": {
"x-api-key": "<YOUR_X_API_KEY>"
}
}
}
}Replace <YOUR_X_API_KEY> before running.
VS Code
code --add-mcp '{"name":"loyal-spark","type":"http","url":"https://api.loyalspark.online/loyalty-mcp","headers":{"x-api-key":"<YOUR_X_API_KEY>"}}'Replace <YOUR_X_API_KEY> before running.
Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
43 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
activate_loyalty_programFor legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active). | No | No | Not declared | Not declared |
bazaar_discover_mcp_serversSearch Coinbase CDP's Bazaar MCP catalog (search_resources) for third-party x402-payable tools. Read-only, free. Rows are run via the Bazaar MCP server's proxy_tool_call, not here. | No | Yes | Not declared | Not declared |
bazaar_discover_resourcesDiscover third-party x402-paid resources published in Coinbase CDP's Bazaar (docs, data feeds, AI inference, etc). Read-only. Filter by free-text q and/or network (e.g. 'base'). | No | Yes | Not declared | Not declared |
bazaar_pay_and_callPay a Loyal Spark x402 URL on api.loyalspark.online with the merchant agent's CDP MPC wallet (EIP-3009 exact scheme, Base USDC). Other hosts are refused before any signature. Requires scope 'mint' and an active CDP wallet. max_usdc default 0.25, hard limit 10. | No | No | Not declared | Not declared |
bazaar_probe_x402Probe one x402 resource URL without paying: a single GET (https only, 5 s, 64 KB, no redirects). If it answers HTTP 402, returns a parsed summary of the x402 payment requirements (PAYMENT-REQUIRED header or accepts[]). Any other status returns error not_x402_resource with the status only: the response body is never returned. No signing. No API key needed: keyless calls are limited to 20/minute per IP; with a key the key's own limits apply. | No | Yes | Not declared | Not declared |
check_voucher_statusCheck voucher status for this merchant. Send one of code, voucher_code, or voucher_id (anyOf). If none is sent the tool returns error_code missing_identifier, an example, and next_action. Anonymous public lookup is GET /agent-api/vouchers/status. | No | Yes | Not declared | Not declared |
confirm_mint_feeConfirm a prepared mint on Base. Verifies the protocol-fee mint and, when recipient_tx_hash is set (or the fee receipt already contains the recipient mint), writes customer_tier_status so get_token_balance leaves 0. Same hash for both fields when EIP-5792 batched the calls. A second call with recipient_tx_hash still credits the customer after the fee is already settled. | No | No | Not declared | Not declared |
create_gift_certificateCreate a gift / welcome certificate (UDS-style) with a unique random redemption code (LOYAL-XXXX-XXXX-XXXX). Customer redeems via QR or by entering the code; merchant then mints tokens on-chain. Use for welcome bonuses, promo campaigns, partnership gifts. | No | No | Not declared | Not declared |
create_loyalty_programGet factory calldata to deploy a new loyalty token on Base. Defaults to B20 (Base-native B20 asset standard, ERC-20 compatible, single tx, active immediately). Pass token_standard='erc20' for the legacy factory. For B20, MINT_ROLE is granted atomically to the merchant admin AND to the agent's CDP wallet (or explicit extra_minters) so autonomous agents can mint with no follow-up transaction. | No | No | Not declared | Not declared |
create_personalized_offerCreate a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments). | No | No | Not declared | Not declared |
create_rewardCreate a new reward redeemable with loyalty tokens | No | No | Not declared | Not declared |
delete_reportInternal. Delete a report you submitted. | Yes | No | Not declared | Not declared |
earn_pointsMint cashback tokens for a purchase at the program's cashback rate, optionally redeeming points first (points_to_redeem or redeem_all) to lower the payable amount. Returns a fee-first calls[] bundle (protocol fee mint, then the customer mint): submit in order (atomically via EIP-5792 if supported), then call confirm_mint_fee with obligation_id, fee_tx_hash, recipient_tx_hash. Unconfirmed fees block future mints. | No | No | Not declared | Not declared |
export_customersExport customers of one of your loyalty programs: the same wallet set and total_customers as GET /customers and get_program_analytics (voucher holders, ledger rows, completed mints), each with voucher stats, on-chain current_balance plus offchain_ledger_balance, and tier. Email-only store customers are listed in store_customers. | No | Yes | Not declared | Not declared |
generate_program_defaultsWorkflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics. | No | Yes | Not declared | Not declared |
get_my_profileGet authenticated agent's profile, plan limits, and current-period usage | No | Yes | Not declared | Not declared |
get_payment_infoFree: agent Pro/Enterprise (or merchant) plan options, USDC subscription wallet, per-plan limits, annual prices, and the required-sender rule. Optional product=agent|merchant. Prefer this before paying; verify with POST /verify-agent-plan-payment action verify_payment. | No | Yes | Not declared | Not declared |
get_platform_infoGet info about Loyal Spark protocol on Base L2 | No | Yes | Not declared | Not declared |
get_program_analyticsGet analytics for one of your loyalty programs. total_customers is the same count export_customers and GET /customers report; a program you do not own returns program_not_found. | No | Yes | Not declared | Not declared |
get_program_workflow_statusExplain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values) | No | Yes | Not declared | Not declared |
get_token_balanceGet loyalty token balance and tier info for a customer (accepts 0x Base wallet address or customer email in customer_address / customer_email) | No | Yes | Not declared | Not declared |
list_fee_obligationsList protocol-fee obligations for this API key. status=unpaid is an alias for pending. Each unpaid row includes next_action describing POST /mint/confirm. | No | Yes | Not declared | Not declared |
list_gift_certificatesList gift certificates issued by the agent's merchant (with status and redemption info). | No | Yes | Not declared | Not declared |
list_loyalty_programsList loyalty programs owned by the agent's merchant | No | Yes | Not declared | Not declared |
list_marketplace_offersList active token trading offers on the marketplace | No | Yes | Not declared | Not declared |
list_mintsList mint intents for this merchant. status=pending means transaction_hash is still null (confirm has not credited the recipient). status=completed means the recipient mint was recorded. GET /balance offchain_ledger_balance stays 0 until confirm. | No | Yes | Not declared | Not declared |
list_my_reportsInternal. List reports this agent submitted (status new, reviewed, or done). | No | Yes | Not declared | Not declared |
list_rewardsList rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward. | No | Yes | Not declared | Not declared |
list_store_discount_codesList discount codes for this merchant's Shopify store, plus how customers spend points (online code, register voucher, or both). | No | Yes | Not declared | Not declared |
mark_gift_certificate_mintedAfter the merchant submits the on-chain mint transaction for a claimed gift certificate, call this to mark it as minted (status pending_mint -> redeemed) and store the mint tx hash. | No | No | Not declared | Not declared |
mint_loyalty_tokensRecord a mint intent and get a fee-first calls[] bundle: protocol fee mint first (in the merchant's own loyalty tokens, not USDC), then the recipient mint. Submit both in order (atomically via EIP-5792 if supported), then call confirm_mint_fee with obligation_id, fee_tx_hash, recipient_tx_hash. Unconfirmed fees block future mints. recipient_address takes a 0x Base wallet or a customer email (or use recipient_email); the wallet is resolved server-side. | No | No | Not declared | Not declared |
redeem_rewardRedeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer. | No | No | Not declared | Not declared |
register_loyalty_programRegister a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next). | No | No | Not declared | Not declared |
revoke_gift_certificateRevoke an active gift certificate (status active -> revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked. | Yes | No | Not declared | Not declared |
send_reportInternal. Send a report to the merchant's Agent Reports dashboard (SEO audits, growth ideas, anomalies, weekly summaries). Not a loyalty action. | No | No | Not declared | Not declared |
set_store_sales_channelSet how this store's customers spend loyalty points: online (checkout code), offline (voucher at the register), or both (the shopper chooses). | No | No | Not declared | Not declared |
transfer_loyalty_tokensBuild B20 token transfer calldata (ERC-20 compatible) to send loyalty tokens from your merchant wallet to any 0x address. Recipient: to (alias to_address). | No | No | Not declared | Not declared |
update_program_configUpdate default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders) | No | No | Not declared | Not declared |
update_program_statusUpdate program status in database after onchain activation/pause | No | No | Not declared | Not declared |
update_report_statusInternal. Set a report you submitted to reviewed or done. | No | No | Not declared | Not declared |
update_reward_statusActivate or deactivate a reward in the catalog. Use to manage reward availability based on analytics. | No | No | Not declared | Not declared |
update_store_discount_codeMark a Shopify discount code used, or cancel it and return the loyalty points. Same actions as the merchant discount-code journal. | Yes | No | Not declared | Not declared |
use_voucherMark a voucher as used at the merchant. Send one of voucher_code (alias code) or voucher_id (anyOf). If neither is sent the tool returns error_code missing_identifier and an example. A voucher used before returns error_code voucher_already_used (do not retry). | Yes | No | Not declared | Not declared |
Details
- Registry status
- Active
- Published
- Oct 11, 2026
- Updated
- Oct 11, 2026
- Repository
- Not given
- Categories (suggested)
- Finance and paymentsE-commerceCRMSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared