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