github analyzed 9ff9b4c

affset/mcp

github

Run affset from chat: stats, campaigns, zones, payouts, targeting, and team.

maintainer
affset
license
first seen
2026-08-12
last seen
2026-08-12
releases · 30d
0
short id

Drift inferred · capture-to-capture

tool count over time

08-12 16:14 now
26t
29t
capabilities 29 tools
transport stdio · streamable-http · http verified reported listed in the official MCP registry counts 29 tools · 0 res · 0 prompts permission surface via README inference

tools

  • create_campaign

    Create a campaign from an advertiser email, offer URL, geo, payout and name. Defaults: CPA / rate 0, paused, global payout rule, and a ready tracking link (linked source template when configured; othe

  • create_team_member

    Invite a team member (owner, manager, publisher, advertiser, publisher_manager, advertiser_manager). A scoped manager key can only create its own managed role, self-assigned. Returns the new API key o

  • create_traffic_source

    Create a traffic source, optionally from a network preset (exoclick, trafficstars, propellerads, adsterra, richads) that copies verified templates into an editable row. Dry-run by default; confirm: tr

  • create_zone

    Create a traffic-source zone (name + optional postback/site/traffic-back URLs, optional traffic_source_id link). Always created active. Dry-run by default; confirm: true to apply.

  • cut_zones

    Blacklist underperforming zones on a campaign by threshold (CR / spend / ROI). Dry-run by default; confirm: true to apply.

  • delete_payout_rule

    Delete a global or zone-specific payout rule. Dry-run by default; confirm: true to apply.

  • get_campaign

    One campaign's full record — every field (untruncated offer URL, exact schedule, budgets/pacing, silent flag, payout goal type) plus its targeting rules and payout rules, in one call.

  • get_stats

    Traffic stats grouped by a dimension (date, campaign, zone, country, sub1–5, advertiser, publisher, …), optionally narrowed with advertiser_email/publisher_email filters (one user, any group_by). Retu

  • get_tracking_link

    The /track/click link for an existing campaign + zone — straight to one active campaign, with no rotation or targeting checks. Renders a linked source's template like get_zone_url. Re-derives what cre

  • get_zone_url

    The /serve URL to paste into a network's campaign settings — rotates across the zone's active campaigns. A zone linked to a traffic source renders that source's tracking template; otherwise prefilled

  • list_campaigns

    List campaigns (status / name filter, pagination).

  • list_conversions

    List conversion audit records (payout, spend, pixel type, payload, postback). paid_only filters server-side; other optional filters are client-side on the current page.

  • list_payout_rules

    List a campaign's global + per-zone payout rules and its payout_goal_type.

  • list_sub_labels

    List tenant display names for sub1–sub5.

  • list_targeting_rules

    List a campaign's targeting rules, flagging any that have no effect.

  • list_targeting_types

    Catalog of targeting rule types, flagging the seeded ones /serve never evaluates.

  • list_team

    List team members (email, role, manager). Never returns API tokens.

  • list_traffic_sources

    List traffic sources — the networks bought from, each with the tracking/postback templates its linked zones use. API token shown only as set/none.

  • list_zones

    List traffic-source zones (status / name filter, pagination, linked source).

  • remove_targeting_rule

    Remove one targeting rule by id or type+method. Dry-run by default; confirm: true to apply.

  • set_campaign_status

    Run or pause a campaign (action: "run" \

  • set_payout_goal

    Set or clear payout_goal_type (goal-based conversions). Dry-run by default; confirm: true to apply.

  • set_payout_rule

    Upsert a global or zone-specific payout. Dry-run by default; confirm: true to apply.

  • set_sub_labels

    Set or clear sub labels (partial; null clears). Dry-run by default; confirm: true to apply.

  • set_targeting_rule

    Upsert one targeting rule (safe merge), normalised to what /serve matches. Dry-run by default; confirm: true to apply.

  • update_campaign

    Partial update (name, offer URL, status, rate, budgets, dates, …). Dry-run by default; confirm: true to apply. Prefer set_campaign_status for run/pause.

  • update_traffic_source

    Partial update (name, templates, api_token, status). Linked zones pick the new tracking template up immediately. Dry-run by default; confirm: true to apply.

  • update_zone

    Partial update (name, status, URLs, traffic_source_id). Dry-run by default; confirm: true to apply. Pass null to clear a URL or unlink the source.

  • whoami

    Show the tenant this server is bound to: namespace, API base, derived dashboard URL, and (when readable) company / timezone / custom API domain. Read-only.

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 81

filesystem 1

  • fs (weak) affset-mcp-9ff9b4c/src/registryMetadata.test.ts :2 import { readFileSync } from "node:fs";

network 2

  • net affset-mcp-9ff9b4c/src/client.ts :116 res = await fetch(url, {
  • net affset-mcp-9ff9b4c/src/docs.ts :114 res = await fetch(url, {

install hooks 1

  • prepare affset-mcp-9ff9b4c/package.json :57 npm run build

declared dependencies 9

  • @modelcontextprotocol/sdk@^1.30.0
  • zod@^3.23.8
  • @eslint/js@^9.39.5
  • @types/node@^22.5.0
  • eslint@^9.39.5
  • eslint-config-prettier@^10.1.8
  • prettier@^3.9.6
  • typescript@^5.5.4
  • typescript-eslint@^8.65.0