Plan workbook
Loading server catalog…. Download catalog
https://app.advarde.com/mcpAvailable subject to your connection’s permissions.
Description: Parse the official OpenAI Ads Manager campaign workbook (campaigns, adgroups, ads) and compile a paused Bulk API job. Accepts workbook_base64 (.xlsx) or the three sheet arrays. Does not save a change. Conversion campaigns are rejected because the documented bulk wire format cannot attach conversion settings. Launch and end dates are previewed only.
Method: tools/call · ads_plan_workbook
Output: Tool data is returned in result.structuredContent and as JSON text in result.content. Inspect result.isError before using the result. Individual output fields depend on the operation.
Access: Read access to the relevant workspace and account.
Authentication
Use an MCP access token from MCP connections, or connect through OAuth. Send your token in the Authorization: Bearer header.
For full protocol initialization and tool discovery, use an MCP client. These examples show individual JSON-RPC requests.
Tool arguments
Send these fields inside params.arguments. The tool name is sent as params.name.
account_idstringrequired"uuid"workbook_base64stringoptional800000sheetsobjectoptionalfalseEXPAND SHEETS
campaignsarrayoptional1000EXPAND CAMPAIGNS
Each array item
{
"type": "object"
}adgroupsarrayoptional1000EXPAND ADGROUPS
Each array item
{
"type": "object"
}adsarrayoptional1000EXPAND ADS
Each array item
{
"type": "object"
}validate_onlybooleanoptionalpartial_failurebooleanoptionalFull JSON Schema
{
"type": "object",
"properties": {
"account_id": {
"type": "string",
"format": "uuid"
},
"workbook_base64": {
"type": "string",
"maxLength": 800000
},
"sheets": {
"type": "object",
"additionalProperties": false,
"properties": {
"campaigns": {
"type": "array",
"items": {
"type": "object"
},
"maxItems": 1000
},
"adgroups": {
"type": "array",
"items": {
"type": "object"
},
"maxItems": 1000
},
"ads": {
"type": "array",
"items": {
"type": "object"
},
"maxItems": 1000
}
}
},
"validate_only": {
"type": "boolean"
},
"partial_failure": {
"type": "boolean"
}
},
"required": [
"account_id"
],
"additionalProperties": false
}Responses
200Successful protocol response
Inspect result.isError for tool-level failures, even when the HTTP status is 200.
202Notification accepted
MCP notifications return no JSON-RPC response body.
400Invalid request
Check the JSON-RPC envelope, parameters, and protocol version.
406Not acceptable
Accept must include application/json and text/event-stream.
429Rate limited
Wait for the Retry-After interval before making another request.
401Unauthorized
A valid, unexpired MCP bearer token is required.
403Access denied
Your connection needs access to this workspace and the requested operation.