<?php

namespace App\Mcp\Servers;

use App\Mcp\Tools\Performance\CampaignHealth;
use App\Mcp\Tools\Performance\FindCampaign;
use App\Mcp\Tools\Performance\ListAdopsCatalog;
use App\Mcp\Tools\Performance\PortfolioSummary;
use App\Mcp\Tools\Performance\QueryAdops;
use Laravel\Mcp\Server;
use Laravel\Mcp\Server\Attributes\Instructions;
use Laravel\Mcp\Server\Attributes\Name;
use Laravel\Mcp\Server\Attributes\Version;

#[Name('Campaign Performance MCP')]
#[Version('1.0.0')]
#[Instructions(<<<'TEXT'
Read-only Whale arb_adops_* data filled by admediacron. Do not call Meta, Google, or LinkedIn APIs.
If the question is about accounts, countries, ads, ad sets, placements, devices, creatives, targeting, affiliate revenue, conversions, quality, or ingest health: call list_adops_catalog then query_adops. Slice with account_id, country, campaign_id, dates, and group_by.
Use find_campaign, campaign_health, and portfolio_summary only for pause/keep verdicts.
Quote only numbers these tools return. Never invent rows. Never mutate platforms.
Meta is live. Google and LinkedIn ingest is not ready.
TEXT)]
class CampaignPerformanceServer extends Server
{
    protected array $tools = [
        ListAdopsCatalog::class,
        QueryAdops::class,
        FindCampaign::class,
        CampaignHealth::class,
        PortfolioSummary::class,
    ];

    protected array $resources = [];

    protected array $prompts = [];
}
