{
  "$schema": "https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json",
  "version": "1.0",
  "protocolVersion": "2025-06-18",
  "serverInfo": {
    "name": "revsponse-mcp",
    "title": "Revsponse",
    "version": "0.1.0"
  },
  "description": "Read-only access to a signed-in Revsponse user's campaigns, offers, conversations, advocates and wallet. Revsponse is a marketplace where B2B software brands pay their real customers for authentic, disclosed posts and content.",
  "documentationUrl": "https://revsponse.com/connect",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://rjqcciialhuitlcralxd.supabase.co/functions/v1/mcp"
  },
  "authentication": {
    "required": true,
    "schemes": ["oauth2"],
    "resourceMetadata": "https://rjqcciialhuitlcralxd.supabase.co/functions/v1/mcp/.well-known/oauth-protected-resource",
    "authorizationServers": ["https://rjqcciialhuitlcralxd.supabase.co/auth/v1"],
    "documentationUrl": "https://revsponse.com/auth.md"
  },
  "capabilities": {
    "tools": { "listChanged": false }
  },
  "instructions": "Start with whoami. All tools are read-only. Results are paginated: check has_more before summarizing totals, and if count_exact is false describe the total as unknown. Money values are in cents.",
  "tools": [
    {
      "name": "whoami",
      "title": "Who am I",
      "description": "Return the signed-in Revsponse user's profile summary (id, full name, account type, and their current marketer org, if any)."
    },
    {
      "name": "list_my_received_offers",
      "title": "List offers I've received",
      "description": "List paid-post offers the signed-in Revsponse user has received from marketers, newest first. Optionally filter by status."
    },
    {
      "name": "list_sent_offers",
      "title": "List offers my org has sent",
      "description": "List paid-post offers the signed-in marketer's org has sent to users, newest first. Requires marketer org membership."
    },
    {
      "name": "list_my_campaigns",
      "title": "List my campaigns",
      "description": "List Revsponse campaigns owned by the signed-in marketer's org, newest first. Optionally filter by status."
    },
    {
      "name": "get_org_wallet",
      "title": "Get org wallet coverage",
      "description": "Return the signed-in marketer org's wallet balance, currently committed funds, and how much is available to commit to new offers. Values are in cents."
    },
    {
      "name": "list_my_conversations",
      "title": "List my conversations",
      "description": "List visible Revsponse offer conversations, including counterparty, campaign, offer status, latest visible message, and unread count."
    },
    {
      "name": "get_conversation",
      "title": "Get a conversation",
      "description": "Get the visible messages in one Revsponse offer conversation, oldest first."
    },
    {
      "name": "search_advocates",
      "title": "Search advocates",
      "description": "Search advocates within the signed-in marketer org's tracked-software set, by software, stance, channel, title and price."
    },
    {
      "name": "list_my_advocates",
      "title": "List my advocates",
      "description": "List the advocates the signed-in marketer org has already worked with or added to its roster."
    }
  ]
}
