
Kadam Ad Network
io.github.kadam-officialPublished by GitHub account kadam-officialv0.3.4Updated Oct 24, 2026
Kadam advertising platform — manage ads, campaigns, creatives, audiences and stats
Overview
Lets an assistant manage Kadam ad campaigns, creatives, audiences, publisher sites and statistics through the Kadam advertising platform APIs.
- What you can do
- Connects an assistant to the Kadam ad network for advertiser and publisher work. Advertiser tools cover campaigns, folders, creatives, audiences, bid and site management, finance operations and statistics; publisher tools cover sites, ad units, account info, stats and Smart Mediation network connections. It also exposes reference resources and workflow prompts for launching campaigns, reviewing performance and optimizing sites.
- When to use it
- Use it when you run advertising or publishing on Kadam and want an assistant to create, update, pause or analyze campaigns, creatives, audiences, sites and reports instead of working through the web dashboards.
- Requirements
- Runs locally over stdio via the npm package @kadam-net/mcp-server, so Node.js 18 or newer is needed. At least one API key is required: KADAM_ADV_API_KEY (advertiser) or KADAM_PUB_API_KEY (publisher), obtained from the Kadam partner or publisher profile pages. Optional variables set API base URLs, log level, and HTTP transport settings for server-side deployment.
Installation
In SourceWeft
- Open Kadam Ad Network in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@kadam-net/mcp-server
[npm version] [npm downloads] [license] [node] [MCP Registry]
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.
Install (one click)
Cursor
Or add manually to .cursor/mcp.json:
Claude Code
Then set the env var: export KADAM_ADV_API_KEY=your-key
Claude Desktop
Download → double-click → Install. Or add manually to claude_desktop_config.json (Settings → Developer → Edit Config):
Any MCP client (universal one-liner)
Docker
npm global
Configuration
At least one API key must be provided in stdio mode. In HTTP mode, tokens are passed per-request via Bearer authentication.
Role-based catalog
The tool catalog matches the role of the bearer. Once per session (and once per process in stdio mode) the server calls GET /api/v1/access on the advertiser API, which answers { impersonation: bool }:
This is a catalog hint, not a gate: the Kadam API enforces the same rule on every call (403 / 422 for a client token). If /access cannot be reached, the session gets the client catalog — the smaller one is always safe to show.
HTTP Transport (multi-tenant deployment)
For server-side deployment serving multiple users:
Connecting via HTTP (Cursor / Claude)
Connecting via OAuth (ChatGPT)
Add https://partners.kadam.net/mcp (advertiser) or https://pub.kadam.net/mcp (publisher) as Server URL in ChatGPT settings. OAuth discovery, registration, and login happen automatically.
Tools (80)
Advertiser Tools (63)
Requires KADAM_ADV_API_KEY.
Dictionaries
Campaigns
Bid Management
Campaign Folders
Creatives
Audiences
Finance & Statistics
Publisher Tools (17)
Requires KADAM_PUB_API_KEY.
Sites (Sources)
Ad Units
User & Statistics
Kadam Smart Mediation
Selling an ad unit's traffic through outside ad networks alongside Kadam demand. The API,
the code and the report dimensions call it plain mediation. Read
kadam://reference/mediation first; split the income in kadam_pub_get_stats with
groupBy=network and the kadam_revenue / mediation_revenue metrics.
Resources (9)
Static reference data the agent can read before calling tools:
Prompts (4)
Pre-built workflow templates that guide the agent through multi-step operations:
Architecture
Key Design Decisions
- ToolWrapper middleware — centralized auth validation, error formatting, and logging for all 80 tools
- Lazy singleton API clients — one
HttpClientinstance per product, created on first use - Output truncation — hard 50KB limit per response with
maxResults(default 25, max 100) to prevent LLM context overflow - Human-readable output — formatted tables, aligned entities, pagination metadata instead of raw JSON
- Tool annotations —
readOnlyHint,destructiveHint,idempotentHintto guide agent behavior - Server instructions — usage patterns and constraints sent to the LLM on connection
- Dimension mapping — stats tools accept human-readable names ("clicks", "spend") and resolve them to API IDs internally
- Role-shaped catalog — the bearer is forwarded untouched, and its role is read once per session from
GET /access(see "Role-based catalog"). Tools declarerequires: "impersonation"andToolWrapperskips them for client sessions;campaigns.tsadds the manager-only campaign fields to its schemas only under impersonation. Nothing is enforced here — the API still answers 403 / 422 to a client token — so the catalog can never be wider than the key's real rights, only narrower when/accessis unreachable
Development
Prerequisites
- Node.js >= 18
- npm
Setup
Commands
Testing
202 tests across 23 files using Vitest + MCP SDK InMemoryTransport:
- Unit tests — output formatter, config, HTTP client (mocked fetch)
- Middleware tests — ToolWrapper auth, error formatting, logging
- Integration tests — full server with all 72 tools, 8 resources, 4 prompts via in-memory MCP client
- Tool handler tests — each tool module with mocked API clients
MCP Inspector
The MCP Inspector provides a visual interface for testing:
Deployment
Docker
CI/CD
The .gitlab-ci.yml pipeline includes:
- lint — ESLint + TypeScript check
- test — Vitest with coverage
- build — Vite production build
- publish — npm publish + Docker push (manual trigger)
License
MIT
Source: README.md at commit 2f55815
Tools
0Version history
1- v0.3.4LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts