Ezoic Setup Assistant

Ezoic ads implementation assistant: integration docs, SDKs, and working, copyable setup code.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~549Tokens (tool definitions)
~952 BTypical response size
Minimal attention impact (0.43% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "setup": {
      "url": "https://setup-agent.ezoic.com/mcp"
    }
  }
}

Remote endpoints

https://setup-agent.ezoic.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪ask(agent, deadline_seconds, message, question, role, ...)

Ask the agent. Full pipeline (schema, queries, analysis). Sync within deadline_seconds; else {status:pending,job_id} — poll request_status/read_response. Pass a stable thread id (UUID) on every call for conversation context.

Input Schema

{
  "type": "object",
  "properties": {
    "agent": {
      "description": "Bundle name. Inferred from the Host header when missing.",
      "type": "string"
    },
    "deadline_seconds": {
      "description": "Synchronous wait budget. Default 240.",
      "type": "number"
    },
    "message": {
      "description": "User prompt for the agent. Either `message` or the legacy `question` alias must be set.",
      "type": "string"
    },
    "question": {
      "description": "Legacy apples-compat alias for `message`. Ignored when `message` is set.",
      "type": "string"
    },
    "role": {
      "description": "Optional role override; defaults to admin for MCP callers.",
      "type": "string"
    },
    "thread": {
      "description": "Persistent conversation id. Either `thread` or the legacy `thread_id` alias must be set.",
      "type": "string"
    },
    "thread_id": {
      "description": "Legacy apples-compat alias for `thread`. Ignored when `thread` is set.",
      "type": "string"
    }
  },
  "required": []
}
🟢help

Short orientation text for apples MCP callers.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢read_response(job_id, offset)

Stream a chunk of a pending ask() job's output.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "description": "Job id returned by a prior ask() call.",
      "type": "string"
    },
    "offset": {
      "description": "Byte offset to start reading from. 0 for the beginning.",
      "type": "number"
    }
  },
  "required": [
    "job_id"
  ]
}
🟢request_status(job_id)

Check the status of a pending ask() job.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "description": "Job id returned by a prior ask() call that went async.",
      "type": "string"
    }
  },
  "required": [
    "job_id"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools