Loyal Spark
io.github.aspekt19/loyal-spark · v1.0.4
Base MCP (39 tools) on Base: programs, mint, rewards. lsk_ key; plan limits enforced. /for-agents
MCPremoteAPI keyCRM & salesCryptoAnalytics & marketing
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 42 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 83/100
What it does: 42 tools · 13 read, 18 write (incl. delete/pay) · CRM & sales, Crypto, Analytics & marketing
Test call list_loyalty_programs: needs a key: tool error: {"error":"Not authenticated. Send HTTP header x-api-key: lsk_... or Authorization: Bearer lsk_... on every MCP request ( (1,276 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: 0
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://api.loyalspark.online/loyalty-mcpTools
42 tools listed at last check
get_platform_infoGet info about Loyal Spark protocol on Base L2get_my_profileGet authenticated agent's profilegenerate_program_defaultsWorkflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics.get_program_workflow_statusExplain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)list_loyalty_programsList loyalty programs owned by the agent's merchantcreate_loyalty_programGet factory calldata to deploy a new loyalty token on Base. Defaults to B20 (Base native ERC-20 superset, 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 extrregister_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).activate_loyalty_programFor legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active).update_program_statusUpdate program status in database after onchain activation/pauseupdate_program_configUpdate default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)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.create_rewardCreate a new reward redeemable with loyalty tokensmint_loyalty_tokensRecord mint intent and get a fee-first `calls[]` bundle: protocol fee mint FIRST, then the recipient mint. The protocol fee is charged in the merchant's own loyalty tokens (not USDC). Submit both calls in order (atomically via EIP-5792 send_calls if your wallet supports it), then call confirm_mint_ftransfer_loyalty_tokensGet calldata to transfer loyalty tokens between walletsearn_pointsCalculate and mint loyalty tokens based on purchase amount and program's cashback rate. Returns a fee-first `calls[]` bundle (protocol fee mint first, then the customer mint) — submit in order, atomically via EIP-5792 if supported, then call confirm_mint_fee (or POST /agent-api/mint/confirm). Unconfconfirm_mint_feeConfirm that the protocol fee transaction for a previous mint/earn was broadcast on Base. Verifies the fee mint on-chain and clears the obligation. Unconfirmed fee obligations block future mints.get_token_balanceGet loyalty token balance and tier info for a customerget_program_analyticsGet analytics for your loyalty programslist_marketplace_offersList active token trading offers on the marketplaceredeem_rewardRedeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer.use_voucherMark a voucher as used (redeemed by customer at merchant). Merchant-only operation.check_voucher_statusCheck voucher status by code or ID. Requires a merchant agent key; only vouchers issued by the key owner's store are returned.get_platform_statsGet global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet.cancel_stale_offersCancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool.create_personalized_offerCreate a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments).update_reward_statusActivate or deactivate a reward in the catalog. Use to manage reward availability based on analytics.send_reportSend a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report will appear in the merchant's Agent Reports dashboard.list_my_reportsList your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention.update_report_statusUpdate report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report.delete_reportDelete a report that is no longer relevant. Use to clean up outdated or irrelevant reports.export_customersExport customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and personalized offers.list_store_discount_codesList discount codes for this merchant's Shopify store, plus how customers spend points (online code, register voucher, or both).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.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).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.list_gift_certificatesList gift certificates issued by the agent's merchant (with status and redemption info).revoke_gift_certificateRevoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked.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.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').bazaar_discover_mcp_serversDiscover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network.bazaar_probe_x402GET a candidate x402 URL and, if it responds HTTP 402, return the parsed payment requirements (accepts[]) so the caller can decide whether to pay. HTTPS only. No signing performed.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.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.github.aspekt19/loyal-spark)