@kerabie/mcp 1.0.0 → 1.0.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/README.md CHANGED
@@ -1,20 +1,43 @@
1
1
  # @kerabie/mcp
2
2
 
3
- An [MCP](https://modelcontextprotocol.io) server for [Kerabie](https://kerabie.com).
3
+ An [MCP](https://modelcontextprotocol.io) server for [Kerabie](https://kerabie.com). Connect Claude, Cursor or any MCP client to build with Kerabie and to work with your account.
4
4
 
5
- - **Build with Kerabie, no API key needed:** search the docs, list REST endpoints, read the TypeScript and React Native SDK types, and get integration guides (`typescript`, `react-native`, `wordpress`, `web-widget`, `rest-api`). Answers come from docs bundled in the package, so they match the SDK version you install.
6
- - **Work with your account, with `KERABIE_API_KEY`:** conversations, tickets, contacts, campaigns, the Knowledge Base, analytics, AI tools and the MCP servers your chatbot uses. A thin layer over `@kerabie/sdk` and the `/v1` API, so it can do exactly what your key can.
5
+ - **Build with Kerabie, no API key needed:** search the docs, list REST endpoints, read the TypeScript, React Native and Flutter SDK types, and get integration guides (`typescript`, `react-native`, `flutter`, `wordpress`, `web-widget`, `rest-api`). Answers come from docs bundled in the package, so they match the version you install.
6
+ - **Work with your account, with an API key:** conversations, tickets, contacts, campaigns, the Knowledge Base, analytics, AI tools and the MCP servers your chatbot uses. It is a thin layer over [`@kerabie/sdk`](https://www.npmjs.com/package/@kerabie/sdk) and the `/v1` API, so it can do exactly what your key can, and nothing more.
7
7
 
8
- ## Hosted (no install)
8
+ ## Hosted (nothing to install)
9
+
10
+ Point your client at the hosted server and send your API key as a Bearer token.
9
11
 
10
12
  ```
11
- POST https://mcp.kerabie.com/mcp
13
+ https://mcp.kerabie.com/mcp
12
14
  Authorization: Bearer ker_live_...
13
15
  ```
14
16
 
15
- Stateless Streamable HTTP. The caller's key is used for every call and is never stored; with no key only the developer tools are offered; `?readOnly=true` leaves out tools that change data. To host it yourself run `kerabie-mcp-http` (`PORT`, optional `KERABIE_BASE_URL`; `GET /health` for probes) behind TLS.
17
+ **Claude Code**
18
+
19
+ ```bash
20
+ claude mcp add --transport http kerabie https://mcp.kerabie.com/mcp --header "Authorization: Bearer ker_live_..."
21
+ ```
22
+
23
+ **Cursor** (`.cursor/mcp.json`)
24
+
25
+ ```json
26
+ {
27
+ "mcpServers": {
28
+ "kerabie": {
29
+ "url": "https://mcp.kerabie.com/mcp",
30
+ "headers": { "Authorization": "Bearer ker_live_..." }
31
+ }
32
+ }
33
+ }
34
+ ```
35
+
36
+ Add `?readOnly=true` to the URL to leave out every tool that changes data. With no key, only the developer tools are offered. Your key is used for each call and is never stored.
16
37
 
17
- ## Use locally (stdio)
38
+ ## Run it locally
39
+
40
+ Add the server to your MCP client (Claude Desktop, Cursor, Claude Code):
18
41
 
19
42
  ```json
20
43
  {
@@ -28,29 +51,27 @@ Stateless Streamable HTTP. The caller's key is used for every call and is never
28
51
  }
29
52
  ```
30
53
 
54
+ Or add it to Claude Code with `claude mcp add kerabie --env KERABIE_API_KEY=ker_live_... -- npx -y @kerabie/mcp`.
55
+
31
56
  | Variable | |
32
57
  |---|---|
33
- | `KERABIE_API_KEY` | Optional. API key from Settings > API. Without it only the developer tools are offered. |
58
+ | `KERABIE_API_KEY` | Optional. API key from Settings > Integrations > API Keys. Without it only the developer tools are offered. |
34
59
  | `KERABIE_ORG_ID` | Optional. Only if the key covers several organisations. |
35
60
  | `KERABIE_BASE_URL` | Optional. Defaults to `https://api.kerabie.com`. |
36
- | `KERABIE_MCP_READ_ONLY` | `true` (or `--read-only`) offers only tools that read. |
61
+ | `KERABIE_MCP_READ_ONLY` | `true` (or pass `--read-only`) offers only tools that read. |
37
62
 
38
- Tools that change data carry the MCP `readOnlyHint: false` annotation, and deleting ones `destructiveHint: true`, so clients can ask before running them. Start read-only.
63
+ To serve it yourself over HTTP, run `kerabie-mcp-http` (set `PORT`, and optionally `KERABIE_BASE_URL`) behind TLS. The endpoint is `POST /mcp`, with `GET /health` for health checks.
39
64
 
40
- Full tool list and docs: https://kerabie.com/docs/sdks/mcp
65
+ ## Safety
41
66
 
42
- ## Deploy (Cloudflare Workers)
67
+ An MCP client can use every tool your key allows, including ones that reply to customers or delete things. Tools that change data carry the MCP `readOnlyHint: false` annotation, and deleting ones `destructiveHint: true`, so clients can ask before running them. Start read-only, and keep your client's approval prompts on.
43
68
 
44
- `src/worker.ts` is the hosted endpoint; `wrangler.jsonc` serves it at `mcp.kerabie.com`. Every push to `main` runs the tests and deploys through `.github/workflows/deploy-worker.yml`, which needs two repository secrets: `CLOUDFLARE_API_TOKEN` (the "Edit Cloudflare Workers" template) and `CLOUDFLARE_ACCOUNT_ID`.
69
+ API access is on the Pro plan and above.
45
70
 
46
- The build installs `@kerabie/sdk` from npm and uses the docs knowledge committed in `src/generated/`. After changing the docs or the SDK types, run `npm run sync` and commit the result.
71
+ ## Documentation
47
72
 
48
- ## Develop
73
+ Full tool list and guides: https://kerabie.com/docs/sdks/mcp
49
74
 
50
- ```bash
51
- npm install
52
- npm run sync # rebuild src/generated/knowledge.json from the docs, readmes and SDK types
53
- npm run dev:worker # run the Worker locally with wrangler
54
- npm test # in-process MCP client against the server, SDK faked
55
- npm run build # dist/cli.js is the `kerabie-mcp` binary
56
- ```
75
+ ## License
76
+
77
+ MIT
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createServer
3
- } from "./chunk-72BI6YMN.js";
3
+ } from "./chunk-PWWOTGWD.js";
4
4
 
5
5
  // src/common.ts
6
6
  var MAX_BODY_BYTES = 1e6;