Social Perks
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Agent-native marketing platform: create campaigns, submit proofs, review submissions.
| Author | io.github.benzatkulak-collab |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 221 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Social Perks": {
"url": "https://socialperks.app/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
getPricingGet the market-rate pricing for a marketing action. Returns USD value and recommended perk type/value.
Parameters:
actionId— string — Action ID (e.g. ig_post, google_review)platformId— string — Platform ID (e.g. instagram, google)businessType— string — Business type modifier (default: general)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
listActionsList the 125 marketing actions available on Social Perks. Filterable by platform, type, and effort.
Parameters:
page— integertype— stringperPage— integermaxEffort— integerplatformId— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
getBenchmarksGet industry benchmarks (engagement rate, conversion rate, etc.) for a business type.
Parameters:
businessType— string — Industry name or slug (e.g. 'restaurants', 'coffee-shops'). Omit for the full catalog.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
listCampaignsList campaigns. Requires auth — returns the caller's campaigns.
Parameters:
status— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
searchInfluencersSearch influencers by platform and follower count.
Parameters:
platform— stringminFollowers— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
createCampaignCreate and launch a new campaign for the calling business. Returns the campaign id, name, and dashboard URL. The campaign goes live immediately — no separate publish step.
Parameters:
businessId(required) — string — The business owning this campaign. Must match the API key's business.name(required) — string — Customer-facing campaign nameactions(required) — array — Action IDs the campaign accepts (e.g. ['ig_st'] for an Instagram Story Tag).discountValue(required) — number — Discount amount. Capped at 100 for pct, 10000 for dol.discountType(required) — string — Discount denomination: 'pct' for percentage, 'dol' for dollars off.description— string — Optional internal descriptionexpiresInDays— integer — Days until the campaign auto-expires. Default 60.maxCompletions— ['integer', 'null'] — Optional cap on total completions. Null = no cap.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
submitProofSubmit proof of completion for a campaign action — a public URL to a post, a screenshot, a video, or platform-verified data. The submission enters a review queue (or auto-approves depending on the campaign's verification mode).
Parameters:
campaignId(required) — string — Campaign the submission applies to.actionId(required) — string — Specific action being completed (must be allowed by the campaign).proofUrl(required) — string — Public URL of the proof. For url-type submissions, the platform verifier will fetch this.proofType(required) — string — How the proof was captured. 'url' triggers automated verification.metadata— object — Optional bag of context (poster handle, post timestamp, etc.).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
reviewSubmissionApprove or reject a submission. Approving releases the perk; rejecting requires a reason. Use this when the business chooses manual review over auto-verification.
Parameters:
submissionId(required) — string — Submission id from a prior submitProof call.decision(required) — string — Approve releases the perk. Reject explains why the proof was insufficient.reason— string — Required when decision='reject'. 1-500 chars.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
listSubmissionsList submissions for a business or campaign, filterable by state (pending/approved/rejected). Returns paginated results.
Parameters:
page— integerstate— stringperPage— integerbusinessId— stringcampaignId— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
getCampaignStatsGet summary stats for a single campaign — total submissions, approved count, conversion rate, perks issued, and time-to-first-submission. Useful for an agent reporting back to its user.
Parameters:
campaignId(required) — string — Campaign to fetch stats for.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.