@kaminari-ad/mcp 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.md +27 -5
- package/dist/bin.js +3 -3
- package/dist/{chunk-HSATLUCY.js → chunk-4MNLSWSZ.js} +3 -3
- package/dist/{chunk-HSATLUCY.js.map → chunk-4MNLSWSZ.js.map} +1 -1
- package/dist/{chunk-2H457UAT.js → chunk-BAZQPU6T.js} +3 -3
- package/dist/{chunk-2H457UAT.js.map → chunk-BAZQPU6T.js.map} +1 -1
- package/dist/{http-bootstrap-4MLE6RO4.js → http-bootstrap-PW4K2NDQ.js} +4 -4
- package/dist/{http-bootstrap-4MLE6RO4.js.map → http-bootstrap-PW4K2NDQ.js.map} +1 -1
- package/dist/{stdio-bootstrap-V64J2Z55.js → stdio-bootstrap-PSX3TI3I.js} +4 -4
- package/dist/{stdio-bootstrap-V64J2Z55.js.map → stdio-bootstrap-PSX3TI3I.js.map} +1 -1
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.2.2] - 2026-05-20
|
|
11
|
+
|
|
12
|
+
Minor release — adds one-click install paths for Cursor and Claude
|
|
13
|
+
Desktop. No tool surface change, no breaking API behaviour change.
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **Claude Desktop `.mcpb` extension bundle.** Each tag release now
|
|
18
|
+
builds a single-file `kaminari-ad-mcp.mcpb` (via the new
|
|
19
|
+
`tsup.mcpb.config.ts` + `mcpb pack`) and uploads it to the GitHub
|
|
20
|
+
Release. Stable download URL:
|
|
21
|
+
<https://github.com/kaminari-ad/mcp/releases/latest/download/kaminari-ad-mcp.mcpb>.
|
|
22
|
+
Double-click installs into Claude Desktop with a config form for
|
|
23
|
+
the API key and a ToS-acceptance checkbox.
|
|
24
|
+
- **Cursor one-click install badge.** README and the Kaminari Ad
|
|
25
|
+
marketing site link the official Cursor "Install in Cursor" badge
|
|
26
|
+
to a trampoline page (`https://kaminari.ad/mcp/install`) that
|
|
27
|
+
redirects to the `cursor://anysphere.cursor-deeplink/mcp/install`
|
|
28
|
+
URL with the npx-based stdio config pre-encoded.
|
|
29
|
+
- **`server.json`** for [registry.modelcontextprotocol.io][mcp-reg]
|
|
30
|
+
listing. Surface (npm stdio package, env vars) mirrors what the
|
|
31
|
+
README documents.
|
|
32
|
+
|
|
33
|
+
[mcp-reg]: https://registry.modelcontextprotocol.io
|
|
34
|
+
|
|
10
35
|
## [0.2.1] - 2026-05-18
|
|
11
36
|
|
|
12
37
|
Patch release — clear Node-version error message, correct `engines`
|
package/README.md
CHANGED
|
@@ -1,13 +1,35 @@
|
|
|
1
1
|
# `@kaminari-ad/mcp`
|
|
2
2
|
|
|
3
|
-
Official Model Context Protocol (MCP) server for [Kaminari Ad](https://kaminari.ad) — the ad verification platform from the team behind [Kaminari
|
|
3
|
+
Official Model Context Protocol (MCP) server for [Kaminari Ad](https://kaminari.ad) — the ad verification platform from the team behind [Kaminari Click](https://kaminari.click).
|
|
4
4
|
|
|
5
5
|
Lets AI agents (Cursor, Claude Desktop, Cline, and any MCP-compatible client) launch scans, inspect results, manage campaigns and policies, and read alerts directly against your Kaminari Ad workspace via your API key.
|
|
6
6
|
|
|
7
|
-
[](https://www.npmjs.com/package/@kaminari-ad/mcp)
|
|
8
|
+
[](https://www.npmjs.com/package/@kaminari-ad/mcp)
|
|
9
9
|
[](LICENSE)
|
|
10
|
+
[](https://nodejs.org)
|
|
11
|
+
[](https://github.com/kaminari-ad/mcp/actions/workflows/ci.yml)
|
|
10
12
|
[](https://www.npmjs.com/package/@kaminari-ad/mcp)
|
|
13
|
+
[](https://registry.modelcontextprotocol.io)
|
|
14
|
+
|
|
15
|
+
## Install (one click)
|
|
16
|
+
|
|
17
|
+
### Cursor
|
|
18
|
+
|
|
19
|
+
<a href="https://kaminari.ad/mcp/install"><img alt="Install in Cursor" src="https://cursor.com/deeplink/mcp-install-dark.png" height="32" /></a>
|
|
20
|
+
|
|
21
|
+
### Claude Desktop
|
|
22
|
+
|
|
23
|
+
[**Download `kaminari-ad-mcp.mcpb`**](https://github.com/kaminari-ad/mcp/releases/latest/download/kaminari-ad-mcp.mcpb) → double-click to install. Claude Desktop shows a config form for your API key.
|
|
24
|
+
|
|
25
|
+
### Claude Code (CLI)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
claude mcp add kaminari-ad -- npx -y @kaminari-ad/mcp
|
|
29
|
+
export KAMINARI_AD_API_KEY=your-key
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Full installation docs — see [Quick start](#quick-start) below.
|
|
11
33
|
|
|
12
34
|
---
|
|
13
35
|
|
|
@@ -67,11 +89,11 @@ For cloud agents or clients without a local Node runtime, point at the hosted en
|
|
|
67
89
|
83 tools mirroring most of the public `/api/v1` surface of Kaminari Ad. Every tool carries MCP behaviour annotations (`title`, `readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`) so MCP clients can warn before destructive actions. Highlights:
|
|
68
90
|
|
|
69
91
|
- **Account** (11) — `get_account`, `update_org`, `list_org_users`, `invite_user`, `update_user_role`, `remove_user`, `transfer_ownership`, `list_org_roles`, `list_api_keys`, `create_api_key`, `revoke_api_key`
|
|
70
|
-
- **Scans** (
|
|
92
|
+
- **Scans** (6) — `list_scans`, `get_scan`, `create_scan`, `create_bulk_scans`, `recheck_scans`, `cancel_scan`
|
|
71
93
|
- **Campaigns** (10) — `list_campaigns`, `list_campaigns_picker`, `get_campaign`, `create_campaign`, `update_campaign`, `archive_campaign`, `unarchive_campaign`, `cancel_campaign`, `run_campaign`, `list_campaign_runs`
|
|
72
94
|
- **Campaign groups** (10) — list/get/create/update/run/cancel/archive/unarchive + `pause_campaign_group_schedule`, `resume_campaign_group_schedule`
|
|
73
95
|
- **Runs** (3) — `get_run`, `list_run_scans`, `cancel_run` (use `list_campaign_runs` to enumerate runs of a campaign — the API has no standalone `/runs` index)
|
|
74
|
-
- **Tags** (
|
|
96
|
+
- **Tags** (5) — `list_tags`, `get_tag_definition`, `update_tag_definition`, `delete_tag_definition`, `list_scan_tags`
|
|
75
97
|
- **Custom rules** (6) — `list_custom_rules`, `get_custom_rule`, `create_custom_rule`, `update_custom_rule`, `delete_custom_rule`, `test_custom_rule`
|
|
76
98
|
- **Policy sets** (6) — `list_policy_sets`, `get_policy_set`, `create_policy_set`, `update_policy_set`, `delete_policy_set`, `request_policy_set_approval`
|
|
77
99
|
- **Alerts** (3) — `list_alerts`, `update_alert_status`, `get_alert_stats`
|
package/dist/bin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { NAME, VERSION, err, ok } from './chunk-
|
|
2
|
+
import { NAME, VERSION, err, ok } from './chunk-BAZQPU6T.js';
|
|
3
3
|
import process from 'process';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
|
|
@@ -119,10 +119,10 @@ async function main() {
|
|
|
119
119
|
}
|
|
120
120
|
const config = configResult.value;
|
|
121
121
|
if (config.transport === "stdio") {
|
|
122
|
-
const { bootstrapStdio } = await import('./stdio-bootstrap-
|
|
122
|
+
const { bootstrapStdio } = await import('./stdio-bootstrap-PSX3TI3I.js');
|
|
123
123
|
return bootstrapStdio(config);
|
|
124
124
|
}
|
|
125
|
-
const { bootstrapHttp } = await import('./http-bootstrap-
|
|
125
|
+
const { bootstrapHttp } = await import('./http-bootstrap-PW4K2NDQ.js');
|
|
126
126
|
return bootstrapHttp(config);
|
|
127
127
|
}
|
|
128
128
|
main().then(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { err, ok } from './chunk-
|
|
2
|
+
import { err, ok } from './chunk-BAZQPU6T.js';
|
|
3
3
|
import { createHash, randomUUID } from 'crypto';
|
|
4
4
|
import createClient from 'openapi-fetch';
|
|
5
5
|
import { fetch } from 'undici';
|
|
@@ -4285,5 +4285,5 @@ function formatToolError(error) {
|
|
|
4285
4285
|
}
|
|
4286
4286
|
|
|
4287
4287
|
export { BearerToken, createHttpApiGateway, createPinoLogger, declareEmptyResourcesAndPrompts, newRequestId, wireToolsIntoMcpServer };
|
|
4288
|
-
//# sourceMappingURL=chunk-
|
|
4289
|
-
//# sourceMappingURL=chunk-
|
|
4288
|
+
//# sourceMappingURL=chunk-4MNLSWSZ.js.map
|
|
4289
|
+
//# sourceMappingURL=chunk-4MNLSWSZ.js.map
|