Social Perks
Agent-native marketing platform: create campaigns, submit proofs, review submissions.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"socialperks": {
"url": "https://socialperks.app/api/mcp"
}
}
}Puntos de conexión remotos
https://socialperks.app/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟢getPricing(actionId, platformId, businessType)
Get the market-rate pricing for a marketing action. Returns USD value and recommended perk type/value.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused",
"completed"
]
}
}
}🟢searchInfluencers(platform, minFollowers)
Search influencers by platform and follower count.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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).
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"campaignId": {
"type": "string",
"description": "Campaign to fetch stats for."
}
},
"required": [
"campaignId"
]
}Comunidad
Evidencia