@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 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.Click](https://kaminari.click).
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
- [![npm](https://img.shields.io/npm/v/@kaminari-ad/mcp.svg)](https://www.npmjs.com/package/@kaminari-ad/mcp)
8
- [![CI](https://github.com/kaminari-ad/mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/kaminari-ad/mcp/actions/workflows/ci.yml)
7
+ [![npm version](https://img.shields.io/npm/v/@kaminari-ad/mcp)](https://www.npmjs.com/package/@kaminari-ad/mcp)
8
+ [![npm downloads](https://img.shields.io/npm/dm/@kaminari-ad/mcp)](https://www.npmjs.com/package/@kaminari-ad/mcp)
9
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
10
+ [![node](https://img.shields.io/node/v/@kaminari-ad/mcp)](https://nodejs.org)
11
+ [![CI](https://github.com/kaminari-ad/mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/kaminari-ad/mcp/actions/workflows/ci.yml)
10
12
  [![Provenance](https://img.shields.io/npm/v/@kaminari-ad/mcp?label=provenance&logo=github)](https://www.npmjs.com/package/@kaminari-ad/mcp)
13
+ [![MCP Registry](https://img.shields.io/badge/MCP_Registry-listed-blue)](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** (7) — `list_scans`, `get_scan`, `create_scan`, `create_bulk_scans`, `recheck_scans`, `cancel_scan`, `list_scan_tags`
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** (4) — `list_tags`, `get_tag_definition`, `update_tag_definition`, `delete_tag_definition`
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-2H457UAT.js';
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-V64J2Z55.js');
122
+ const { bootstrapStdio } = await import('./stdio-bootstrap-PSX3TI3I.js');
123
123
  return bootstrapStdio(config);
124
124
  }
125
- const { bootstrapHttp } = await import('./http-bootstrap-4MLE6RO4.js');
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-2H457UAT.js';
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-HSATLUCY.js.map
4289
- //# sourceMappingURL=chunk-HSATLUCY.js.map
4288
+ //# sourceMappingURL=chunk-4MNLSWSZ.js.map
4289
+ //# sourceMappingURL=chunk-4MNLSWSZ.js.map