Skip to main content
Glama
mikewithoutthemechanics

sa-direct-marketing

sa-direct-marketing-cli

POPIA s69 + CPA Amendment Regulations 2026 compliant direct-marketing tooling for South African outreach. Ships a CLI and an MCP server (stdio) that do the same job: the monthly NCC opt-out registry cleanse.

Why this exists

The National Consumer Commission (NCC) opt-out registry (https://eservice.thencc.org.za/) went live 15 April 2026. The 2026 Amendment Regulations make it mandatory for direct marketers to:

  • register as a direct marketer with the NCC (annual renewal, fee ~ZAR 2,574),

  • cleanse their marketing database against the registry monthly, and

  • never market to a consumer who registered a pre-emptive block.

The registry has no public API — it is a web portal. So this tool cross- references your active list against a blocklist CSV you export from the portal.

Related MCP server: Sanctions Screening MCP Server

Install

npm install
npm run build
npm link            # exposes `sa-dm`

Usage

# Dry run (reports matches, writes nothing)
sa-dm cleanse --log KZN_Outreach_Compliance_Log.xlsx --blocklist ncc-export.csv

# Apply DNC changes (flips matched rows, appends to DNC Register)
sa-dm cleanse --log KZN_Outreach_Compliance_Log.xlsx --blocklist ncc-export.csv --write

# Also supports the MASTER LEADS list (KZN_Plumbers_Master.xlsx style):
sa-dm cleanse --log KZN_Plumbers_Master.xlsx --type leads --blocklist ncc-export.csv --write
#   -> adds a "DNC (Y/N)" column if absent, flips matches, appends a DNC Register tab

The --type switch selects the workbook schema:

  • log (default) — the compliance log with Consent & DNC Log + DNC Register tabs

  • leads — a master plumbers list (All KZN Plumbers tab); DNC column is created on write

MCP server

node dist/mcp.js

Exposes one tool: cleanse_marketing_list(logPath, blocklistPath, type?, write?). Wire it into Hermes or any MCP client that supports stdio servers. Registered in Hermes as sa-direct-marketing (discovered + enabled).

  • This automates the mechanical cleanse. The human step — exporting the registry blocklist from the NCC portal and registering as a marketer — remains yours.

  • POPIA opt-in consent is still required before any electronic marketing to non-customers; the registry cleanse is an additional obligation, not a substitute.

  • Per the 2026 Regulations, a pre-emptive block supersedes earlier consent.

License

MIT

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Validates Excel (.xlsx) workbooks against reviewed, lockable acceptance contracts, catching errors and outputting structured issues that agents can repair.
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Screens names and companies against OFAC, EU, UK, and UN sanctions lists with fuzzy-match scores, supporting bulk lookups for AML/KYC checks. Data is sourced directly from official government lists and cached for fast repeat checks.

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikewithoutthemechanics/sa-direct-marketing-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server