# Viral Loops — MCP server on mcp.ai > Connect your Viral Loops account and use 9 tools for marketing automation straight from your AI agent. Connect with your own API key. Viral Loops is a referral marketing platform for managing campaigns, participants, referrals, conversions, leaderboards, and rewards. By: mcp.ai · official Page: https://mcp.ai/viral_loops ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_viral_loops?ms=1787291400000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/viral_loops/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/viral_loops/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/viral_loops/skill.md Postman collection (v2.1): https://mcp.ai/viral_loops/postman.json ## Tools - viral_loops_get_campaign_info() — Return the connected campaign's identity, template, expiration mode and date, points, GDPR, and integration configuration without bulky presentation styling. - viral_loops_get_campaign_stats() — Return the connected campaign's lead count and total referral count. - viral_loops_get_participant(email?: string, referral_code?: string) — Return one participant's profile, referral totals, rank, referrer, and reward summaries by email or referral code. - viral_loops_list_participant_referrals(email?: string, limit?: integer, offset?: integer, referral_code?: string) — Return one participant's referrals by email or referral code, with explicit offset pagination. The provider's response fields and pagination metadata are preserved as returned. - viral_loops_look_up_participants(limit?: integer, offset?: integer, referrers?: object[], participants?: object[]) — Batch lookup exact participant and referrer identifiers, returning matching campaign records with explicit offset pagination. - viral_loops_register_participant(email: string, consents?: object, last_name?: string, extra_data?: object, first_name?: string, acquired_from?: string, referral_source?: string, referrer_referral_code?: string) — Register an email address in the connected campaign, optionally with a referrer and participant metadata. This creates persistent participant data; Viral Loops provides no API operation to delete it. - viral_loops_search_participants(limit?: integer, offset?: integer, source?: string, search_term?: string, conversion_status?: string) — Search campaign participants by text, conversion status, and acquisition source, with explicit offset pagination. - viral_loops_track_participant_conversion(email?: string, value?: number, referral_code?: string) — IRREVERSIBLE: Record a conversion event for one registered participant. This operation cannot be undone and may affect conversion counts, campaign automation, and rewards. It is available only for Mil - viral_loops_update_participant(email?: string, last_name?: string, extra_data?: object, first_name?: string, send_emails?: boolean, referral_code?: string, referral_count?: integer, conversion_count?: integer, trigger_integrations?: boolean) — Update one participant's name, referral or conversion counts, or custom data, identified by email or referral code. Campaign emails and connected integration triggers default to off; when enabled, tho ## Example prompts - "What can I do in Viral Loops?" - "Show me a summary of my Viral Loops account" ## Links Docs: https://mcp.ai/docs/mcps/viral_loops Website: https://mcp.ai/mcps/viral_loops