{
  "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
  "name": "app.zerocost/mcp",
  "title": "Zerocost",
  "version": "1.1.0",
  "description": "Zerocost product tools: current pricing and the SDK quick start without auth; your own profile, apps and placements, earnings and API keys with OAuth.",
  "websiteUrl": "https://zerocost.app/developers",
  "icons": [
    {
      "src": "https://zerocost.app/favicons/light.png"
    }
  ],
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://zerocost.app/mcp",
      "supportedProtocolVersions": [
        "2025-06-18",
        "2025-03-26"
      ]
    }
  ],
  "url": "https://zerocost.app/mcp",
  "transport": "streamable-http",
  "authentication": {
    "required": false,
    "schemes": [
      "oauth2"
    ],
    "description": "get_pricing and get_quickstart need no auth. Account tools need an OAuth 2.0 bearer token with the scope named in their description.",
    "protectedResourceMetadata": "https://zerocost.app/.well-known/oauth-protected-resource/mcp"
  },
  "capabilities": {
    "tools": true,
    "resources": true
  },
  "tools": [
    {
      "name": "get_pricing",
      "description": "Current pricing (USD): publisher revenue share, advertiser CPMs and dataset prices.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "audience": {
            "type": "string",
            "enum": [
              "all",
              "publisher",
              "advertiser",
              "data_buyer"
            ],
            "default": "all",
            "description": "Limit the answer to one kind of customer."
          },
          "format": {
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ],
            "default": "markdown",
            "description": "markdown for reading, json for structured data."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    },
    {
      "name": "get_quickstart",
      "description": "Step-by-step instructions and code to install and initialize the @zerocost/sdk package in a web app.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "package_manager": {
            "type": "string",
            "enum": [
              "npm",
              "pnpm",
              "yarn",
              "bun"
            ],
            "default": "npm",
            "description": "Package manager for the install command."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    },
    {
      "name": "whoami",
      "description": "The signed-in Zerocost user: name, email, company and role. Requires OAuth scope profile:read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ],
            "default": "markdown",
            "description": "markdown for reading, json for structured data."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    },
    {
      "name": "list_my_apps",
      "description": "The user's apps and ad placements with impressions, clicks, revenue, fill rate and RPM. Requires OAuth scope apps:read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "placement_status": {
            "type": "string",
            "enum": [
              "all",
              "active",
              "paused"
            ],
            "default": "all",
            "description": "Only return placements with this status."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    },
    {
      "name": "get_my_earnings",
      "description": "The user's tracked ad revenue and payout history (USD). Requires OAuth scope earnings:read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "payout_limit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 50,
            "default": 10,
            "description": "How many recent payouts to include."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    },
    {
      "name": "list_my_api_keys",
      "description": "The user's API keys (masked) with environment and status. Requires OAuth scope api_keys:read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "environment": {
            "type": "string",
            "enum": [
              "all",
              "development",
              "production"
            ],
            "default": "all",
            "description": "Only keys with this environment label."
          },
          "status": {
            "type": "string",
            "enum": [
              "all",
              "active",
              "revoked"
            ],
            "default": "all",
            "description": "Only keys with this status."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
  ]
}