Social Perks
Agent-native marketing platform: create campaigns, submit proofs, review submissions.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"socialperks": {
"url": "https://socialperks.app/api/mcp"
}
}
}원격 엔드포인트
https://socialperks.app/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (10)
🟢getPricing(actionId, platformId, businessType)
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(platformId, type, maxEffort, page, perPage)
List the 125 marketing actions available on Social Perks. Filterable by platform, type, and effort.
입력 스키마
{
"type": "object",
"properties": {
"platformId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"content",
"review",
"engage",
"share",
"referral"
]
},
"maxEffort": {
"type": "integer",
"minimum": 0,
"maximum": 5
},
"page": {
"type": "integer",
"default": 1
},
"perPage": {
"type": "integer",
"default": 50
}
}
}🟢getBenchmarks(businessType)
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."
}
}
}🟢listCampaigns(status)
List campaigns. Requires auth — returns the caller's campaigns.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused",
"completed"
]
}
}
}🟢searchInfluencers(platform, minFollowers)
Search influencers by platform and follower count.
입력 스키마
{
"type": "object",
"properties": {
"platform": {
"type": "string"
},
"minFollowers": {
"type": "integer"
}
}
}🟡createCampaign(businessId, name, description, actions, discountValue, ...)
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",
"properties": {
"businessId": {
"type": "string",
"description": "The business owning this campaign. Must match the API key's business."
},
"name": {
"type": "string",
"description": "Customer-facing campaign name",
"maxLength": 200
},
"description": {
"type": "string",
"description": "Optional internal description"
},
"actions": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Action IDs the campaign accepts (e.g. ['ig_st'] for an Instagram Story Tag)."
},
"discountValue": {
"type": "number",
"minimum": 0.01,
"description": "Discount amount. Capped at 100 for pct, 10000 for dol."
},
"discountType": {
"type": "string",
"enum": [
"pct",
"dol"
],
"description": "Discount denomination: 'pct' for percentage, 'dol' for dollars off."
},
"maxCompletions": {
"type": [
"integer",
"null"
],
"description": "Optional cap on total completions. Null = no cap."
},
"expiresInDays": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"description": "Days until the campaign auto-expires. Default 60."
}
},
"required": [
"businessId",
"name",
"actions",
"discountValue",
"discountType"
]
}🟡submitProof(campaignId, actionId, proofUrl, proofType, metadata)
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",
"properties": {
"campaignId": {
"type": "string",
"description": "Campaign the submission applies to."
},
"actionId": {
"type": "string",
"description": "Specific action being completed (must be allowed by the campaign)."
},
"proofUrl": {
"type": "string",
"description": "Public URL of the proof. For url-type submissions, the platform verifier will fetch this.",
"maxLength": 2048
},
"proofType": {
"type": "string",
"enum": [
"screenshot",
"url",
"video",
"api_verified"
],
"description": "How the proof was captured. 'url' triggers automated verification."
},
"metadata": {
"type": "object",
"description": "Optional bag of context (poster handle, post timestamp, etc.).",
"additionalProperties": true
}
},
"required": [
"campaignId",
"actionId",
"proofUrl",
"proofType"
]
}⚪reviewSubmission(submissionId, decision, reason)
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",
"properties": {
"submissionId": {
"type": "string",
"description": "Submission id from a prior submitProof call."
},
"decision": {
"type": "string",
"enum": [
"approve",
"reject"
],
"description": "Approve releases the perk. Reject explains why the proof was insufficient."
},
"reason": {
"type": "string",
"description": "Required when decision='reject'. 1-500 chars.",
"maxLength": 500
}
},
"required": [
"submissionId",
"decision"
]
}🟢listSubmissions(businessId, campaignId, state, page, perPage)
List submissions for a business or campaign, filterable by state (pending/approved/rejected). Returns paginated results.
입력 스키마
{
"type": "object",
"properties": {
"businessId": {
"type": "string"
},
"campaignId": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"pending",
"approved",
"rejected"
]
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1
},
"perPage": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
}
}
}🟢getCampaignStats(campaignId)
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",
"properties": {
"campaignId": {
"type": "string",
"description": "Campaign to fetch stats for."
}
},
"required": [
"campaignId"
]
}커뮤니티
증거