<?php

namespace App\Mcp\Servers;

use App\Mcp\Tools\GoogleAds\CreateCampaign;
use App\Mcp\Tools\GoogleAds\CreateVideoAsset;
use App\Mcp\Tools\GoogleAds\ListAccounts;
use App\Mcp\Tools\GoogleAds\ListCampaigns;
use App\Mcp\Tools\GoogleAds\SelectAccount;
use App\Mcp\Tools\GoogleAds\UpdateCampaign;
use App\Mcp\Tools\GoogleAds\UpdateCampaignDraft;
use Laravel\Mcp\Server;
use Laravel\Mcp\Server\Attributes\Instructions;
use Laravel\Mcp\Server\Attributes\Name;
use Laravel\Mcp\Server\Attributes\Version;

#[Name('Google Ads MCP')]
#[Version('1.0.0')]
#[Instructions('Manage paused Google Ads campaigns for the authenticated user. Campaign changes use the user-selected Google Ads customer account and never connect to the application chat agent.')]
class GoogleAdsServer extends Server
{
    protected array $tools = [
        ListCampaigns::class,
        ListAccounts::class,
        SelectAccount::class,
        CreateCampaign::class,
        CreateVideoAsset::class,
        UpdateCampaignDraft::class,
        UpdateCampaign::class,
    ];
}
