@kadoa/mcp 0.7.2 → 0.7.4
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/README.md +18 -7
- package/dist/index.js +481 -308
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -89,7 +89,7 @@ Point your client to `https://mcp.kadoa.com/mcp` with OAuth authentication.
|
|
|
89
89
|
|
|
90
90
|
| Tool | Description |
|
|
91
91
|
|------|-------------|
|
|
92
|
-
| `create_realtime_monitor` | Create an asynchronous realtime monitoring workflow after persisting notification channels |
|
|
92
|
+
| `create_realtime_monitor` | Create an asynchronous realtime monitoring workflow, optionally from a template, after persisting notification channels |
|
|
93
93
|
| `list_changes` | List detected data changes across one or more realtime monitoring workflows |
|
|
94
94
|
| `get_change` | Get detailed information about one detected change, including the data snapshot (cut to whole rows past ~80 KB) and diff |
|
|
95
95
|
|
|
@@ -157,12 +157,20 @@ Point your client to `https://mcp.kadoa.com/mcp` with OAuth authentication.
|
|
|
157
157
|
|------|-------------|
|
|
158
158
|
| `create_support_ticket` | File a support ticket for one workflow so the Kadoa team investigates it |
|
|
159
159
|
|
|
160
|
+
### Documentation
|
|
161
|
+
|
|
162
|
+
| Tool | Description |
|
|
163
|
+
|------|-------------|
|
|
164
|
+
| `list_docs_pages` | List Kadoa documentation pages, for "how does Kadoa work / where do I find X" questions (API keys, billing, settings) |
|
|
165
|
+
| `read_docs_page` | Read one docs.kadoa.com page as markdown |
|
|
166
|
+
|
|
160
167
|
### Account & team
|
|
161
168
|
|
|
162
169
|
| Tool | Description |
|
|
163
170
|
|------|-------------|
|
|
164
171
|
| `whoami` | Show current user details, auth method, and team memberships |
|
|
165
172
|
| `team_list` | List all teams you belong to and see which is active |
|
|
173
|
+
| `list_compliance_rules` | Read the compliance rules applied to your team (robots.txt, terms of service, blocked sources, PII, and similar), with each rule's enabled status and configuration. Read-only |
|
|
166
174
|
|
|
167
175
|
Team switching (a team_switch tool) exists in the code but is currently
|
|
168
176
|
disabled and hidden from every client's tool list — a credential is fixed to
|
|
@@ -294,6 +302,13 @@ Claude uses get_workflow_assistant and the other workflow Assistant tools for fo
|
|
|
294
302
|
|
|
295
303
|
Realtime monitors cannot be converted in place to or from scheduled workflows; create them with `create_realtime_monitor` from the start.
|
|
296
304
|
|
|
305
|
+
Like `create_workflow`, `create_realtime_monitor` accepts `templateId`, optional
|
|
306
|
+
`templateVersion` (defaults to the latest published version), and optional `prompt`
|
|
307
|
+
for source-specific instructions. The monitor stays linked to the template and
|
|
308
|
+
inherits its shared configuration; omit inline entity and schema when using a
|
|
309
|
+
template. Notification channels are still required. Templates that control a batch
|
|
310
|
+
frequency must use `create_workflow` instead.
|
|
311
|
+
|
|
297
312
|
### Update an Assistant-built workflow without replacing it
|
|
298
313
|
|
|
299
314
|
```
|
|
@@ -544,15 +559,13 @@ A typical feature touches three repos — **`kadoa-backend` → `kadoa-sdks` →
|
|
|
544
559
|
| Backend endpoint | `kadoa-backend/` | The HTTP API. Source of truth; the OpenAPI spec is generated from here. |
|
|
545
560
|
| SDK low-level | `kadoa-sdks/sdks/node/src/generated/api/*` | Auto-generated axios client. Raw HTTP, typed from the OpenAPI spec. **Do not hand-edit.** |
|
|
546
561
|
| SDK domain (high-level) | `kadoa-sdks/sdks/node/src/domains/<thing>/<thing>.service.ts` | Thin domain wrapper over the generated client. `client.<thing>.<action>(...)`. This is what callers use. |
|
|
547
|
-
| CLI | `kadoa-cli/src/commands/<thing>.ts` | Commander action: flag parsing, spinner, table/json output. Calls SDK domain. |
|
|
548
562
|
| MCP (this repo) | `kadoa-mcp/src/tools/<domain>.ts` | Zod input schema + tool description tuned for LLMs. Calls SDK domain. |
|
|
549
563
|
|
|
550
564
|
Mental model:
|
|
551
565
|
- **SDK** = pure function over HTTP.
|
|
552
|
-
- **CLI** = SDK + human UX (flags, table output).
|
|
553
566
|
- **MCP** = SDK + LLM UX (zod schema, prose description).
|
|
554
567
|
|
|
555
|
-
|
|
568
|
+
MCP calls SDK domain methods, never raw HTTP. Any other SDK consumer gets new features for free — as long as we keep the layering honest.
|
|
556
569
|
|
|
557
570
|
### Adding a new feature
|
|
558
571
|
|
|
@@ -560,7 +573,7 @@ CLI and MCP both call **identical** SDK domain methods. A new feature added to t
|
|
|
560
573
|
- Add or modify the HTTP endpoint.
|
|
561
574
|
- Make sure the OpenAPI spec reflects the change (paths, request/response schemas).
|
|
562
575
|
|
|
563
|
-
2. **SDK** (`kadoa-sdks`) — always do this **before** MCP
|
|
576
|
+
2. **SDK** (`kadoa-sdks`) — always do this **before** MCP work (the SDK-first rule). No bandaid `axios` calls in MCP.
|
|
564
577
|
- Regenerate the low-level client:
|
|
565
578
|
```bash
|
|
566
579
|
bun kadoa-codegen fetch-spec -e https://api.kadoa.com/openapi -f
|
|
@@ -581,8 +594,6 @@ CLI and MCP both call **identical** SDK domain methods. A new feature added to t
|
|
|
581
594
|
- If the change intentionally alters a tool's name, title, description, schema, outputSchema or annotations, regenerate the snapshot: `UPDATE_TOOLS_SNAPSHOT=1 BUN_TEST=1 bun test tests/unit/tools-list-snapshot.test.ts`, then `./node_modules/.bin/biome format --write tests/unit/fixtures/tools-list.snapshot.json`. Advertised input and output schemas are normalised by `src/tools/shared/portable-schema.ts` (no `$ref`/`$defs`, `const`, `oneOf`, `additionalProperties`, `$schema`, etc.), so strict clients such as Gemini accept them; zod validation is unchanged.
|
|
582
595
|
- Use a Conventional Commit message (`feat(mcp): ...`, `fix(mcp): ...`). Release Please will cut the next version on merge to `main`.
|
|
583
596
|
|
|
584
|
-
4. **CLI** (`kadoa-cli`), if the feature is user-facing on the command line: mirror the MCP step in `src/commands/<thing>.ts`. Same SDK call, different UX.
|
|
585
|
-
|
|
586
597
|
### Anti-patterns
|
|
587
598
|
|
|
588
599
|
- ❌ Raw `axios` calls or hand-rolled HTTP in `src/tools/`. Always go through `ctx.client.<thing>`.
|