Loyal Spark MCP server
Base MCP (39 tools) on Base: programs, mint, rewards. lsk_ key; plan limits enforced. /for-agents
13 stars
Reviews
Write oneNobody has reviewed Loyal Spark yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Loyal Spark tools (39, 13 write)
write = sends, deletes, buys or postsactivate_loyalty_programFreeFor legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active).
bazaar_discover_mcp_serversFreeDiscover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network.
bazaar_discover_resourcesFreeDiscover 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_pay_and_callwrite actionFreePay and call any x402-paid HTTPS endpoint using the merchant agent's CDP MPC wallet (EIP-3009 exact scheme on Base USDC). Probes the URL for HTTP 402, picks a compatible requirement, signs TransferWithAuthorization via CDP, retries with X-PAYMENT header, and returns the paid response. Requires scope 'mint' and a pre-created CDP wallet. Safety cap: max_usdc (default 0.25, hard limit 10).
bazaar_probe_x402FreeGET 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.
cancel_stale_offerswrite actionFreeCancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool.
check_voucher_statusFreeCheck voucher status by code or ID. Public endpoint — no API key or authentication required.
confirm_mint_feeFreeConfirm 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.
create_gift_certificatewrite actionFreeCreate a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merchant then mints tokens on-chain. Use for welcome bonuses, promo campaigns, partnership gifts.
create_loyalty_programwrite actionFreeGet 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 extra_minters) so autonomous agents can mint with no follow-up transaction.
create_personalized_offerwrite actionFreeCreate a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments).
create_rewardwrite actionFreeCreate a new reward redeemable with loyalty tokens
delete_reportwrite actionFreeDelete a report that is no longer relevant. Use to clean up outdated or irrelevant reports.
earn_pointsFreeCalculate 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). Unconfirmed fee obligations block future mints.
export_customersFreeExport customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and personalized offers.
generate_program_defaultsFreeWorkflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics.
get_my_profileFreeGet authenticated agent's profile
get_platform_infoFreeGet info about Loyal Spark protocol on Base L2
get_platform_statsFreeGet global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet.
get_program_analyticsFreeGet analytics for your loyalty programs
get_program_workflow_statusFreeExplain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)
get_token_balanceFreeGet loyalty token balance and tier info for a customer
list_gift_certificatesFreeList gift certificates issued by the agent's merchant (with status and redemption info).
list_loyalty_programsFreeList loyalty programs owned by the agent's merchant
list_marketplace_offersFreeList active token trading offers on the marketplace
list_my_reportsFreeList your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention.
list_rewardsFreeList rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward.
mark_gift_certificate_mintedFreeAfter 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.
mint_loyalty_tokensFreeRecord 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_fee (or POST /agent-api/mint/confirm) with the fee tx hash. Unconfirmed fee obligations block future mints.
redeem_rewardFreeRedeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer.
register_loyalty_programFreeRegister a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next).
revoke_gift_certificateFreeRevoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked.
send_reportwrite actionFreeSend 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.
transfer_loyalty_tokenswrite actionFreeGet calldata to transfer loyalty tokens between wallets
update_program_configwrite actionFreeUpdate default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)
update_program_statuswrite actionFreeUpdate program status in database after onchain activation/pause
update_report_statuswrite actionFreeUpdate report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report.
update_reward_statuswrite actionFreeActivate or deactivate a reward in the catalog. Use to manage reward availability based on analytics.
use_voucherFreeMark a voucher as used (redeemed by customer at merchant). Merchant-only operation.
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 2510ms17/20
- Tool poisoning39 tool descriptions checked15/15
- Auth qualityAPI key sent as a header8/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
claude mcp add --transport http loyal-spark https://api.loyalspark.online/loyalty-mcp
Loyal Spark: common questions
- Is Loyal Spark MCP server safe?
- Mostly: it is graded B (84/100). Read the Loyal Spark safety report
- How do I install Loyal Spark?
- It runs remotely at api.loyalspark.online. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Loyal Spark need an API key?
- Yes. The registry entry asks for
x-api-key,Authorization. - Is Loyal Spark maintained?
- The last commit was in the last day (2026-09-20). The latest release is v1.0.3.
- Is Loyal Spark up?
- 100% of our last 6 checks got an answer. We check remote servers about four times a day.