@honkio/mcp 1.5.0 → 1.6.1
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 +75 -34
- package/dist/client.d.ts +30 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +57 -8
- package/dist/client.js.map +1 -1
- package/dist/prompts.js +5 -5
- package/dist/prompts.js.map +1 -1
- package/dist/toolMeta.d.ts.map +1 -1
- package/dist/toolMeta.js +6 -0
- package/dist/toolMeta.js.map +1 -1
- package/dist/tools.d.ts +9 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +197 -52
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Model Context Protocol (MCP) server for [HonkIO](https://honkio.ca), the Canadian SMS API. It lets an AI agent send SMS, run phone verification, manage Canadian numbers, and handle CASL compliance through natural language.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
47 tools, 4 resources, and 5 guided prompts, all backed by the live HonkIO REST API. Use it two ways: point your client at the hosted endpoint at `https://mcp.honkio.ca/mcp`, or run it locally with `npx`. Both talk to the same API with the same key.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -22,7 +22,7 @@ Sign in at **<https://honkio.ca/dashboard/keys>** and copy a key:
|
|
|
22
22
|
| `mk_test_…` | Test | Messages are simulated as delivered. **No SMS is sent and nothing is charged.** |
|
|
23
23
|
| `mk_live_…` | Live | Real SMS, real Canadian numbers, **real charges against your balance**. |
|
|
24
24
|
|
|
25
|
-
**Start with a test key.**
|
|
25
|
+
**Start with a test key.** It works before your account's first top-up and can't spend anything: sends and verifications are simulated for free, and a test send still runs the same compliance checks a live one does (consent, opt-out, allow/deny lists, reserved and undeliverable destinations), just without requiring you to own the `from` number. A handful of tools that touch live money or data (provisioning or releasing a number, writing or reading a webhook's dead letters, erasure, and volume/allowance requests) need a live key and answer `LIVE_KEY_REQUIRED` from a test one. Switch to a live key when you want real delivery.
|
|
26
26
|
|
|
27
27
|
Live sending also requires that the account owner has completed phone verification, and that you have provisioned at least one number to send from.
|
|
28
28
|
|
|
@@ -45,7 +45,7 @@ claude mcp add --transport http honkio https://mcp.honkio.ca/mcp \
|
|
|
45
45
|
--header "Authorization: Bearer mk_test_YOUR_KEY_HERE"
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
Prefer to sign in rather than paste a key? Add the endpoint without a header and run `/mcp` inside Claude Code: a browser window opens on honkio.ca where you approve the connection and choose live or test mode. The connection shows up on your API keys page as `OAuth: Claude Code`, and revoking it there disconnects the agent.
|
|
48
|
+
Prefer to sign in rather than paste a key? Add the endpoint without a header and run `/mcp` inside Claude Code: a browser window opens on honkio.ca where you approve the connection and choose live or test mode. A live connection also asks for your account password. The connection shows up on your API keys page as `OAuth: Claude Code`, and revoking it there disconnects the agent.
|
|
49
49
|
|
|
50
50
|
```sh
|
|
51
51
|
claude mcp add --transport http honkio https://mcp.honkio.ca/mcp
|
|
@@ -216,7 +216,7 @@ If a key does leak, revoke it immediately at <https://honkio.ca/dashboard/keys>.
|
|
|
216
216
|
| `list_messages` | List messages, filterable by number, status, direction and date. |
|
|
217
217
|
| `get_message` | Full detail for one message, including delivery status and cost. |
|
|
218
218
|
|
|
219
|
-
Both directions are billed: sending an SMS charges per
|
|
219
|
+
Both directions are billed per part, the way the carrier splits the body: sending an SMS charges per part, and receiving one on a provisioned number charges the inbound per-part cost. `get_pricing` returns both figures. Inbound charges happen automatically whenever someone texts your number, independent of any tool call.
|
|
220
220
|
|
|
221
221
|
### Phone verification (OTP)
|
|
222
222
|
| Tool | Description |
|
|
@@ -238,11 +238,14 @@ Prices are set at runtime and change without a release. Read them rather than ha
|
|
|
238
238
|
### Phone numbers
|
|
239
239
|
| Tool | Description |
|
|
240
240
|
|---|---|
|
|
241
|
-
| `
|
|
242
|
-
| `
|
|
241
|
+
| `list_area_codes` | Provinces HonkIO has numbers in, and the active area codes within each. |
|
|
242
|
+
| `search_phone_numbers` | Search available Canadian numbers, filtered by up to 5 area codes. |
|
|
243
|
+
| `provision_phone_number` | Purchase a number. **Charges the first month plus a one-time activation fee, then monthly rent.** Live keys only. |
|
|
243
244
|
| `list_phone_numbers` | List the numbers on your account. |
|
|
244
245
|
| `get_phone_number` | Detail for one number. |
|
|
245
|
-
| `release_phone_number` | Release a number and stop its recurring rent. |
|
|
246
|
+
| `release_phone_number` | Release a number and stop its recurring rent. Live keys only. |
|
|
247
|
+
| `request_number_allowance` | Ask to hold more numbers than the current per-account limit. Live keys only. |
|
|
248
|
+
| `list_number_allowance_requests` | List past and pending allowance requests. |
|
|
246
249
|
|
|
247
250
|
### CASL compliance
|
|
248
251
|
| Tool | Description |
|
|
@@ -265,22 +268,24 @@ CRTC Do Not Call List checking is not live. `dncl_exemptions` on `send_sms` is a
|
|
|
265
268
|
### Webhooks
|
|
266
269
|
| Tool | Description |
|
|
267
270
|
|---|---|
|
|
268
|
-
| `create_webhook` | Register an endpoint for delivery receipts and inbound messages. |
|
|
271
|
+
| `create_webhook` | Register an endpoint for delivery receipts and inbound messages. Live keys only. |
|
|
269
272
|
| `list_webhooks` | List registered webhooks. |
|
|
270
|
-
| `
|
|
271
|
-
| `
|
|
273
|
+
| `get_webhook` | Detail for one webhook. |
|
|
274
|
+
| `update_webhook` | Change a webhook's URL or subscribed events. Live keys only. |
|
|
275
|
+
| `delete_webhook` | Remove a webhook. Live keys only. |
|
|
272
276
|
| `list_webhook_deliveries` | Delivery attempts for a webhook, for debugging. |
|
|
273
|
-
| `list_webhook_dead_letters` | Deliveries that exhausted their retries. |
|
|
274
|
-
| `replay_webhook_dead_letter` | Retry a dead-lettered delivery. |
|
|
275
|
-
| `discard_webhook_dead_letter` | Drop a dead-lettered delivery. |
|
|
276
|
-
| `reactivate_webhook` | Re-enable a webhook disabled by repeated failures. |
|
|
277
|
+
| `list_webhook_dead_letters` | Deliveries that exhausted their retries. Live keys only, since a dead letter carries the failed payload. |
|
|
278
|
+
| `replay_webhook_dead_letter` | Retry a dead-lettered delivery. Live keys only. |
|
|
279
|
+
| `discard_webhook_dead_letter` | Drop a dead-lettered delivery. Live keys only. |
|
|
280
|
+
| `reactivate_webhook` | Re-enable a webhook disabled by repeated failures. Live keys only. |
|
|
277
281
|
|
|
278
282
|
### Sending limits
|
|
279
283
|
|
|
280
284
|
| Tool | What it does |
|
|
281
285
|
|---|---|
|
|
282
286
|
| `get_send_limit` | Daily cap (rolling 24 h), usage, the per-recipient cap (`recipient_rate_per_hour` / `recipient_rate_per_day`), probation status, any active pause, and past volume requests. |
|
|
283
|
-
| `request_send_limit` | File a "request a higher volume" for staff review once probation has ended. |
|
|
287
|
+
| `request_send_limit` | File a "request a higher volume" for staff review once probation has ended. Live keys only. |
|
|
288
|
+
| `list_send_limit_requests` | List past and pending volume requests. |
|
|
284
289
|
| `get_topup_allowance` | How much credit can be added right now under the balance and 30-day top-up caps. |
|
|
285
290
|
|
|
286
291
|
New accounts can send 250 live messages per rolling 24 hours; 30 days after the first live send they can request more. Identical messages to many recipients, per-number rate, link shorteners, and unusually high opt-out or failure rates are also limited. See [honkio.ca/docs#limits](https://honkio.ca/docs#limits). Refused sends return `DAILY_LIMIT_REACHED`, `FANOUT_LIMIT_REACHED`, `NUMBER_RATE_LIMITED`, `RECIPIENT_RATE_LIMITED` (30 an hour / 100 a day to one number), `SENDING_PAUSED`, `UNDELIVERABLE_NUMBER` (three consecutive carrier failures list a number for 90 days), `NOT_A_MOBILE_NUMBER` (a landline or VoIP destination, refused before sending), `RESERVED_DESTINATION` (a reserved exchange such as 555-XXXX, N11 or a carrier test code, refused in both modes) or `LINK_SHORTENER_BLOCKED` with details.
|
|
@@ -288,11 +293,12 @@ New accounts can send 250 live messages per rolling 24 hours; 30 days after the
|
|
|
288
293
|
### Account and keys
|
|
289
294
|
| Tool | Description |
|
|
290
295
|
|---|---|
|
|
291
|
-
| `whoami` |
|
|
296
|
+
| `whoami` | The account the API key belongs to (id, name, balance, status) and its list of API keys. Does not say which key you are calling with. |
|
|
292
297
|
| `get_account` | Account detail and credit balance. |
|
|
293
298
|
| `update_account` | Update the account name. |
|
|
294
299
|
| `get_usage` | Usage for a billing period, including live delivery health (`delivery`: delivered, failed, undelivered, pending, `failureRatePct`; `byNumber`: the same per sending number). |
|
|
295
|
-
| `
|
|
300
|
+
| `list_transactions` | Balance transaction ledger (top-ups, refunds, rent, provisioning and verification fees), newest first. |
|
|
301
|
+
| `create_api_key` | Issue a new live or test key, with permissions no broader than the calling key's own. |
|
|
296
302
|
| `rotate_api_key` | Replace a key, invalidating the old value. |
|
|
297
303
|
| `revoke_api_key` | Revoke a key immediately. |
|
|
298
304
|
|
|
@@ -301,7 +307,18 @@ New accounts can send 250 live messages per rolling 24 hours; 30 days after the
|
|
|
301
307
|
### PIPEDA
|
|
302
308
|
| Tool | Description |
|
|
303
309
|
|---|---|
|
|
304
|
-
| `request_erasure` | Execute a right-to-erasure request for a phone number. |
|
|
310
|
+
| `request_erasure` | Execute a right-to-erasure request for a phone number. Live keys only. |
|
|
311
|
+
|
|
312
|
+
### Not covered here
|
|
313
|
+
|
|
314
|
+
The REST API has more surface than this package exposes as tools. Reachable directly through the API (not through MCP):
|
|
315
|
+
|
|
316
|
+
- **Contacts, contact groups, and their broadcast sends** (`/v1/contacts`, `/v1/contact-groups`)
|
|
317
|
+
- **Allow/deny lists**, both the standalone contact lists (`/v1/lists`) and the ones attached to an API key (`/v1/accounts/:id/api-keys/:keyId/lists`)
|
|
318
|
+
- **Owner phone verification** (`/v1/accounts/:id/phone-verification` and its `/confirm`), the one-time step a live account needs before it can send
|
|
319
|
+
- **An API key's default-deny flag** (`PATCH /v1/accounts/:id/api-keys/:keyId/default-deny`)
|
|
320
|
+
|
|
321
|
+
See [honkio.ca/docs](https://honkio.ca/docs) for the full REST reference.
|
|
305
322
|
|
|
306
323
|
---
|
|
307
324
|
|
|
@@ -357,7 +374,7 @@ Two tools move real money on a live key:
|
|
|
357
374
|
|
|
358
375
|
A third charge is not tool-triggered at all: **inbound SMS is billed per segment** the moment a carrier delivers it to one of your provisioned numbers, whether or not you ever call a tool. Traffic to a number you provisioned draws down your balance on its own (STOP/START/HELP replies are not charged), and a received message is debited even when the balance cannot cover it: the balance goes negative and sends are frozen until the next top-up.
|
|
359
376
|
|
|
360
|
-
Agents act on instructions that can be vaguer than you intended. If you are exploring, use a test key
|
|
377
|
+
Agents act on instructions that can be vaguer than you intended. If you are exploring, use a test key: sends and verifications are simulated and charge nothing, but buying or releasing a number, changing webhooks and running erasure need a live key.
|
|
361
378
|
|
|
362
379
|
A test-mode send still comes back with status `DELIVERED`, because it simulates a successful delivery. That is not a claim that a phone received anything. The `mode` field on the response, `LIVE` or `TEST`, is the one that tells you whether an SMS actually left the building.
|
|
363
380
|
|
|
@@ -365,7 +382,7 @@ A test-mode send still comes back with status `DELIVERED`, because it simulates
|
|
|
365
382
|
|
|
366
383
|
## Canadian compliance
|
|
367
384
|
|
|
368
|
-
- **CASL**: commercial messages need consent on record. Use `record_consent` before sending; `send_sms` enforces it unless you pass `skip_consent_check
|
|
385
|
+
- **CASL**: commercial messages need consent on record. Use `record_consent` before sending; `send_sms` enforces it unless you pass `skip_consent_check`, which only a test-mode key can do (a live key gets 403 FORBIDDEN). Express consent does not expire; implied consent expires two years after the last transaction.
|
|
369
386
|
- **DNCL**: CRTC Do Not Call List checking is not available yet and is not enforced.
|
|
370
387
|
- **PIPEDA**: customer data is **stored** in Canada (`ca-central-1`). Request processing currently runs on infrastructure outside Canada, so data crosses the border in transit; see the [privacy policy](https://honkio.ca/legal/privacy) for the full disclosure. Use `request_erasure` for right-to-erasure requests.
|
|
371
388
|
|
|
@@ -375,13 +392,14 @@ A test-mode send still comes back with status `DELIVERED`, because it simulates
|
|
|
375
392
|
|
|
376
393
|
| Symptom | Cause and fix |
|
|
377
394
|
|---|---|
|
|
378
|
-
| `
|
|
395
|
+
| `UNAUTHORIZED` | Key is wrong, revoked, or never reached the server. Check the `env` block, or the `Authorization` header on the hosted endpoint. |
|
|
379
396
|
| Tools do not appear in the agent | The client did not start the server. Restart the client, and check that `npx` is on its `PATH`, since GUI apps do not always inherit your shell's `PATH`. |
|
|
380
397
|
| First start is slow, or times out once | `npx` downloads the package on first use. Run `npx -y @honkio/mcp` once in a terminal to warm the cache, then restart your client. |
|
|
381
|
-
| `npm ERR! 404
|
|
382
|
-
| `
|
|
383
|
-
| `
|
|
384
|
-
| `
|
|
398
|
+
| `npm ERR! 404` | Usually an npm registry override or a private proxy. Check `npm config get registry`. |
|
|
399
|
+
| `PAYMENT_REQUIRED` | A **live** key needs the account's first top-up before use; a test key works without one. |
|
|
400
|
+
| `LIVE_KEY_REQUIRED` | The tool you called touches live money or data. Test keys are a sandbox and can't reach it; use a live key. |
|
|
401
|
+
| `ACCOUNT_NOT_VERIFIED` | Live sending needs the account owner's phone verified. Do it in the dashboard. |
|
|
402
|
+
| `DNCL_COMING_SOON` | Expected, answered as 501. DNCL checking is not live yet. |
|
|
385
403
|
| Server starts then exits silently | That is normal when nothing is attached to stdin. It only means something is wrong if it prints an error. |
|
|
386
404
|
|
|
387
405
|
---
|
|
@@ -416,19 +434,42 @@ It answers `GET /healthz` and `POST /mcp`, verifies each caller's key against th
|
|
|
416
434
|
|
|
417
435
|
### Publishing to the MCP Registry
|
|
418
436
|
|
|
419
|
-
`server.json` describes both the npm package and the hosted endpoint for the official registry under the `ca.honkio
|
|
437
|
+
`server.json` describes both the npm package and the hosted endpoint for the [official MCP Registry](https://registry.modelcontextprotocol.io) under the `ca.honkio` namespace, which is verified by a DNS record on `honkio.ca`. The registry entry is live; these are the steps to repeat for a new release.
|
|
438
|
+
|
|
439
|
+
The publisher is a Go binary, not an npm package:
|
|
420
440
|
|
|
421
441
|
```sh
|
|
422
|
-
|
|
423
|
-
openssl genpkey -algorithm Ed25519 -out mcp-registry.pem
|
|
424
|
-
openssl pkey -in mcp-registry.pem -pubout -outform DER | tail -c 32 | base64
|
|
425
|
-
# -> TXT record on honkio.ca: v=MCPv1; k=ed25519; p=<that base64>
|
|
426
|
-
|
|
427
|
-
# each release, after npm publish and a matching version in server.json
|
|
428
|
-
npx -y @modelcontextprotocol/mcp-publisher login dns --domain honkio.ca --private-key "$(openssl pkey -in mcp-registry.pem -outform DER | tail -c 32 | xxd -p -c 64)"
|
|
429
|
-
npx -y @modelcontextprotocol/mcp-publisher publish
|
|
442
|
+
brew install mcp-publisher
|
|
430
443
|
```
|
|
431
444
|
|
|
445
|
+
Generate the signing key once. macOS ships LibreSSL, whose `genpkey` has no Ed25519, so use Node:
|
|
446
|
+
|
|
447
|
+
```sh
|
|
448
|
+
node -e "
|
|
449
|
+
const {generateKeyPairSync}=require('crypto'),fs=require('fs');
|
|
450
|
+
const {publicKey,privateKey}=generateKeyPairSync('ed25519');
|
|
451
|
+
const pub=publicKey.export({format:'der',type:'spki'});
|
|
452
|
+
fs.writeFileSync('mcp-registry.pem',privateKey.export({format:'pem',type:'pkcs8'}),{mode:0o600});
|
|
453
|
+
console.log('TXT value: v=MCPv1; k=ed25519; p='+pub.subarray(pub.length-32).toString('base64'));
|
|
454
|
+
"
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
Publish that value as a TXT record on the apex of `honkio.ca` (host `@`). The key file is gitignored; keep it, since every future release signs with it.
|
|
458
|
+
|
|
459
|
+
Then, for each release, after `npm publish` and with a matching `version` in `server.json`:
|
|
460
|
+
|
|
461
|
+
```sh
|
|
462
|
+
PRIV=$(node -e "
|
|
463
|
+
const {createPrivateKey}=require('crypto'),fs=require('fs');
|
|
464
|
+
const der=createPrivateKey(fs.readFileSync('mcp-registry.pem')).export({format:'der',type:'pkcs8'});
|
|
465
|
+
console.log(der.subarray(der.length-32).toString('hex'));
|
|
466
|
+
")
|
|
467
|
+
mcp-publisher login dns --domain honkio.ca --private-key "$PRIV"
|
|
468
|
+
mcp-publisher publish
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
The registry checks that the published npm package carries a matching `mcpName` field, so `npm publish` has to happen first.
|
|
472
|
+
|
|
432
473
|
The `serverJson` test pins `server.json` to `package.json`, so a version bump that forgets one of them fails `npm test`.
|
|
433
474
|
|
|
434
475
|
## License
|
package/dist/client.d.ts
CHANGED
|
@@ -12,7 +12,9 @@ export interface HonkioClientOptions {
|
|
|
12
12
|
export declare class HonkioError extends Error {
|
|
13
13
|
readonly status: number;
|
|
14
14
|
readonly code: string;
|
|
15
|
-
|
|
15
|
+
readonly details?: unknown | undefined;
|
|
16
|
+
readonly body?: Record<string, unknown> | undefined;
|
|
17
|
+
constructor(status: number, code: string, message: string, details?: unknown | undefined, body?: Record<string, unknown> | undefined);
|
|
16
18
|
}
|
|
17
19
|
export declare class HonkioClient {
|
|
18
20
|
private readonly apiKey;
|
|
@@ -52,15 +54,25 @@ export declare class HonkioClient {
|
|
|
52
54
|
}>;
|
|
53
55
|
getMessage(id: string): Promise<Record<string, unknown>>;
|
|
54
56
|
searchPhoneNumbers(query?: {
|
|
55
|
-
|
|
57
|
+
area_codes?: string;
|
|
56
58
|
limit?: number;
|
|
57
59
|
}): Promise<unknown[]>;
|
|
60
|
+
listAreaCodes(): Promise<{
|
|
61
|
+
data: unknown[];
|
|
62
|
+
}>;
|
|
58
63
|
provisionPhoneNumber(phoneNumber: string): Promise<Record<string, unknown>>;
|
|
59
64
|
listPhoneNumbers(): Promise<{
|
|
60
65
|
data: unknown[];
|
|
61
66
|
}>;
|
|
62
67
|
getPhoneNumber(id: string): Promise<Record<string, unknown>>;
|
|
63
68
|
releasePhoneNumber(id: string): Promise<void>;
|
|
69
|
+
requestNumberAllowance(params: {
|
|
70
|
+
requested_limit: number;
|
|
71
|
+
reason: string;
|
|
72
|
+
}): Promise<Record<string, unknown>>;
|
|
73
|
+
listNumberAllowanceRequests(): Promise<{
|
|
74
|
+
data: unknown[];
|
|
75
|
+
}>;
|
|
64
76
|
recordConsent(params: {
|
|
65
77
|
phone_number: string;
|
|
66
78
|
consent_type: 'express' | 'implied';
|
|
@@ -112,12 +124,14 @@ export declare class HonkioClient {
|
|
|
112
124
|
checkVerification(verificationId: string, code: string): Promise<Record<string, unknown>>;
|
|
113
125
|
getVerification(verificationId: string): Promise<Record<string, unknown>>;
|
|
114
126
|
listVerifications(query?: {
|
|
115
|
-
phone_number?: string;
|
|
116
|
-
status?: string;
|
|
117
|
-
page?: number;
|
|
118
127
|
limit?: number;
|
|
128
|
+
offset?: number;
|
|
129
|
+
status?: string;
|
|
119
130
|
}): Promise<{
|
|
120
131
|
data: unknown[];
|
|
132
|
+
total: number;
|
|
133
|
+
limit: number;
|
|
134
|
+
offset: number;
|
|
121
135
|
}>;
|
|
122
136
|
createWebhook(params: {
|
|
123
137
|
url: string;
|
|
@@ -167,15 +181,26 @@ export declare class HonkioClient {
|
|
|
167
181
|
from?: string;
|
|
168
182
|
to?: string;
|
|
169
183
|
}): Promise<Record<string, unknown>>;
|
|
184
|
+
listTransactions(id: string, query?: {
|
|
185
|
+
limit?: number;
|
|
186
|
+
before?: string;
|
|
187
|
+
}): Promise<{
|
|
188
|
+
transactions: unknown[];
|
|
189
|
+
has_more: boolean;
|
|
190
|
+
}>;
|
|
170
191
|
getSendLimit(): Promise<Record<string, unknown>>;
|
|
171
192
|
requestSendLimit(params: {
|
|
172
193
|
requested_limit?: number;
|
|
173
194
|
reason: string;
|
|
174
195
|
}): Promise<Record<string, unknown>>;
|
|
196
|
+
listSendLimitRequests(): Promise<{
|
|
197
|
+
data: unknown[];
|
|
198
|
+
}>;
|
|
175
199
|
getTopupAllowance(accountId: string): Promise<Record<string, unknown>>;
|
|
176
200
|
createApiKey(accountId: string, params?: {
|
|
177
201
|
mode?: 'live' | 'test';
|
|
178
202
|
label?: string;
|
|
203
|
+
permissions?: Record<string, string>;
|
|
179
204
|
}): Promise<Record<string, unknown>>;
|
|
180
205
|
revokeApiKey(accountId: string, keyId: string): Promise<void>;
|
|
181
206
|
rotateApiKey(accountId: string, keyId: string): Promise<{
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sIAAsI;IACtI,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,WAAY,SAAQ,KAAK;aAElB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -7,10 +7,25 @@ const REQUEST_TIMEOUT_MS = 15_000;
|
|
|
7
7
|
export class HonkioError extends Error {
|
|
8
8
|
status;
|
|
9
9
|
code;
|
|
10
|
-
|
|
10
|
+
details;
|
|
11
|
+
body;
|
|
12
|
+
constructor(status, code, message,
|
|
13
|
+
// The response body's `details` (an AJV validation array, or an ad hoc
|
|
14
|
+
// object like `{reason: 'account_suspended'}`), when present. Optional
|
|
15
|
+
// and appended last so every existing call site — none of which passes
|
|
16
|
+
// it — keeps compiling and behaving exactly as before.
|
|
17
|
+
details,
|
|
18
|
+
// The full parsed response body, when it was a JSON object. Some error
|
|
19
|
+
// bodies carry extra top-level fields beyond the standard error shape
|
|
20
|
+
// (e.g. `attempts_remaining` on a verify-check 422) — keeping the whole
|
|
21
|
+
// body lets formatError surface any of those without every call site
|
|
22
|
+
// needing to know which field names to look for.
|
|
23
|
+
body) {
|
|
11
24
|
super(message);
|
|
12
25
|
this.status = status;
|
|
13
26
|
this.code = code;
|
|
27
|
+
this.details = details;
|
|
28
|
+
this.body = body;
|
|
14
29
|
this.name = 'HonkioError';
|
|
15
30
|
}
|
|
16
31
|
}
|
|
@@ -42,10 +57,25 @@ export class HonkioClient {
|
|
|
42
57
|
// Every id in a path comes from a tool argument, i.e. from the model. Call
|
|
43
58
|
// sites encode each segment, which turns a crafted id into one harmless
|
|
44
59
|
// segment; this catches any call site that ever forgets, so the request
|
|
45
|
-
// fails here instead of quietly resolving somewhere else.
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
|
|
60
|
+
// fails here instead of quietly resolving somewhere else. Segments are
|
|
61
|
+
// decoded (once — the same number of times the URL itself will be) before
|
|
62
|
+
// the check, so an encoded dot segment ("..%2Fx", one raw segment) is
|
|
63
|
+
// compared as "../x" and passes, while a bare ".." — or a segment that
|
|
64
|
+
// decodes to it, or fails to decode at all — is refused.
|
|
65
|
+
for (const segment of path.replace(/^\//, '').split('/')) {
|
|
66
|
+
if (segment === '') {
|
|
67
|
+
throw new HonkioError(400, 'INVALID_ID', 'An identifier contained path characters and was refused.');
|
|
68
|
+
}
|
|
69
|
+
let decoded;
|
|
70
|
+
try {
|
|
71
|
+
decoded = decodeURIComponent(segment);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
throw new HonkioError(400, 'INVALID_ID', 'An identifier contained path characters and was refused.');
|
|
75
|
+
}
|
|
76
|
+
if (decoded === '.' || decoded === '..') {
|
|
77
|
+
throw new HonkioError(400, 'INVALID_ID', 'An identifier contained path characters and was refused.');
|
|
78
|
+
}
|
|
49
79
|
}
|
|
50
80
|
let url = `${this.baseUrl}${path}`;
|
|
51
81
|
if (query) {
|
|
@@ -81,7 +111,11 @@ export class HonkioClient {
|
|
|
81
111
|
if (!res.ok) {
|
|
82
112
|
const code = data?.code ?? 'UNKNOWN_ERROR';
|
|
83
113
|
const message = data?.message ?? text ?? `HTTP ${res.status}`;
|
|
84
|
-
|
|
114
|
+
const details = data?.details;
|
|
115
|
+
const body = data !== null && typeof data === 'object' && !Array.isArray(data)
|
|
116
|
+
? data
|
|
117
|
+
: undefined;
|
|
118
|
+
throw new HonkioError(res.status, code, message, details, body);
|
|
85
119
|
}
|
|
86
120
|
return data;
|
|
87
121
|
}
|
|
@@ -100,6 +134,9 @@ export class HonkioClient {
|
|
|
100
134
|
searchPhoneNumbers(query) {
|
|
101
135
|
return this.request('GET', '/v1/phone-numbers/search', undefined, query);
|
|
102
136
|
}
|
|
137
|
+
listAreaCodes() {
|
|
138
|
+
return this.request('GET', '/v1/phone-numbers/area-codes');
|
|
139
|
+
}
|
|
103
140
|
provisionPhoneNumber(phoneNumber) {
|
|
104
141
|
return this.request('POST', '/v1/phone-numbers', { phone_number: phoneNumber });
|
|
105
142
|
}
|
|
@@ -112,6 +149,12 @@ export class HonkioClient {
|
|
|
112
149
|
releasePhoneNumber(id) {
|
|
113
150
|
return this.request('DELETE', `/v1/phone-numbers/${encodeURIComponent(id)}`);
|
|
114
151
|
}
|
|
152
|
+
requestNumberAllowance(params) {
|
|
153
|
+
return this.request('POST', '/v1/phone-numbers/allowance-requests', params);
|
|
154
|
+
}
|
|
155
|
+
listNumberAllowanceRequests() {
|
|
156
|
+
return this.request('GET', '/v1/phone-numbers/allowance-requests');
|
|
157
|
+
}
|
|
115
158
|
// ── Compliance: Consents ──────────────────────────────────
|
|
116
159
|
recordConsent(params) {
|
|
117
160
|
return this.request('POST', '/v1/compliance/consents', params);
|
|
@@ -183,7 +226,7 @@ export class HonkioClient {
|
|
|
183
226
|
return this.request('POST', `/v1/webhooks/${encodeURIComponent(webhookId)}/reactivate`);
|
|
184
227
|
}
|
|
185
228
|
listWebhookDeadLetters(webhookId, query) {
|
|
186
|
-
return this.request('GET', `/v1/webhooks/${webhookId}/dead-letters`, undefined, query);
|
|
229
|
+
return this.request('GET', `/v1/webhooks/${encodeURIComponent(webhookId)}/dead-letters`, undefined, query);
|
|
187
230
|
}
|
|
188
231
|
replayWebhookDeadLetter(deadLetterId) {
|
|
189
232
|
return this.request('POST', `/v1/webhooks/dead-letters/${encodeURIComponent(deadLetterId)}/replay`);
|
|
@@ -211,6 +254,9 @@ export class HonkioClient {
|
|
|
211
254
|
getUsage(id, query) {
|
|
212
255
|
return this.request('GET', `/v1/accounts/${encodeURIComponent(id)}/usage`, undefined, query);
|
|
213
256
|
}
|
|
257
|
+
listTransactions(id, query) {
|
|
258
|
+
return this.request('GET', `/v1/accounts/${encodeURIComponent(id)}/transactions`, undefined, query);
|
|
259
|
+
}
|
|
214
260
|
// ── Sending limits ────────────────────────────────────────────
|
|
215
261
|
getSendLimit() {
|
|
216
262
|
return this.request('GET', '/v1/send-limit');
|
|
@@ -218,6 +264,9 @@ export class HonkioClient {
|
|
|
218
264
|
requestSendLimit(params) {
|
|
219
265
|
return this.request('POST', '/v1/send-limit/requests', params);
|
|
220
266
|
}
|
|
267
|
+
listSendLimitRequests() {
|
|
268
|
+
return this.request('GET', '/v1/send-limit/requests');
|
|
269
|
+
}
|
|
221
270
|
getTopupAllowance(accountId) {
|
|
222
271
|
return this.request('GET', `/v1/accounts/${encodeURIComponent(accountId)}/topup-allowance`);
|
|
223
272
|
}
|
|
@@ -228,7 +277,7 @@ export class HonkioClient {
|
|
|
228
277
|
return this.request('DELETE', `/v1/accounts/${encodeURIComponent(accountId)}/api-keys/${encodeURIComponent(keyId)}`);
|
|
229
278
|
}
|
|
230
279
|
rotateApiKey(accountId, keyId) {
|
|
231
|
-
return this.request('POST', `/v1/accounts/${accountId}/api-keys/${keyId}/rotate`);
|
|
280
|
+
return this.request('POST', `/v1/accounts/${encodeURIComponent(accountId)}/api-keys/${encodeURIComponent(keyId)}/rotate`);
|
|
232
281
|
}
|
|
233
282
|
}
|
|
234
283
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAWlC,MAAM,OAAO,WAAY,SAAQ,KAAK;IAElB;IACA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.js
CHANGED
|
@@ -61,7 +61,7 @@ Please:
|
|
|
61
61
|
- message.received (to handle inbound SMS replies)
|
|
62
62
|
- opt_out.recorded (to sync opt-outs to your CRM)
|
|
63
63
|
- account.sending_paused and account.delivery_warning (to hear about a pause or a failure spike before customers do)
|
|
64
|
-
3. Display the signing_secret from the response
|
|
64
|
+
3. Display the signing_secret from the response: remind me to store it securely as it won't be shown again. Explain that I should use it to verify the X-HonkIO-Signature header on incoming webhook requests.
|
|
65
65
|
4. If webhooks already exist, show me the existing ones and ask if I want to create an additional one or update an existing one.`,
|
|
66
66
|
},
|
|
67
67
|
}],
|
|
@@ -76,8 +76,8 @@ Please:
|
|
|
76
76
|
text: `Please run a CASL compliance audit for the phone number: ${phone_number}
|
|
77
77
|
|
|
78
78
|
Use these tools and summarize the results:
|
|
79
|
-
1. \`check_consent
|
|
80
|
-
2. \`list_opt_outs\` with phone_number filter
|
|
79
|
+
1. \`check_consent\`: What is the consent status? Is it ACTIVE, EXPIRED, or missing?
|
|
80
|
+
2. \`list_opt_outs\` with phone_number filter: Has this number opted out from any of my sending numbers?
|
|
81
81
|
(CRTC DNCL checking is coming soon and not yet available, so skip the DNCL lookup for now.)
|
|
82
82
|
|
|
83
83
|
Summarize with:
|
|
@@ -101,10 +101,10 @@ Summarize with:
|
|
|
101
101
|
${reason ? `**Reason provided:** ${reason}` : ''}
|
|
102
102
|
|
|
103
103
|
Please:
|
|
104
|
-
1. Confirm with me before proceeding
|
|
104
|
+
1. Confirm with me before proceeding: this action is irreversible.
|
|
105
105
|
2. If confirmed, use \`request_erasure\` to erase all personal data for this number.
|
|
106
106
|
3. Show me the result including the erased_at timestamp.
|
|
107
|
-
4. Explain what was erased (message bodies, consent records,
|
|
107
|
+
4. Explain what was erased (message bodies, consent records, verifications, contacts, non-DENY contact-list entries, and webhook dead letters referencing the number) and what is retained: message metadata, opt-out records (kept as required CASL compliance evidence, never erased), any DENY-list block on the number (kept so the number stays blocked), and an immutable audit log entry.`,
|
|
108
108
|
},
|
|
109
109
|
}],
|
|
110
110
|
}));
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/toolMeta.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolMeta.d.ts","sourceRoot":"","sources":["../src/toolMeta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,eAAe,CAAC;CAC9B;AAmBD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"toolMeta.d.ts","sourceRoot":"","sources":["../src/toolMeta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,eAAe,CAAC;CAC9B;AAmBD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAwD9C,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAI3C"}
|
package/dist/toolMeta.js
CHANGED
|
@@ -20,11 +20,14 @@ export const TOOL_META = {
|
|
|
20
20
|
list_messages: read('List messages'),
|
|
21
21
|
get_message: read('Get message'),
|
|
22
22
|
// Phone numbers
|
|
23
|
+
list_area_codes: read('List area codes'),
|
|
23
24
|
search_phone_numbers: read('Search available numbers'),
|
|
24
25
|
provision_phone_number: reachesPhone('Buy phone number'),
|
|
25
26
|
list_phone_numbers: read('List phone numbers'),
|
|
26
27
|
get_phone_number: read('Get phone number'),
|
|
27
28
|
release_phone_number: destructive('Release phone number'),
|
|
29
|
+
request_number_allowance: write('Request phone number allowance'),
|
|
30
|
+
list_number_allowance_requests: read('List phone number allowance requests'),
|
|
28
31
|
// CASL compliance
|
|
29
32
|
record_consent: write('Record consent'),
|
|
30
33
|
list_consents: read('List consents'),
|
|
@@ -45,6 +48,7 @@ export const TOOL_META = {
|
|
|
45
48
|
// Webhooks
|
|
46
49
|
create_webhook: write('Create webhook'),
|
|
47
50
|
list_webhooks: read('List webhooks'),
|
|
51
|
+
get_webhook: read('Get webhook'),
|
|
48
52
|
update_webhook: write('Update webhook', { idempotent: true }),
|
|
49
53
|
delete_webhook: destructive('Delete webhook'),
|
|
50
54
|
list_webhook_deliveries: read('List webhook deliveries'),
|
|
@@ -55,12 +59,14 @@ export const TOOL_META = {
|
|
|
55
59
|
// Sending limits
|
|
56
60
|
get_send_limit: read('Get sending limits'),
|
|
57
61
|
request_send_limit: write('Request higher volume'),
|
|
62
|
+
list_send_limit_requests: read('List sending volume requests'),
|
|
58
63
|
get_topup_allowance: read('Get top-up allowance'),
|
|
59
64
|
// Account and keys
|
|
60
65
|
whoami: read('Who am I'),
|
|
61
66
|
get_account: read('Get account'),
|
|
62
67
|
update_account: write('Update account', { idempotent: true }),
|
|
63
68
|
get_usage: read('Get usage'),
|
|
69
|
+
list_transactions: read('List transactions'),
|
|
64
70
|
create_api_key: write('Create API key'),
|
|
65
71
|
revoke_api_key: destructive('Revoke API key'),
|
|
66
72
|
rotate_api_key: destructive('Rotate API key'),
|
package/dist/toolMeta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolMeta.js","sourceRoot":"","sources":["../src/toolMeta.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolMeta.js","sourceRoot":"","sources":["../src/toolMeta.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import { type HonkioClient } from './client.js';
|
|
3
|
+
export declare const WEBHOOK_EVENTS: readonly ["message.queued", "message.sending", "message.sent", "message.delivered", "message.failed", "message.undelivered", "message.received", "opt_out.recorded", "opt_out.reinstated", "account.delivery_warning", "account.sending_paused", "account.spend_warning", "phone_number.suspended", "phone_number.released"];
|
|
4
|
+
export declare const PERMISSION_RESOURCES: readonly ["messages", "phone_numbers", "contacts", "contact_groups", "lists", "compliance", "webhooks", "verify", "account", "api_keys", "emails", "email_domains", "email_suppressions"];
|
|
5
|
+
export declare function formatError(err: unknown): {
|
|
6
|
+
content: [{
|
|
7
|
+
type: 'text';
|
|
8
|
+
text: string;
|
|
9
|
+
}];
|
|
10
|
+
isError: true;
|
|
11
|
+
};
|
|
3
12
|
export declare function registerTools(server: McpServer, client: HonkioClient): void;
|
|
4
13
|
//# sourceMappingURL=tools.d.ts.map
|