{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_qm2hmdcny93g","handle":"loyal-spark","url":"https://wellknown.network/agents/loyal-spark","links":{"self":"https://wellknown.network/agents/loyal-spark/record.json","html":"https://wellknown.network/agents/loyal-spark","markdown":"https://wellknown.network/agents/loyal-spark/record.md","api":"https://wellknown.network/api/v1/agents/loyal-spark","status":"https://wellknown.network/api/v1/agents/loyal-spark/status","claim":"https://wellknown.network/agents/loyal-spark/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/loyal-spark/claim.json","badge":"https://wellknown.network/agents/loyal-spark/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:api.loyalspark.online:server:loyal-spark","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Loyal Spark","summary":"Base MCP (39 tools) on Base: programs, mint, rewards. lsk_ key; plan limits enforced. /for-agents","description":"Base MCP (39 tools) on Base: programs, mint, rewards. lsk_ key; plan limits enforced. /for-agents","publisher":{"name":"aspekt19","url":null},"homepage":"https://loyalspark.online/for-agents","repository":"https://github.com/aspekt19/unboxed-loyalty-spark","version":"1.0.3","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.loyalspark.online/loyalty-mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-31T19:59:32.432167Z","publishedAt":"2026-08-31T19:59:32.432167Z","registryName":"io.github.aspekt19/loyal-spark"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.525,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":0.51,"provenance":"derived"}],"categories":["analytics","commerce","data","finance","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 8m ago.","lastOkAt":"2026-09-09T14:35:50.348Z","lastProbedAt":"2026-09-09T14:35:50.348Z","statusComputedAt":"2026-09-09T14:36:43.231Z","reliability30d":{"probes":9,"successRate":1,"p50Ms":403},"latestObservations":[{"at":"2026-09-09T14:35:50.348Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":487,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-09T06:21:09.800Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":309,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-09T00:23:02.954Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":381,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-08T17:20:20.732Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":442,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-08T11:23:18.185Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":414,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-08T04:20:58.939Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":383,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T21:24:17.871Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":398,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T14:23:27.836Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":496,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T07:30:20.749Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":461,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T00:20:21.401Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":386,"error":null,"detail":{"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"toolCount":39,"serverName":"loyal-spark-mcp","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_platform_info","description":"Get info about Loyal Spark protocol on Base L2"},{"name":"get_my_profile","description":"Get authenticated agent's profile"},{"name":"generate_program_defaults","description":"Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics."},{"name":"get_program_workflow_status","description":"Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)"},{"name":"list_loyalty_programs","description":"List loyalty programs owned by the agent's merchant"},{"name":"create_loyalty_program","description":"Get 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='e"},{"name":"register_loyalty_program","description":"Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next)."},{"name":"activate_loyalty_program","description":"For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active)."},{"name":"update_program_status","description":"Update program status in database after onchain activation/pause"},{"name":"update_program_config","description":"Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)"},{"name":"list_rewards","description":"List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward."},{"name":"create_reward","description":"Create a new reward redeemable with loyalty tokens"},{"name":"mint_loyalty_tokens","description":"Record 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 loy"},{"name":"transfer_loyalty_tokens","description":"Get calldata to transfer loyalty tokens between wallets"},{"name":"earn_points","description":"Calculate 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 "},{"name":"confirm_mint_fee","description":"Confirm 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 "},{"name":"get_token_balance","description":"Get loyalty token balance and tier info for a customer"},{"name":"get_program_analytics","description":"Get analytics for your loyalty programs"},{"name":"list_marketplace_offers","description":"List active token trading offers on the marketplace"},{"name":"redeem_reward","description":"Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer."},{"name":"use_voucher","description":"Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation."},{"name":"check_voucher_status","description":"Check voucher status by code or ID. Public endpoint — no API key or authentication required."},{"name":"get_platform_stats","description":"Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet."},{"name":"cancel_stale_offers","description":"Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool."},{"name":"create_personalized_offer","description":"Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments)."},{"name":"update_reward_status","description":"Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics."},{"name":"send_report","description":"Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report wil"},{"name":"list_my_reports","description":"List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention."},{"name":"update_report_status","description":"Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report."},{"name":"delete_report","description":"Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports."},{"name":"export_customers","description":"Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and pers"},{"name":"create_gift_certificate","description":"Create a gift / welcome certificate (UDS-style) with a unique 6-character redemption code (LOYAL-XXXXXX). Customer redeems via QR or by entering the code; merch"},{"name":"list_gift_certificates","description":"List gift certificates issued by the agent's merchant (with status and redemption info)."},{"name":"revoke_gift_certificate","description":"Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked."},{"name":"mark_gift_certificate_minted","description":"After 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 sto"},{"name":"bazaar_discover_resources","description":"Discover 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 netwo"},{"name":"bazaar_discover_mcp_servers","description":"Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network."},{"name":"bazaar_probe_x402","description":"GET 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. N"},{"name":"bazaar_pay_and_call","description":"Pay 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 c"}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.aspekt19/loyal-spark","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.aspekt19%2Floyal-spark","firstSeenAt":"2026-09-06T10:20:26.448Z","fetchedAt":"2026-09-08T07:22:20.106Z","normalizedAt":"2026-09-08T07:22:20.106Z"}]},"firstSeenAt":"2026-09-06T10:20:26.448Z","updatedAt":"2026-09-09T14:37:14.988Z"}