{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rbe45drxwas2","handle":"xaalis","url":"https://wellknown.network/agents/xaalis","links":{"self":"https://wellknown.network/agents/xaalis/record.json","html":"https://wellknown.network/agents/xaalis","markdown":"https://wellknown.network/agents/xaalis/record.md","api":"https://wellknown.network/api/v1/agents/xaalis","status":"https://wellknown.network/api/v1/agents/xaalis/status","claim":"https://wellknown.network/agents/xaalis/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/xaalis/claim.json","badge":"https://wellknown.network/agents/xaalis/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/xaalis/history","tools":"https://wellknown.network/api/v1/agents/xaalis/tools"},"ard":{"identifier":"urn:air:mcp.xaalis.org:server:xaalis","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Xaalis","summary":"Wave and Orange Money payments in Senegal: payment links, refunds, subscriptions, agent payouts.","description":"Wave and Orange Money payments in Senegal: payment links, refunds, subscriptions, agent payouts.","publisher":{"name":"org.xaalis","url":null},"homepage":"https://docs.xaalis.org/guides/ai-agents/","repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.xaalis.org/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://mcp.xaalis.org/sandbox","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-11-01T20:45:02.336334Z","publishedAt":"2026-11-01T20:45:02.336334Z","registryName":"org.xaalis/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.977,"provenance":"derived"},{"slug":"code.documentation","name":"Code Documentation","confidence":0.583,"provenance":"derived"},{"slug":"code.execution","name":"Code Execution","confidence":0.51,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.51,"provenance":"derived"}],"categories":["automation","code","commerce","communication","documents"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 7h ago.","lastOkAt":"2026-11-07T02:29:20.782Z","lastProbedAt":"2026-11-07T02:29:20.782Z","statusComputedAt":"2026-11-07T02:30:54.459Z","reliability30d":{"probes":18,"successRate":1,"p50Ms":326,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":19,"ok":19,"authBoundaryOk":10,"serviceOk":9,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-07T09:31:11.175Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":301,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.xaalis.org/.well-known/oauth-protected-resource\""}},{"at":"2026-11-07T02:29:20.782Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":304,"error":null,"detail":{"tools":[{"name":"xaalis_whoami","description":"Start here. Shows which Xaalis key is connected (none, merchant test/live, agent wallet), its mode, the account or wallet it belongs to, and which tools it unlo"},{"name":"xaalis_search_docs","description":"Search the official Xaalis documentation (payments, webhooks, payouts, refunds, subscriptions, SDKs, errors, go-live). Use it before guessing how an endpoint be"},{"name":"xaalis_sandbox_signup","description":"Create a Xaalis SANDBOX merchant account and get its test secret key (sk_test_…) and webhook secret, with no human step. Sandbox only: no real money, simulated "},{"name":"xaalis_create_payment","description":"Create a payment and get a hosted checkout_url to send to the customer (Wave or Orange Money). The payment is NOT paid until its status is 'succeeded' — check w"},{"name":"xaalis_get_payment","description":"Read a payment's current status, amount, fee and checkout link. 'succeeded' is the only proof the customer paid."},{"name":"xaalis_list_payments","description":"List payments, newest first, optionally filtered by status."},{"name":"xaalis_simulate_payment","description":"Sandbox only: make a test payment succeed or fail as if the customer had paid (or declined) in their wallet. Triggers the same webhooks as a real payment."},{"name":"xaalis_refund_payment","description":"Send the FULL amount of a succeeded Wave payment back to the customer (no partial refunds). The merchant's available balance must cover it. One refund per payme"},{"name":"xaalis_list_refunds","description":"Read the refund of a payment, if any (a list of zero or one). Use it to check an uncertain refund instead of retrying."},{"name":"xaalis_get_balance","description":"The merchant's available balance (withdrawable) and money reserved for payouts in flight, in XOF."},{"name":"xaalis_create_payout","description":"Sandbox only with a merchant key: send money from the merchant balance to a Wave or Orange Money number. In production, agents pay out only through an agent wal"},{"name":"xaalis_get_payout","description":"Read a payout's status (pending, processing, succeeded, failed)."},{"name":"xaalis_list_payouts","description":"List the merchant's payouts, newest first, with their status and recipient."},{"name":"xaalis_list_webhook_deliveries","description":"Recent webhooks Xaalis sent to the merchant's endpoint, with status, attempts and the last error — use it to debug a webhook integration."},{"name":"xaalis_create_subscription","description":"Bill a customer every day/week/month/year. Invoice 0 is issued at once: send its hosted_invoice_url (in latest_invoice) to the customer. Set billing_cycles (2–2"},{"name":"xaalis_get_subscription","description":"Read a subscription: status, cycles paid, latest invoice."},{"name":"xaalis_list_subscriptions","description":"List subscriptions, newest first, optionally by status."},{"name":"xaalis_cancel_subscription","description":"Cancel now (voids the unpaid invoice if checkout hasn't started) or at the end of the current period."},{"name":"xaalis_advance_subscription","description":"Sandbox only: jump to the subscription's next billing event (next invoice, due date or end of grace) to test renewals without waiting."},{"name":"xaalis_get_invoice","description":"Read a subscription invoice: status, amount, due date, and hosted_invoice_url (the stable link to send the customer)."},{"name":"xaalis_list_invoices","description":"List invoices, optionally for one subscription or by status."},{"name":"xaalis_create_agent_wallet","description":"Sandbox: create a spending wallet for an AI agent, with a per-payout cap and the only phone numbers it may pay. Fund it, then issue its ak_test_ key. In product"},{"name":"xaalis_fund_agent_wallet","description":"Sandbox: move money from the merchant balance into an agent wallet. The wallet's balance is the agent's total spend limit."},{"name":"xaalis_reclaim_agent_wallet","description":"Sandbox: move unreserved money from an agent wallet back to the merchant balance."},{"name":"xaalis_issue_agent_key","description":"Sandbox: issue the ak_test_ key an agent uses to pay out from this wallet. The secret is shown ONCE — store it in a secret store or env var right away. Retrying"},{"name":"xaalis_disable_agent_wallet","description":"Stop an agent wallet: its keys can no longer start payouts. Payouts already accepted finish normally. Safe to repeat."},{"name":"xaalis_list_agent_wallets","description":"List the merchant's agent wallets and their policies."},{"name":"xaalis_get_agent_wallet","description":"Read an agent wallet's policy and balance."}],"toolCount":28,"toolsHash":"1956edbc06dd539bbec40e3344e74e3973e001131d2967d64b0b83af600f16e2","serverName":"xaalis","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T00:26:19.087Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":290,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.xaalis.org/.well-known/oauth-protected-resource\""}},{"at":"2026-11-06T18:24:53.855Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":331,"error":null,"detail":{"tools":[{"name":"xaalis_whoami","description":"Start here. Shows which Xaalis key is connected (none, merchant test/live, agent wallet), its mode, the account or wallet it belongs to, and which tools it unlo"},{"name":"xaalis_search_docs","description":"Search the official Xaalis documentation (payments, webhooks, payouts, refunds, subscriptions, SDKs, errors, go-live). Use it before guessing how an endpoint be"},{"name":"xaalis_sandbox_signup","description":"Create a Xaalis SANDBOX merchant account and get its test secret key (sk_test_…) and webhook secret, with no human step. Sandbox only: no real money, simulated "},{"name":"xaalis_create_payment","description":"Create a payment and get a hosted checkout_url to send to the customer (Wave or Orange Money). The payment is NOT paid until its status is 'succeeded' — check w"},{"name":"xaalis_get_payment","description":"Read a payment's current status, amount, fee and checkout link. 'succeeded' is the only proof the customer paid."},{"name":"xaalis_list_payments","description":"List payments, newest first, optionally filtered by status."},{"name":"xaalis_simulate_payment","description":"Sandbox only: make a test payment succeed or fail as if the customer had paid (or declined) in their wallet. Triggers the same webhooks as a real payment."},{"name":"xaalis_refund_payment","description":"Send the FULL amount of a succeeded Wave payment back to the customer (no partial refunds). The merchant's available balance must cover it. One refund per payme"},{"name":"xaalis_list_refunds","description":"Read the refund of a payment, if any (a list of zero or one). Use it to check an uncertain refund instead of retrying."},{"name":"xaalis_get_balance","description":"The merchant's available balance (withdrawable) and money reserved for payouts in flight, in XOF."},{"name":"xaalis_create_payout","description":"Sandbox only with a merchant key: send money from the merchant balance to a Wave or Orange Money number. In production, agents pay out only through an agent wal"},{"name":"xaalis_get_payout","description":"Read a payout's status (pending, processing, succeeded, failed)."},{"name":"xaalis_list_payouts","description":"List the merchant's payouts, newest first, with their status and recipient."},{"name":"xaalis_list_webhook_deliveries","description":"Recent webhooks Xaalis sent to the merchant's endpoint, with status, attempts and the last error — use it to debug a webhook integration."},{"name":"xaalis_create_subscription","description":"Bill a customer every day/week/month/year. Invoice 0 is issued at once: send its hosted_invoice_url (in latest_invoice) to the customer. Set billing_cycles (2–2"},{"name":"xaalis_get_subscription","description":"Read a subscription: status, cycles paid, latest invoice."},{"name":"xaalis_list_subscriptions","description":"List subscriptions, newest first, optionally by status."},{"name":"xaalis_cancel_subscription","description":"Cancel now (voids the unpaid invoice if checkout hasn't started) or at the end of the current period."},{"name":"xaalis_advance_subscription","description":"Sandbox only: jump to the subscription's next billing event (next invoice, due date or end of grace) to test renewals without waiting."},{"name":"xaalis_get_invoice","description":"Read a subscription invoice: status, amount, due date, and hosted_invoice_url (the stable link to send the customer)."},{"name":"xaalis_list_invoices","description":"List invoices, optionally for one subscription or by status."},{"name":"xaalis_create_agent_wallet","description":"Sandbox: create a spending wallet for an AI agent, with a per-payout cap and the only phone numbers it may pay. Fund it, then issue its ak_test_ key. In product"},{"name":"xaalis_fund_agent_wallet","description":"Sandbox: move money from the merchant balance into an agent wallet. The wallet's balance is the agent's total spend limit."},{"name":"xaalis_reclaim_agent_wallet","description":"Sandbox: move unreserved money from an agent wallet back to the merchant balance."},{"name":"xaalis_issue_agent_key","description":"Sandbox: issue the ak_test_ key an agent uses to pay out from this wallet. The secret is shown ONCE — store it in a secret store or env var right away. Retrying"},{"name":"xaalis_disable_agent_wallet","description":"Stop an agent wallet: its keys can no longer start payouts. Payouts already accepted finish normally. Safe to repeat."},{"name":"xaalis_list_agent_wallets","description":"List the merchant's agent wallets and their policies."},{"name":"xaalis_get_agent_wallet","description":"Read an agent wallet's policy and balance."}],"toolCount":28,"toolsHash":"1956edbc06dd539bbec40e3344e74e3973e001131d2967d64b0b83af600f16e2","serverName":"xaalis","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T16:27:33.806Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":448,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.xaalis.org/.well-known/oauth-protected-resource\""}},{"at":"2026-11-06T09:29:30.926Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":331,"error":null,"detail":{"tools":[{"name":"xaalis_whoami","description":"Start here. Shows which Xaalis key is connected (none, merchant test/live, agent wallet), its mode, the account or wallet it belongs to, and which tools it unlo"},{"name":"xaalis_search_docs","description":"Search the official Xaalis documentation (payments, webhooks, payouts, refunds, subscriptions, SDKs, errors, go-live). Use it before guessing how an endpoint be"},{"name":"xaalis_sandbox_signup","description":"Create a Xaalis SANDBOX merchant account and get its test secret key (sk_test_…) and webhook secret, with no human step. Sandbox only: no real money, simulated "},{"name":"xaalis_create_payment","description":"Create a payment and get a hosted checkout_url to send to the customer (Wave or Orange Money). The payment is NOT paid until its status is 'succeeded' — check w"},{"name":"xaalis_get_payment","description":"Read a payment's current status, amount, fee and checkout link. 'succeeded' is the only proof the customer paid."},{"name":"xaalis_list_payments","description":"List payments, newest first, optionally filtered by status."},{"name":"xaalis_simulate_payment","description":"Sandbox only: make a test payment succeed or fail as if the customer had paid (or declined) in their wallet. Triggers the same webhooks as a real payment."},{"name":"xaalis_refund_payment","description":"Send the FULL amount of a succeeded Wave payment back to the customer (no partial refunds). The merchant's available balance must cover it. One refund per payme"},{"name":"xaalis_list_refunds","description":"Read the refund of a payment, if any (a list of zero or one). Use it to check an uncertain refund instead of retrying."},{"name":"xaalis_get_balance","description":"The merchant's available balance (withdrawable) and money reserved for payouts in flight, in XOF."},{"name":"xaalis_create_payout","description":"Sandbox only with a merchant key: send money from the merchant balance to a Wave or Orange Money number. In production, agents pay out only through an agent wal"},{"name":"xaalis_get_payout","description":"Read a payout's status (pending, processing, succeeded, failed)."},{"name":"xaalis_list_payouts","description":"List the merchant's payouts, newest first, with their status and recipient."},{"name":"xaalis_list_webhook_deliveries","description":"Recent webhooks Xaalis sent to the merchant's endpoint, with status, attempts and the last error — use it to debug a webhook integration."},{"name":"xaalis_create_subscription","description":"Bill a customer every day/week/month/year. Invoice 0 is issued at once: send its hosted_invoice_url (in latest_invoice) to the customer. Set billing_cycles (2–2"},{"name":"xaalis_get_subscription","description":"Read a subscription: status, cycles paid, latest invoice."},{"name":"xaalis_list_subscriptions","description":"List subscriptions, newest first, optionally by status."},{"name":"xaalis_cancel_subscription","description":"Cancel now (voids the unpaid invoice if checkout hasn't started) or at the end of the current period."},{"name":"xaalis_advance_subscription","description":"Sandbox only: jump to the subscription's next billing event (next invoice, due date or end of grace) to test renewals without waiting."},{"name":"xaalis_get_invoice","description":"Read a subscription invoice: status, amount, due date, and hosted_invoice_url (the stable link to send the customer)."},{"name":"xaalis_list_invoices","description":"List invoices, optionally for one subscription or by status."},{"name":"xaalis_create_agent_wallet","description":"Sandbox: create a spending wallet for an AI agent, with a per-payout cap and the only phone numbers it may pay. Fund it, then issue its ak_test_ key. In product"},{"name":"xaalis_fund_agent_wallet","description":"Sandbox: move money from the merchant balance into an agent wallet. The wallet's balance is the agent's total spend limit."},{"name":"xaalis_reclaim_agent_wallet","description":"Sandbox: move unreserved money from an agent wallet back to the merchant balance."},{"name":"xaalis_issue_agent_key","description":"Sandbox: issue the ak_test_ key an agent uses to pay out from this wallet. The secret is shown ONCE — store it in a secret store or env var right away. Retrying"},{"name":"xaalis_disable_agent_wallet","description":"Stop an agent wallet: its keys can no longer start payouts. Payouts already accepted finish normally. Safe to repeat."},{"name":"xaalis_list_agent_wallets","description":"List the merchant's agent wallets and their policies."},{"name":"xaalis_get_agent_wallet","description":"Read an agent wallet's policy and balance."}],"toolCount":28,"toolsHash":"1956edbc06dd539bbec40e3344e74e3973e001131d2967d64b0b83af600f16e2","serverName":"xaalis","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T08:26:45.450Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":310,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.xaalis.org/.well-known/oauth-protected-resource\""}},{"at":"2026-11-06T00:26:43.362Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":353,"error":null,"detail":{"tools":[{"name":"xaalis_whoami","description":"Start here. Shows which Xaalis key is connected (none, merchant test/live, agent wallet), its mode, the account or wallet it belongs to, and which tools it unlo"},{"name":"xaalis_search_docs","description":"Search the official Xaalis documentation (payments, webhooks, payouts, refunds, subscriptions, SDKs, errors, go-live). Use it before guessing how an endpoint be"},{"name":"xaalis_sandbox_signup","description":"Create a Xaalis SANDBOX merchant account and get its test secret key (sk_test_…) and webhook secret, with no human step. Sandbox only: no real money, simulated "},{"name":"xaalis_create_payment","description":"Create a payment and get a hosted checkout_url to send to the customer (Wave or Orange Money). The payment is NOT paid until its status is 'succeeded' — check w"},{"name":"xaalis_get_payment","description":"Read a payment's current status, amount, fee and checkout link. 'succeeded' is the only proof the customer paid."},{"name":"xaalis_list_payments","description":"List payments, newest first, optionally filtered by status."},{"name":"xaalis_simulate_payment","description":"Sandbox only: make a test payment succeed or fail as if the customer had paid (or declined) in their wallet. Triggers the same webhooks as a real payment."},{"name":"xaalis_refund_payment","description":"Send the FULL amount of a succeeded Wave payment back to the customer (no partial refunds). The merchant's available balance must cover it. One refund per payme"},{"name":"xaalis_list_refunds","description":"Read the refund of a payment, if any (a list of zero or one). Use it to check an uncertain refund instead of retrying."},{"name":"xaalis_get_balance","description":"The merchant's available balance (withdrawable) and money reserved for payouts in flight, in XOF."},{"name":"xaalis_create_payout","description":"Sandbox only with a merchant key: send money from the merchant balance to a Wave or Orange Money number. In production, agents pay out only through an agent wal"},{"name":"xaalis_get_payout","description":"Read a payout's status (pending, processing, succeeded, failed)."},{"name":"xaalis_list_payouts","description":"List the merchant's payouts, newest first, with their status and recipient."},{"name":"xaalis_list_webhook_deliveries","description":"Recent webhooks Xaalis sent to the merchant's endpoint, with status, attempts and the last error — use it to debug a webhook integration."},{"name":"xaalis_create_subscription","description":"Bill a customer every day/week/month/year. Invoice 0 is issued at once: send its hosted_invoice_url (in latest_invoice) to the customer. Set billing_cycles (2–2"},{"name":"xaalis_get_subscription","description":"Read a subscription: status, cycles paid, latest invoice."},{"name":"xaalis_list_subscriptions","description":"List subscriptions, newest first, optionally by status."},{"name":"xaalis_cancel_subscription","description":"Cancel now (voids the unpaid invoice if checkout hasn't started) or at the end of the current period."},{"name":"xaalis_advance_subscription","description":"Sandbox only: jump to the subscription's next billing event (next invoice, due date or end of grace) to test renewals without waiting."},{"name":"xaalis_get_invoice","description":"Read a subscription invoice: status, amount, due date, and hosted_invoice_url (the stable link to send the customer)."},{"name":"xaalis_list_invoices","description":"List invoices, optionally for one subscription or by status."},{"name":"xaalis_create_agent_wallet","description":"Sandbox: create a spending wallet for an AI agent, with a per-payout cap and the only phone numbers it may pay. Fund it, then issue its ak_test_ key. In product"},{"name":"xaalis_fund_agent_wallet","description":"Sandbox: move money from the merchant balance into an agent wallet. The wallet's balance is the agent's total spend limit."},{"name":"xaalis_reclaim_agent_wallet","description":"Sandbox: move unreserved money from an agent wallet back to the merchant balance."},{"name":"xaalis_issue_agent_key","description":"Sandbox: issue the ak_test_ key an agent uses to pay out from this wallet. The secret is shown ONCE — store it in a secret store or env var right away. Retrying"},{"name":"xaalis_disable_agent_wallet","description":"Stop an agent wallet: its keys can no longer start payouts. Payouts already accepted finish normally. Safe to repeat."},{"name":"xaalis_list_agent_wallets","description":"List the merchant's agent wallets and their policies."},{"name":"xaalis_get_agent_wallet","description":"Read an agent wallet's policy and balance."}],"toolCount":28,"toolsHash":"1956edbc06dd539bbec40e3344e74e3973e001131d2967d64b0b83af600f16e2","serverName":"xaalis","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T00:25:05.712Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":338,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.xaalis.org/.well-known/oauth-protected-resource\""}},{"at":"2026-11-05T16:24:17.198Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":333,"error":null,"detail":{"tools":[{"name":"xaalis_whoami","description":"Start here. Shows which Xaalis key is connected (none, merchant test/live, agent wallet), its mode, the account or wallet it belongs to, and which tools it unlo"},{"name":"xaalis_search_docs","description":"Search the official Xaalis documentation (payments, webhooks, payouts, refunds, subscriptions, SDKs, errors, go-live). Use it before guessing how an endpoint be"},{"name":"xaalis_sandbox_signup","description":"Create a Xaalis SANDBOX merchant account and get its test secret key (sk_test_…) and webhook secret, with no human step. Sandbox only: no real money, simulated "},{"name":"xaalis_create_payment","description":"Create a payment and get a hosted checkout_url to send to the customer (Wave or Orange Money). The payment is NOT paid until its status is 'succeeded' — check w"},{"name":"xaalis_get_payment","description":"Read a payment's current status, amount, fee and checkout link. 'succeeded' is the only proof the customer paid."},{"name":"xaalis_list_payments","description":"List payments, newest first, optionally filtered by status."},{"name":"xaalis_simulate_payment","description":"Sandbox only: make a test payment succeed or fail as if the customer had paid (or declined) in their wallet. Triggers the same webhooks as a real payment."},{"name":"xaalis_refund_payment","description":"Send the FULL amount of a succeeded Wave payment back to the customer (no partial refunds). The merchant's available balance must cover it. One refund per payme"},{"name":"xaalis_list_refunds","description":"Read the refund of a payment, if any (a list of zero or one). Use it to check an uncertain refund instead of retrying."},{"name":"xaalis_get_balance","description":"The merchant's available balance (withdrawable) and money reserved for payouts in flight, in XOF."},{"name":"xaalis_create_payout","description":"Sandbox only with a merchant key: send money from the merchant balance to a Wave or Orange Money number. In production, agents pay out only through an agent wal"},{"name":"xaalis_get_payout","description":"Read a payout's status (pending, processing, succeeded, failed)."},{"name":"xaalis_list_payouts","description":"List the merchant's payouts, newest first, with their status and recipient."},{"name":"xaalis_list_webhook_deliveries","description":"Recent webhooks Xaalis sent to the merchant's endpoint, with status, attempts and the last error — use it to debug a webhook integration."},{"name":"xaalis_create_subscription","description":"Bill a customer every day/week/month/year. Invoice 0 is issued at once: send its hosted_invoice_url (in latest_invoice) to the customer. Set billing_cycles (2–2"},{"name":"xaalis_get_subscription","description":"Read a subscription: status, cycles paid, latest invoice."},{"name":"xaalis_list_subscriptions","description":"List subscriptions, newest first, optionally by status."},{"name":"xaalis_cancel_subscription","description":"Cancel now (voids the unpaid invoice if checkout hasn't started) or at the end of the current period."},{"name":"xaalis_advance_subscription","description":"Sandbox only: jump to the subscription's next billing event (next invoice, due date or end of grace) to test renewals without waiting."},{"name":"xaalis_get_invoice","description":"Read a subscription invoice: status, amount, due date, and hosted_invoice_url (the stable link to send the customer)."},{"name":"xaalis_list_invoices","description":"List invoices, optionally for one subscription or by status."},{"name":"xaalis_create_agent_wallet","description":"Sandbox: create a spending wallet for an AI agent, with a per-payout cap and the only phone numbers it may pay. Fund it, then issue its ak_test_ key. In product"},{"name":"xaalis_fund_agent_wallet","description":"Sandbox: move money from the merchant balance into an agent wallet. The wallet's balance is the agent's total spend limit."},{"name":"xaalis_reclaim_agent_wallet","description":"Sandbox: move unreserved money from an agent wallet back to the merchant balance."},{"name":"xaalis_issue_agent_key","description":"Sandbox: issue the ak_test_ key an agent uses to pay out from this wallet. The secret is shown ONCE — store it in a secret store or env var right away. Retrying"},{"name":"xaalis_disable_agent_wallet","description":"Stop an agent wallet: its keys can no longer start payouts. Payouts already accepted finish normally. Safe to repeat."},{"name":"xaalis_list_agent_wallets","description":"List the merchant's agent wallets and their policies."},{"name":"xaalis_get_agent_wallet","description":"Read an agent wallet's policy and balance."}],"toolCount":28,"toolsHash":"1956edbc06dd539bbec40e3344e74e3973e001131d2967d64b0b83af600f16e2","serverName":"xaalis","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":null,"package":null,"toolSurface":{"id":"ts_tzvjwysn6v4t","endpointId":"ep_cnwvrzd3tuqg","hash":"1956edbc06dd539bbec40e3344e74e3973e001131d2967d64b0b83af600f16e2","toolCount":28,"serverName":"xaalis","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-11-04T05:28:54.649Z","lastSeenAt":"2026-11-07T02:29:20.782Z","observations":9,"hiddenText":{"level":"none","total":0,"tools":0,"kinds":[],"findings":[]},"toolNames":["xaalis_whoami","xaalis_search_docs","xaalis_sandbox_signup","xaalis_create_payment","xaalis_get_payment","xaalis_list_payments","xaalis_simulate_payment","xaalis_refund_payment","xaalis_list_refunds","xaalis_get_balance","xaalis_create_payout","xaalis_get_payout","xaalis_list_payouts","xaalis_list_webhook_deliveries","xaalis_create_subscription","xaalis_get_subscription","xaalis_list_subscriptions","xaalis_cancel_subscription","xaalis_advance_subscription","xaalis_get_invoice","xaalis_list_invoices","xaalis_create_agent_wallet","xaalis_fund_agent_wallet","xaalis_reclaim_agent_wallet","xaalis_issue_agent_key","xaalis_disable_agent_wallet","xaalis_list_agent_wallets","xaalis_get_agent_wallet"],"distinctSurfaces":1,"surfacesWithHiddenText":0},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"org.xaalis/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/org.xaalis%2Fmcp","firstSeenAt":"2026-11-04T03:23:06.451Z","fetchedAt":"2026-11-04T03:23:06.451Z","normalizedAt":"2026-11-04T03:23:06.451Z"}]},"firstSeenAt":"2026-11-04T03:23:06.451Z","updatedAt":"2026-11-07T02:31:43.728Z"}