MCP Reference BETA

Connect your AI tools to CPIDroid.

The CPIDroid MCP server exposes campaign management tools through JSON-RPC, so compatible AI clients can inspect and manage campaigns with your permission.

Server URL https://mcp.cpidroid.com

Getting started

Create an active token with type MCP, register the server URL in your AI client, and provide the token as an HTTP Bearer token.

JSON-RPCPOST https://mcp.cpidroid.com

One server, many tools

Send JSON-RPC 2.0 requests to the server URL. The standard methods initialize, ping, tools/list, and tools/call are supported.

AUTHAuthorization: Bearer

Keep the token private

Tokens authenticate access to campaign data. Store them in your AI client configuration and never place them in browser code or public repositories.

Available tools

Call a tool by name and provide its arguments in the params.arguments object.

Tool Description Arguments Docs
campaign/add Create a CPIDroid campaign for the authenticated user apikey, platform, application_url, campaign_type, budget, bid, download_rate, tracking_provider, redirect_url, target_countries, device, os, app_name, app_icon, keyword_sets, limit_strategy, event_name, event_conversion_time, event_description, confirm View Docs
campaign/list List CPIDroid campaigns with optional filters apikey, status, limit View Docs
campaign/get Get CPIDroid campaign details and stats apikey, campaign_id View Docs
campaign/start Start a pending or capped CPIDroid campaign apikey, campaign_id View Docs
campaign/pause Pause a running or capped CPIDroid campaign apikey, campaign_id View Docs
wallet/balance Get the authenticated user's USD balance apikey View Docs

Example requests

Each example uses JSON-RPC 2.0. Replace the placeholder with your MCP token before sending the request.

tools/call · campaign/add
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "campaign/add",
        "arguments": {
            "apikey": "YOUR_MCP_API_KEY",
            "platform": "android",
            "application_url": "https://play.google.com/store/apps/details?id=com.example.app",
            "campaign_type": "cpi",
            "budget": 100,
            "bid": 0.5,
            "confirm": {
                "tracking": 1,
                "policy": 1
            }
        }
    }
}
tools/call · campaign/list
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "campaign/list",
        "arguments": {
            "apikey": "YOUR_MCP_API_KEY",
            "status": "all",
            "limit": 25
        }
    }
}
tools/call · campaign/get
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "campaign/get",
        "arguments": {
            "apikey": "YOUR_MCP_API_KEY",
            "campaign_id": 12345
        }
    }
}
tools/call · campaign/start
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "campaign/start",
        "arguments": {
            "apikey": "YOUR_MCP_API_KEY",
            "campaign_id": 12345
        }
    }
}
tools/call · campaign/pause
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "campaign/pause",
        "arguments": {
            "apikey": "YOUR_MCP_API_KEY",
            "campaign_id": 12345
        }
    }
}
tools/call · wallet/balance
[]

Errors and responses

JSON-RPC errors use standard error codes. Invalid requests return an error object with a code and message. Tool failures are returned as an error response instead of campaign data.

Response contract

Successful calls return jsonrpc, the matching request id, and a result. Tool results contain a content array whose text payload is JSON-encoded campaign data.