Server data from the Official MCP Registry
Kadam advertising platform — manage ads, campaigns, creatives, audiences and stats
Kadam advertising platform — manage ads, campaigns, creatives, audiences and stats
Valid MCP server (1 strong, 1 medium validity signals). 1 code issue detected. 1 known CVE in dependencies Package registry verified. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
4 files analyzed · 3 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: KADAM_ADV_API_KEY
Environment variable: KADAM_PUB_API_KEY
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-kadam-official-mcp-server": {
"env": {
"KADAM_ADV_API_KEY": "your-kadam-adv-api-key-here",
"KADAM_PUB_API_KEY": "your-kadam-pub-api-key-here"
},
"args": [
"-y",
"@kadam-net/mcp-server"
],
"command": "npx"
}
}
}From the project's GitHub README.
MCP server for Kadam ad network — manage campaigns, creatives, audiences, sites, and analytics via AI agents.
Built on the Model Context Protocol (MCP), the open standard for connecting LLMs to external tools and data.
Or add manually to .cursor/mcp.json:
{
"mcpServers": {
"kadam": {
"command": "npx",
"args": ["-y", "@kadam-net/mcp-server"],
"env": {
"KADAM_ADV_API_KEY": "your-advertiser-api-key",
"KADAM_PUB_API_KEY": "your-publisher-api-key"
}
}
}
}
claude mcp add kadam -- npx -y @kadam-net/mcp-server
Then set the env var: export KADAM_ADV_API_KEY=your-key
Download → double-click → Install. Or add manually to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"kadam": {
"command": "npx",
"args": ["-y", "@kadam-net/mcp-server"],
"env": {
"KADAM_ADV_API_KEY": "your-advertiser-api-key"
}
}
}
}
npx add-mcp @kadam-net/mcp-server
docker run -i --rm \
-e KADAM_ADV_API_KEY=your-key \
kadam/mcp-server:latest
npm install -g @kadam-net/mcp-server
KADAM_ADV_API_KEY=your-key kadam-mcp-server
| Variable | Required | Description |
|---|---|---|
KADAM_ADV_API_KEY | One of two | Advertiser API key from partners.kadam.net -> Profile -> API |
KADAM_PUB_API_KEY | One of two | Publisher API key from pub.kadam.net -> Profile -> API |
KADAM_ADV_API_BASE | No | Advertiser API URL (default: https://partners.kadam.net/api/v1) |
KADAM_PUB_API_BASE | No | Publisher API URL (default: https://pub.kadam.net/api) |
LOG_LEVEL | No | Log level: trace, debug, info, warn, error, fatal (default: info) |
At least one API key must be provided. Tools for both products are always listed (for discoverability), but calling a tool without the corresponding key returns a clear setup instruction.
Requires KADAM_ADV_API_KEY.
| Tool | Description | Annotations |
|---|---|---|
kadam_adv_list_campaigns | List campaigns with filters (folder, status, type, date, search) and pagination | readOnly |
kadam_adv_create_campaign | Create campaign with full targeting (countries, devices, OS, browsers, age, gender, audiences) | — |
kadam_adv_update_campaign | Update any campaign fields by ID | — |
kadam_adv_set_campaign_status | Bulk status change (active/paused/archived) for comma-separated IDs | idempotent |
| Tool | Description | Annotations |
|---|---|---|
kadam_adv_update_campaign_bid | Update bid for a single campaign (lightweight, no full payload). Falls back to current countries if omitted | idempotent |
kadam_adv_bulk_update_bids | Update bids for multiple campaigns at once (all must share the same pricing model) | idempotent |
kadam_adv_update_site_bids | Set per-site (zone) bids: static (0.05), multiplier (x1.5), or remove (0) | idempotent |
| Tool | Description | Annotations |
|---|---|---|
kadam_adv_list_campaign_folders | List folders with campaign counts and budgets | readOnly |
kadam_adv_create_campaign_folder | Create a new folder (name min 4 chars) | — |
kadam_adv_update_campaign_folder | Update folder budgets and distribution | — |
| Tool | Description | Annotations |
|---|---|---|
kadam_adv_list_creatives | List creatives by campaign, status, or search query | readOnly |
kadam_adv_create_creative | Create creative for a campaign (goes through moderation) | — |
kadam_adv_update_creative | Update creative fields | — |
kadam_adv_set_creative_status | Bulk status change for creatives | idempotent |
| Tool | Description | Annotations |
|---|---|---|
kadam_adv_list_audiences | List audiences with search and sorting | readOnly |
kadam_adv_get_audience | Get detailed audience info by ID | readOnly |
kadam_adv_create_audience | Create audience (pixel, code, fingerprint, or S2S) | — |
kadam_adv_update_audience | Update audience settings | — |
kadam_adv_delete_audience | Delete audience permanently (requires confirm: true) | destructive |
| Tool | Description | Annotations |
|---|---|---|
kadam_adv_list_finance_operations | Transaction history (deposits, charges, refunds) | readOnly |
kadam_adv_get_stats | Unified statistics — 3 report types via reportType param: custom (report builder with dimension/metric mapping), sites (per-site breakdown), postbacks (conversion logs) | readOnly |
Requires KADAM_PUB_API_KEY.
| Tool | Description | Annotations |
|---|---|---|
kadam_pub_list_sources | List publisher sites with stats | readOnly |
kadam_pub_create_source | Add a new site (starts verification flow) | — |
kadam_pub_get_source | Get detailed site info | readOnly |
kadam_pub_update_source | Update site name | — |
kadam_pub_set_source_status | Change site status (active/paused/archived/unarchived) | idempotent |
| Tool | Description | Annotations |
|---|---|---|
kadam_pub_list_ad_units | List ad units for a site, filter by format (native/banner/push/popunder/inpagepush) | readOnly |
kadam_pub_set_ad_unit_status | Change ad unit status (active/paused/archived/restored) | idempotent |
| Tool | Description | Annotations |
|---|---|---|
kadam_pub_get_user_info | Get publisher account info and balance | readOnly |
kadam_pub_get_stats | Publisher statistics with human-readable dimension/metric mapping | readOnly |
Static reference data the agent can read before calling tools:
| URI | Description |
|---|---|
kadam://reference/campaign-types | All ad format types with IDs, features, pricing, and creative specs |
kadam://reference/pricing-models | CPC, CPM, CPV, CPA Target with IDs and descriptions |
kadam://reference/creative-formats | Creative requirements per campaign type |
kadam://reference/ad-unit-types | Publisher ad unit formats with IDs |
kadam://reference/site-states | Publisher site lifecycle states |
kadam://reference/report-dimensions | Available dimensions and metrics for statistics tools |
kadam://reference/api-overview | General Kadam API capabilities overview |
Pre-built workflow templates that guide the agent through multi-step operations:
| Prompt | Description | Arguments |
|---|---|---|
kadam_launch_campaign | Step-by-step campaign creation (check types -> create folder -> create campaign -> add creatives) | type, name, url, budget |
kadam_campaign_performance | Campaign performance analysis with optimization recommendations | campaignId, period |
kadam_optimize_sites | Analyze site performance and suggest blacklist/whitelist changes | campaignId, minClicks, maxCPA |
kadam_account_overview | Full account overview — campaigns, spend, top performers | — |
src/
├── index.ts # Entry point, server instructions, transport
├── config.ts # Zod-validated env config with cache
├── errors.ts # AuthError class
├── logger.ts # Pino structured logging (stderr)
├── output-formatter.ts # Text formatting + 50KB truncation
├── middleware/
│ └── tool-wrapper.ts # Auth, error handling, logging middleware
├── api/
│ ├── http-client.ts # Generic HTTP client with retry/429/timeout
│ ├── partners-client.ts # Advertiser API (lazy singleton)
│ └── pub-client.ts # Publisher API (lazy singleton)
├── utils/
│ ├── pagination.ts # Shared pagination extraction
│ ├── cache-once.ts # Generic async cache-once utility
│ └── dimension-mapper.ts # Stats dimension name→ID resolution
├── types/
│ ├── common.ts # Shared types (ApiListResponse, ReportConfig)
│ ├── advertiser.ts # Campaign, Creative, Audience types + maps
│ ├── publisher.ts # Source, AdUnit, PubUser types + maps
│ └── tool-module.ts # ToolModule interface
├── tools/
│ ├── advertiser/ # 21 tools across 6 modules
│ └── publisher/ # 9 tools across 4 modules
├── resources/ # 7 static reference resources
└── prompts/ # 4 workflow prompts
HttpClient instance per product, created on first usemaxResults (default 25, max 100) to prevent LLM context overflowreadOnlyHint, destructiveHint, idempotentHint to guide agent behaviorgit clone https://github.com/kadam-official/mcp-server.git
cd mcp-server
npm install
cp .env.example .env # Fill in your API keys
npm run dev # Watch mode with tsx
npm run build # Production build with Vite
npm run start # Run built server
npm run typecheck # TypeScript check
npm run lint # ESLint
npm run format # Prettier
npm test # Run 82 tests
npm run test:coverage # Tests with V8 coverage
npm run inspect # MCP Inspector (visual debugger)
202 tests across 23 files using Vitest + MCP SDK InMemoryTransport:
npm test
# Test Files 23 passed (23)
# Tests 202 passed (202)
The MCP Inspector provides a visual interface for testing:
npm run build
npm run inspect
docker build -t kadam-mcp-server .
docker run -i --rm -e KADAM_ADV_API_KEY=... kadam-mcp-server
The .gitlab-ci.yml pipeline includes:
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.