Model Context Protocol

MCP tools

MCP integration status

Direct JSON-RPC connection to /mcp authenticated via Secure HttpOnly meta_session cookie. The toggle below enables safe tool testing in the browser.

Checking…

Loading preference…

Discovery must return OK before agent tools can be enabled.

Write tool permissions

Every confirmation-gated tool is locked by default. Grant a tool here to allow it to start the two-step approval flow. Grants live only in this browser tab and are cleared when it closes.

  • Create campaign

    meta_create_campaign locked

    Allows the app to send new campaigns to Meta. Campaigns are always created PAUSED and still require per-action approval.

  • Update campaign

    meta_update_campaign locked

    Allows edits to name, status, and budget fields on existing campaigns. Every edit still requires per-action approval.

  • Pause campaign

    meta_pause_campaign locked

    Allows moving a campaign to PAUSED status. Each pause still requires per-action approval.

JSON-RPC 2.0 endpoint

https://api.ethio-viral.com/mcp

Authenticated by the HttpOnly meta_session cookie. Never sends MCP_API_KEY from the browser.

initialize… pending

Read tools

Safe, side-effect-free lookups against the Meta Graph API.

meta_list_ad_accounts
read · safe

List every Meta ad account the connected user can access.

no parameters

meta_list_pages
read · safe

List Facebook Pages the connected user manages.

no parameters

meta_list_campaigns
read · safe

List campaigns inside a specific ad account.

  • adAccountId*string
  • limit?number
meta_get_campaign
read · safe

Fetch a single campaign by its Meta id.

  • campaignId*string
meta_get_insights
read · safe

Fetch performance insights for an account, campaign, ad set or ad.

  • objectId*string
  • datePreset?string
  • level?string

Write tools

Confirmation-gated. Never call these from the tester — use the campaign flows so approvals are staged safely.

meta_create_campaign
write · confirm

Create a campaign. Always created PAUSED. Requires confirmation approval before it runs.

  • adAccountId*string
  • name*string
  • objective*string
  • specialAdCategories?string[]
  • confirmationToken?string
meta_update_campaign
write · confirm

Update a campaign's name or status. Requires confirmation approval.

  • campaignId*string
  • name?string
  • status?ACTIVE | PAUSED
  • confirmationToken?string
meta_pause_campaign
write · confirm

Pause a running campaign. Requires confirmation approval.

  • campaignId*string
  • confirmationToken?string