# Perkadoo Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Perkadoo

Run streak programs, giveaways and loyalty rewards with member tracking and analytics.

- Record: https://musedirectory.ai/connector/perkadoo
- Category: Marketing & Ads
- Developer: Perkadoo (https://perkadoo.com/docs/api/mcp)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 265ms, checked 2026-10-29T18:51:22Z
- Endpoint: https://mcp.perkadoo.com/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T18:51:22Z)
- Source: Found in the official MCP Registry (com.perkadoo/perkadoo) https://registry.modelcontextprotocol.io/v0/servers?search=com.perkadoo%2Fperkadoo

Perkadoo manages engagement programs including daily/weekly/monthly streaks, verifiable giveaway draws, and perks. Muse can record member actions, check streak status, display progress widgets, and pull analytics on retention and engagement.

Example request: "Show me how many members are at risk of losing their streak this week and help me send them a nudge."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Perkadoo to help me. It is a free service with an MCP server at https://mcp.perkadoo.com/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- list_projects: List the Perkadoo projects available to the authenticated MCP credential.
- create_project: Create a new Perkadoo project for the authenticated user or organization scope.
- record_event: Record a streak/program event from an agent or automation.
- get_streak_state: Read current streak/program state for a subject.
- get_install_snippets: Return install guidance for a program: a webhook snippet that counts actions from a server or automation, and a widget snippet that displays progress.
- list_saved_draws: List the Winner Picker draws saved to your workspace, newest first. Choose a brand to select its workspace.
- get_or_rotate_program_hook: Get the private incoming URL that counts actions from Zapier, Make or another sender. Creates it on first use. rotate true immediately invalidates the old URL. Keep the URL out of public pages and cards.
- get_or_rotate_identity_secret: Get the brand-scoped secret a server uses to prove member identity before protected rewards are revealed. rotate true requires the current fromVersion and invalidates the old secret. Keep it server-side; never place it in a widget, card or message to a member.
- get_site_snippet: Build one widget bundle loader with a giveaway banner, a streak display and an optional perk toast. Supply the site's signed-in member template for streaks or perks; it must render a different real ID per member. Only displays progress and rewards; action counting remains server-
- get_program: Read one streak program, its appearance and milestones. Signing secrets are never included.
- list_milestones: Read a streak's milestones and linked perks, ordered by target.
- replace_milestones: Replace the entire milestone ladder, removing omitted milestones. Read list_milestones first and keep existing IDs for milestones you retain. An empty list removes the ladder.
- update_widget_settings: Change the widget's theme, position, copy or branding. Leaves rules, milestones, signing secrets and publication unchanged. Hiding branding requires the account's existing entitlement.
- set_milestone_perk: Link an existing perk from the same brand to a milestone, or pass null to unlink it. Keeps the perk and any existing grants.
- get_program_setup: Check whether a widget shows, a real action arrived, member progress moved and the program is live. Includes the latest rejected action and the next setup step.
- get_program_analytics: Read a program's real interactions, impressions, people, trends and event sources for a date range up to one year. Test activity is excluded. Uses the same analytics and entitlement rules as the dashboard.
- get_streak_performance: Read the streak distribution, best streaks and progress for a program. Excludes synthetic test activity.
- get_retention: Read day 1, 7 and 30 retention, cohorts and sample sizes for a streak. Low-data results stay explicit.
- get_member_engagement: Read active, new and returning members and activity patterns for a streak over up to 90 days.
- list_program_activity: Read recent real member actions for one program, newest first. Does not return raw event metadata or synthetic tests.
- get_proof_report: Read the latest holdout experiment, its sample sizes and measured return rate. Returns null when no experiment exists; never invents uplift.
- start_proof: Start a holdout experiment on a live streak with verified server tracking. The chosen percentage of new members will not receive incentives during the experiment. Only do this when the operator explicitly requests the experiment and confirms tracking.
- stop_proof: Stop a running holdout experiment on this streak. This ends enrollment and observation early and cannot be undone.
- get_project: Read a brand's name, logo, description, site key, allowed domain and timezone. Only brands in the connected account are accessible.
- update_project: Change a brand's name, logo, description or allowed website domain. Changing the domain changes where its widgets may load. null clears the logo or description. Cannot change ownership or workspace.
- list_members: Read a page of a brand's people, newest first: what each entered and won, their best streak, perks held and friends they brought in. Use nextCursor to continue. Does not invent an active or at-risk status.
- get_brand_theme: Read the theme a brand's embeds use and its saved version. scope workspace reads the theme every brand in the workspace inherits; scope brand reads what this brand shows, which is its own theme when it has one (own: true), else the workspace theme.
- update_brand_theme: Save a brand theme. scope workspace saves the theme every brand inherits, as a workspace owner or admin. scope brand saves this brand's own theme, as its owner or a workspace admin; theme null clears it so the brand inherits the workspace theme again. Read get_brand_theme with th
- import_brand: Draft a brand's name, logo, colour, font and one-line description from its site, its connected Instagram account, its own words or an @handle, without saving anything. Show the draft, let the owner tweak it, then call save_brand. A site or a connected Instagram account gives the 
- save_brand: Save a brand's name, logo, description, colour and font, usually the draft import_brand returned after the owner's tweaks. The colour and font become this brand's own theme; a site sets where its widgets may load when none is set yet. Saving the same draft twice changes nothing m
- get_outbound_webhook: Read the follow-up URL, enabled state and selected events for a program. Signing secrets are excluded.
- upsert_outbound_webhook: Set or disable the program's shared follow-up webhook. Member activity and reward details will be sent to the URL when enabled. A signing secret is returned only on creation or explicit rotation; rotation invalidates the old secret. Use only an endpoint the operator controls.
- list_webhook_deliveries: Read recent follow-up attempts and delivery status for a program. Does not return signatures, signing secrets or response bodies.
- queue_test_webhook: Queue a synthetic test for the program's configured shared webhook. This will send an external request; use only when the operator asks. Queued is not delivered: read list_webhook_deliveries for the result.
- list_programs: List a brand's streak programs with their event key, cadence, target and status.
- create_program: Create a Streaks program that counts one action per day, week or month. It starts in test; set status live once real actions arrive.
- update_program: Change a streak program's name, event key, cadence, target, timezone or status.
- create_milestone: Create or update a milestone on a streak program: the count to reach, the message members see and an optional coupon or link reward.
- create_or_rotate_webhook_secret: Return the secret a server or automation signs streak actions with. Rotate replaces it; the old one stops working.
- list_at_risk_users: List members whose streak hasn't moved since the cutoff date, oldest first, so you can nudge them back.

Screening checks:
- MCP handshake: pass (Answered in 265ms)
- Domain against threat feeds (Cloudflare security DNS): pass (mcp.perkadoo.com, perkadoo.com not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (97 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (Domain registered 8 days ago)
- AI review of purpose and tool behavior: pass (No concerns)
