Run streak programs, giveaways and loyalty rewards with member tracking and analytics.
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.
Try asking Muse: "Show me how many members are at risk of losing their streak this week and help me send them a nudge."
Source: Found in the official MCP Registry (com.perkadoo/perkadoo) · First listed October 29, 2026
Each bar is one check, every 15 minutes. Green means it answered. Last checked 2 h ago.
What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.
Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.
musedirectory.ai is not part of Meta. More about how Muse handles your information
Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. 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.
https://mcp.perkadoo.com/mcpNot in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
Perkadoo is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.
In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).
Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.
Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.
Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.
Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT
In Claude, open Settings, then Connectors.
Choose Add custom connector, give it a name, and paste the link.
If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.
Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude
https://mcp.perkadoo.com/mcpResponse time at the last check: 265ms. Worked in n/a of checks over 30 days.
Screened, no issues found
Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.
list_projectsList the Perkadoo projects available to the authenticated MCP credential.create_projectCreate a new Perkadoo project for the authenticated user or organization scope.record_eventRecord a streak/program event from an agent or automation.get_streak_stateRead current streak/program state for a subject.get_install_snippetsReturn 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_drawsList the Winner Picker draws saved to your workspace, newest first. Choose a brand to select its workspace.get_or_rotate_program_hookGet 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_secretGet 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_snippetBuild 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_programRead one streak program, its appearance and milestones. Signing secrets are never included.list_milestonesRead a streak's milestones and linked perks, ordered by target.replace_milestonesReplace 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_settingsChange 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_perkLink 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_setupCheck 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_analyticsRead 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_performanceRead the streak distribution, best streaks and progress for a program. Excludes synthetic test activity.get_retentionRead day 1, 7 and 30 retention, cohorts and sample sizes for a streak. Low-data results stay explicit.get_member_engagementRead active, new and returning members and activity patterns for a streak over up to 90 days.list_program_activityRead recent real member actions for one program, newest first. Does not return raw event metadata or synthetic tests.get_proof_reportRead the latest holdout experiment, its sample sizes and measured return rate. Returns null when no experiment exists; never invents uplift.start_proofStart 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_proofStop a running holdout experiment on this streak. This ends enrollment and observation early and cannot be undone.get_projectRead a brand's name, logo, description, site key, allowed domain and timezone. Only brands in the connected account are accessible.update_projectChange 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_membersRead 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_themeRead 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_themeSave 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 thimport_brandDraft 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_brandSave 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 mget_outbound_webhookRead the follow-up URL, enabled state and selected events for a program. Signing secrets are excluded.upsert_outbound_webhookSet 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_deliveriesRead recent follow-up attempts and delivery status for a program. Does not return signatures, signing secrets or response bodies.queue_test_webhookQueue 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_programsList a brand's streak programs with their event key, cadence, target and status.create_programCreate a Streaks program that counts one action per day, week or month. It starts in test; set status live once real actions arrive.update_programChange a streak program's name, event key, cadence, target, timezone or status.create_milestoneCreate 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_secretReturn the secret a server or automation signs streak actions with. Rotate replaces it; the old one stops working.list_at_risk_usersList members whose streak hasn't moved since the cutoff date, oldest first, so you can nudge them back.https://mcp.perkadoo.com/mcpNot 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.
At the last check (October 29, 2026, 18:51 UTC) the endpoint was working, answering in 265ms. It is checked every 15 minutes.
It was screened on October 29, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.
It exposes 40 tools, including list_projects, create_project, record_event, get_streak_state. For example, you could ask Muse: "Show me how many members are at risk of losing their streak this week and help me send them a nudge."
This listing was added from public sources (Found in the official MCP Registry (com.perkadoo/perkadoo)). If you build Perkadoo, claim it to correct the details and get your badge.
Paste this on your site or README. It always shows the latest check.
<a href="https://musedirectory.ai/connector/perkadoo"><img src="https://musedirectory.ai/badge/perkadoo.svg" alt="Perkadoo on musedirectory.ai" width="236" height="40"></a>