Model Context Protocol
MCP tools
Direct JSON-RPC connection to /mcp authenticated via Secure HttpOnly meta_session cookie. The toggle below enables safe tool testing in the browser.
Loading preference…
Discovery must return OK before agent tools can be enabled.
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_campaignlockedAllows the app to send new campaigns to Meta. Campaigns are always created PAUSED and still require per-action approval.
Update campaign
meta_update_campaignlockedAllows edits to name, status, and budget fields on existing campaigns. Every edit still requires per-action approval.
Pause campaign
meta_pause_campaignlockedAllows 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.
List every Meta ad account the connected user can access.
no parameters
List Facebook Pages the connected user manages.
no parameters
List campaigns inside a specific ad account.
- adAccountId*string
- limit?number
Fetch a single campaign by its Meta id.
- campaignId*string
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.
Create a campaign. Always created PAUSED. Requires confirmation approval before it runs.
- adAccountId*string
- name*string
- objective*string
- specialAdCategories?string[]
- confirmationToken?string
Update a campaign's name or status. Requires confirmation approval.
- campaignId*string
- name?string
- status?ACTIVE | PAUSED
- confirmationToken?string
Pause a running campaign. Requires confirmation approval.
- campaignId*string
- confirmationToken?string