MCP server · v0.1.0 · dev

User Acquisition MCP

Hosted MCP endpoint над рекламными сетями. HTTP+SSE для MCP-клиентов (Claude Code, Claude Desktop, custom agents). 32 tools, 5 live networks, persistent idempotency, honest audit trail.

live
uptime 20d 13h
auth · pocketbase

Quick start

Claude Code · .mcp.json

{
  "mcpServers": {
    "uamcp": {
      "url": "https://mcp.uamcp.com/mcp",
      "transport": "http",
      "headers": { "Authorization": "Bearer <uamcp_...>" }
    }
  }
}

Claude Desktop · UI

  1. Settings → Connectors → Add custom connector
  2. Name: uamcp
  3. URL: https://mcp.uamcp.com/mcp
  4. Continue → Authentication: No sign-in
  5. Request headers → x-api-token = uamcp_… (Required)
  6. Add — коннектор появится в списке tools в чате

curl

curl -s -X POST https://mcp.uamcp.com/mcp \
  -H "Authorization: Bearer <uamcp_...>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Tools 32

Инструменты — по намерениям (ADR-006), не эндпоинтам сетей. Каждый ограничен ролью пользователя. Все write-tools обёрнуты в idempotency wrapper (PocketBase hooks) — retry с тем же key возвращает cached response.

Reads 13

server.info viewer

Метаданные сервера, uptime, feature-каталог, список tools.

workspace.list viewer

Workspaces юзера с ролями и default-меткой (ADR-020).

network.enumerate viewer

Список подключённых credential'ов per tenant.

network.constraint viewer

Спека сети: форматы, лимиты, bid-стратегии из registry.

audit.query viewer

Immutable лог MCP-событий per tenant с effect snapshots.

campaign.list viewer

Кампании с бюджетом, статусом, objective.

adset.list viewer

Unified L2 (ad-sets/ad-groups) across networks (ADR-038).

keyword.list viewer

Keywords в ad-group/campaign с метриками (Google Ads).

search_terms.pull viewer

GAQL search_term_view — источник minus-word decisioning.

creative.status viewer

Статус модерации Meta video/adcreative per instance.

metrics.pull viewer

Нормализованные метрики с granularity + conversions v0.4 (CPA/ROAS).

metrics.compare viewer

Сравнение двух выборок с guard против incompatible granularity.

spend.limits viewer

Used/remaining лимиты + issue confirmToken (TTL 60s).

Writes 11

campaign.upsert editor

Create (atomic budget+campaign) ИЛИ update status, идемпотентно.

adset.upsert editor

Create ad-set с pre-check CBO/ABO (Bug 6 fix).

audience.upsert editor

Custom Audiences + Lookalike (ADR-042).

ad.upsert editor

Google ResponsiveSearchAd ИЛИ Meta ad-link к existing creative.

asset.upload editor

Image/video bytes (Meta three-phase) + Google asset/YouTube/text.

ad_creative.upsert editor

Meta adcreative composition (kind=link ИЛИ kind=video).

keyword.upsert editor

Create/update keyword с cpc bid + status (Google Ads).

negative_keyword.upsert editor

Negative keyword на campaign или ad-group scope.

creative.upload editor

Загрузить blob (image/video/playable) ≤50MB → public HTTPS URL для creative.publish (ADR-044 Phase 0).

creative.publish editor

Publish playable HTML5 v25 в Meta (ADR-041).

insights.async editor

Meta 3-action async pattern: start/status/fetch (ADR-043).

Admin 1

budget.adjust admin

Изменить бюджет через spend-guard с обязательным confirmToken.

Networks 6

Wired adapters: applovin unity mintegral google-ads meta. Rate-limit + circuit-breaker — per (tenant, network), не глобальные.

network read mutate notes
google-ads live full v22 OAuth refresh. 18+ endpoints: campaigns/adsets/ads/keywords/negatives/assets/audiences/GAQL/search_term_view.
meta live full Graph v22 + System User. 24+ endpoints: campaigns/adsets/ads/adcreatives/adimages/advideos three-phase + playable v25 spike + async insights + audiences.
applovin live — Reporting API — read-only metrics.
unity live — Advertise Stats v2 — read-only metrics.
mintegral live — Advertiser access-key — read-only metrics.
tiktok stub stub Skeleton (ADR-035 federate-then-own). Phase 2.

Discovery