MCP 서버

Social Perks

io.github.benzatkulak-collab/socialperks
비즈니스 및 운영 마케팅 및 광고 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Manages marketing campaigns involving influencer actions, proof submissions, reviews, perks, campaign statistics, and industry benchmarks.

createCampaign
Create 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.
입력 스키마
{'type': 'object', 'required': ['businessId', 'name', 'actions', 'discountValue', 'discountType'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'description': 'Customer-facing campaign name'}, 'actions': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': "Action IDs the campaign accepts (e.g. ['ig_st'] for an Instagram Story Tag)."}, 'businessId': {'type': 'string', 'description': "The business owning this campaign. Must match the API key's business."}, 'description': {'type': 'string', 'description': 'Optional internal description'}, 'discountType': {'enum': ['pct', 'dol'], 'type': 'string', 'description': "Discount denomination: 'pct' for percentage, 'dol' for dollars off."}, 'discountValue': {'type': 'number', 'minimum': 0.01, 'description': 'Discount amount. Capped at 100 for pct, 10000 for dol.'}, 'expiresInDays': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Days until the campaign auto-expires. Default 60.'}, 'maxCompletions': {'type': ['integer', 'null'], 'description': 'Optional cap on total completions. Null = no cap.'}}}
getBenchmarks
Get industry benchmarks (engagement rate, conversion rate, etc.) for a business type.
입력 스키마
{'type': 'object', 'properties': {'businessType': {'type': 'string', 'description': "Industry name or slug (e.g. 'restaurants', 'coffee-shops'). Omit for the full catalog."}}}
getCampaignStats
Get 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.
입력 스키마
{'type': 'object', 'required': ['campaignId'], 'properties': {'campaignId': {'type': 'string', 'description': 'Campaign to fetch stats for.'}}}
getPricing
Get the market-rate pricing for a marketing action. Returns USD value and recommended perk type/value.
입력 스키마
{'type': 'object', 'properties': {'actionId': {'type': 'string', 'description': 'Action ID (e.g. ig_post, google_review)'}, 'platformId': {'type': 'string', 'description': 'Platform ID (e.g. instagram, google)'}, 'businessType': {'type': 'string', 'description': 'Business type modifier (default: general)'}}}
listActions
List the 125 marketing actions available on Social Perks. Filterable by platform, type, and effort.
입력 스키마
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1}, 'type': {'enum': ['content', 'review', 'engage', 'share', 'referral'], 'type': 'string'}, 'perPage': {'type': 'integer', 'default': 50}, 'maxEffort': {'type': 'integer', 'maximum': 5, 'minimum': 0}, 'platformId': {'type': 'string'}}}
listCampaigns
List campaigns. Requires auth — returns the caller's campaigns.
입력 스키마
{'type': 'object', 'properties': {'status': {'enum': ['draft', 'active', 'paused', 'completed'], 'type': 'string'}}}
listSubmissions
List submissions for a business or campaign, filterable by state (pending/approved/rejected). Returns paginated results.
입력 스키마
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'state': {'enum': ['pending', 'approved', 'rejected'], 'type': 'string'}, 'perPage': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'businessId': {'type': 'string'}, 'campaignId': {'type': 'string'}}}
reviewSubmission
Approve or reject a submission. Approving releases the perk; rejecting requires a reason. Use this when the business chooses manual review over auto-verification.
입력 스키마
{'type': 'object', 'required': ['submissionId', 'decision'], 'properties': {'reason': {'type': 'string', 'maxLength': 500, 'description': "Required when decision='reject'. 1-500 chars."}, 'decision': {'enum': ['approve', 'reject'], 'type': 'string', 'description': 'Approve releases the perk. Reject explains why the proof was insufficient.'}, 'submissionId': {'type': 'string', 'description': 'Submission id from a prior submitProof call.'}}}
searchInfluencers
Search influencers by platform and follower count.
입력 스키마
{'type': 'object', 'properties': {'platform': {'type': 'string'}, 'minFollowers': {'type': 'integer'}}}
submitProof
Submit 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).
입력 스키마
{'type': 'object', 'required': ['campaignId', 'actionId', 'proofUrl', 'proofType'], 'properties': {'actionId': {'type': 'string', 'description': 'Specific action being completed (must be allowed by the campaign).'}, 'metadata': {'type': 'object', 'description': 'Optional bag of context (poster handle, post timestamp, etc.).', 'additionalProperties': True}, 'proofUrl': {'type': 'string', 'maxLength': 2048, 'description': 'Public URL of the proof. For url-type submissions, the platform verifier will fetch this.'}, 'proofType': {'enum': ['screenshot', 'url', 'video', 'api_verified'], 'type': 'string', 'description': "How the proof was captured. 'url' triggers automated verification."}, 'campaignId': {'type': 'string', 'description': 'Campaign the submission applies to.'}}}
추가됨
getCampaignStats
2026년 9월 17일 12:40 PM
추가됨
listSubmissions
2026년 9월 17일 12:40 PM
추가됨
reviewSubmission
2026년 9월 17일 12:40 PM
추가됨
submitProof
2026년 9월 17일 12:40 PM
추가됨
createCampaign
2026년 9월 17일 12:40 PM
추가됨
searchInfluencers
2026년 9월 17일 12:40 PM
추가됨
listCampaigns
2026년 9월 17일 12:40 PM
추가됨
getBenchmarks
2026년 9월 17일 12:40 PM
추가됨
listActions
2026년 9월 17일 12:40 PM
추가됨
getPricing
2026년 9월 17일 12:40 PM