sipgate-mcp 0.5.2 → 0.6.0

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
@@ -1,5 +1,80 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0 - 2026-09-25
4
+
5
+ Breaking: 18 tools are renamed so that every tool name fits the 28-character
6
+ limit sipgate's AI agent sona applies to connected MCP tools. Backend method
7
+ names and behaviour are unchanged; update client allowlists and saved prompts.
8
+
9
+ | Before (0.5.x) | Since 0.6.0 |
10
+ | --- | --- |
11
+ | `set_external_device_target_number` | `set_external_device_target` |
12
+ | `set_external_device_incoming_call_display` | `set_external_device_display` |
13
+ | `get_device_tariff_announcement` | `get_tariff_announcement` |
14
+ | `set_device_tariff_announcement` | `set_tariff_announcement` |
15
+ | `get_device_single_row_display` | `get_single_row_display` |
16
+ | `set_device_single_row_display` | `set_single_row_display` |
17
+ | `get_phoneline_block_anonymous` | `get_anonymous_call_blocking` |
18
+ | `set_phoneline_block_anonymous` | `set_anonymous_call_blocking` |
19
+ | `create_autorecording_greeting` | `create_recording_greeting` |
20
+ | `delete_autorecording_greeting` | `delete_recording_greeting` |
21
+ | `create_call_email_notification` | `create_call_email_alert` |
22
+ | `create_call_sms_notification` | `create_call_sms_alert` |
23
+ | `create_fax_email_notification` | `create_fax_email_alert` |
24
+ | `create_fax_sms_notification` | `create_fax_sms_alert` |
25
+ | `create_fax_report_notification` | `create_fax_report_alert` |
26
+ | `create_sms_email_notification` | `create_sms_email_alert` |
27
+ | `create_voicemail_email_notification` | `create_voicemail_email_alert` |
28
+ | `create_voicemail_sms_notification` | `create_voicemail_sms_alert` |
29
+
30
+ - Make `user_id` optional in user scope. It defaults to the authenticated user
31
+ before anything is delegated, so an agent no longer has to look up its own ID
32
+ first; 49 tools, including `send_sms`, previously required it. An explicit
33
+ foreign ID is still rejected, and account scope still requires the ID.
34
+ - Add `list_phonelines`. Nine tools need a `phoneline_id`, and the backend
35
+ already implemented the listing, but no tool exposed it.
36
+ - Report a write that sipgate accepted as applied when a later step of the same
37
+ tool call fails. Reading the result back after a successful `send_sms`,
38
+ Click2Dial, call control, or any other write used to surface as a plain,
39
+ retryable error, which invited a second SMS or call. The result now says
40
+ `applied: true`, lists the accepted requests with any session or call ID, and
41
+ says not to repeat the action. A later failed write names the requests that
42
+ were already accepted.
43
+ - Advertise fields with defaults as optional in the tool schemas. `offset` and
44
+ `limit` of `list_numbers`, `call_history`, `export_history`, `list_contacts`,
45
+ and `get_contacts_vcard` were listed as required.
46
+ - Bound every request: each attempt has a 30-second deadline that covers the
47
+ response headers and the body. A write that times out, loses the connection,
48
+ or gets a server error is reported as possibly applied, so an agent checks
49
+ the state instead of sending it again. A write whose confirmation body is not
50
+ JSON is treated as accepted.
51
+ - Retry a read once when sipgate answers HTTP 429 or 503, honouring
52
+ `Retry-After` (seconds or HTTP date) up to 5 seconds. Longer waits are
53
+ reported instead of blocking the tool call, and writes are never retried.
54
+ - Stop passing sipgate's error text into tool results. Only denial sentences
55
+ sipgate is known to send are shown, quoted from a built-in list; any other
56
+ body is dropped. Before, any short plain-text body passed, including one that
57
+ echoed the raw PAT or read like an instruction. `Retry-After` is parsed and
58
+ no longer echoed, and every error message is scrubbed of the configured
59
+ PAT-ID, PAT, and Basic credential.
60
+ - Read paginated results through one bounded helper. It follows the
61
+ `nextOffset` of filtered history pages, so bulk history deletion on accounts
62
+ without history extensions no longer stops after the first page and leaves
63
+ owned entries behind. Offsets advance by what sipgate returned, a
64
+ continuation that does not move forward is an error, and a misbehaving
65
+ endpoint stops after 100 pages. `call_history` no longer invents a total when
66
+ sipgate omits it, and reports a next offset after a full page.
67
+ - Bound the contact cursor used by bulk contact deletion and CSV import, and
68
+ refuse a cursor that repeats instead of truncating the snapshot silently.
69
+ - Require `limit >= 1` for `export_history`, matching `call_history`.
70
+ - Describe where `faxline_id` and `phoneline_id` values come from, and link the
71
+ alert tools to `list_notifications` and `delete_notification`.
72
+ - Correct the README's error-handling claims, list npm first in the setup
73
+ skill, and sync `package-lock.json`, which still said 0.5.1.
74
+ - Add HTTP-level tests for `account_info`, `list_users`, `list_numbers`,
75
+ `list_devices`, `call_history`, and account-scope Click2Dial, plus tests that
76
+ keep every tool name unique and at most 28 characters long.
77
+
3
78
  ## 0.5.2 - 2026-08-30
4
79
 
5
80
  - Never send device IDs as history connection filters. sipgate answers HTTP 403
package/README.md CHANGED
@@ -109,7 +109,7 @@ addition to sipgate's own user role and PAT scopes:
109
109
 
110
110
  | Value | Behavior |
111
111
  | --- | --- |
112
- | `user` (default) | Resolves the authenticated user through `/authorization/userinfo`; returns only that user and their assigned numbers, notifications, faxlines, phonelines, voicemails, greetings, and attached devices; forces user-specific device, routing, restriction, and settings reads; constrains history reads, exports, and mutations to owned connections/entries; and validates every write target against owned numbers, phonelines, nested voicemail/forwarding/greeting resources, devices, faxlines, notifications, or emergency addresses associated with an owned device/number. Account-wide contact, blacklist, porting-cancellation, and sipgate.io writes require `confirm_account_wide: true`; their reads are allowed and clearly labelled account-wide. |
112
+ | `user` (default) | Resolves the authenticated user through `/authorization/userinfo`; returns only that user and their assigned numbers, notifications, faxlines, phonelines, voicemails, greetings, and attached devices; forces user-specific device, routing, restriction, and settings reads; constrains history reads, exports, and mutations to owned connections/entries; and validates every write target against owned numbers, phonelines, nested voicemail/forwarding/greeting resources, devices, faxlines, notifications, or emergency addresses associated with an owned device/number. Account-wide contact, blacklist, porting-cancellation, and sipgate.io writes require `confirm_account_wide: true`; their reads are allowed and clearly labelled account-wide. Every `user_id` parameter is optional and defaults to the authenticated user; another user's ID is rejected. |
113
113
  | `account` | Enables account-wide reads and writes. Startup fails unless `/users/{authenticatedUserId}` reports `admin: true`. Requires `users:read` for the administrator check. |
114
114
 
115
115
  Token scopes are permission ceilings, not role elevation. For example,
@@ -141,8 +141,8 @@ listed specific and parent scopes offered by the PAT UI when in doubt.
141
141
  | `get_device` | Read | Ownership `GET /{self}/devices`, then `GET /devices/{deviceId}` | `devices:read` |
142
142
  | `get_device_caller_id` | Read | Device ownership read, then `GET /devices/{deviceId}/callerid` | `devices:read`, `devices:callerid:read` |
143
143
  | `get_device_local_prefix` | Read | Device ownership read, then `GET /devices/{deviceId}/localprefix` | `devices:read`, `devices:localprefix:read` |
144
- | `get_device_tariff_announcement` | Read | Device ownership read, then `GET /devices/{deviceId}/tariffannouncement` | `devices:read`, `devices:tariffannouncement:read` |
145
- | `get_device_single_row_display` | Read | Device ownership read, then `GET /devices/{deviceId}/singlerowdisplay` | `devices:read`, `devices:singlerowdisplay:read` |
144
+ | `get_tariff_announcement` | Read | Device ownership read, then `GET /devices/{deviceId}/tariffannouncement` | `devices:read`, `devices:tariffannouncement:read` |
145
+ | `get_single_row_display` | Read | Device ownership read, then `GET /devices/{deviceId}/singlerowdisplay` | `devices:read`, `devices:singlerowdisplay:read` |
146
146
  | `get_device_contingents` | Read | Device/user ownership reads, then `GET /{userId}/devices/{deviceId}/contingents` | `devices:read` |
147
147
  | `list_user_numbers` | Read | `GET /{userId}/numbers`; this direct endpoint never uses phonelines | `numbers:read` |
148
148
  | `validate_quick_dial` | Read | `GET /numbers/quickdial/validation/{quickDialNumber}` | `numbers:read` |
@@ -155,8 +155,9 @@ listed specific and parent scopes offered by the PAT UI when in doubt.
155
155
  | `list_notifications` | Read | `GET /{userId}/notifications` | `notifications:read` |
156
156
  | `list_faxlines` | Read | `GET /{userId}/faxlines` | `faxlines:read` |
157
157
  | `list_faxline_numbers` | Read | User: faxline ownership read, then `GET /{userId}/faxlines/{faxlineId}/numbers`; account: direct `GET` | `faxlines:read`, `faxlines:numbers:read` |
158
+ | `list_phonelines` | Read | `GET /{userId}/phonelines`; an account without a phoneline layer returns an empty list with `phonelinesAvailable: false` | `phonelines:read` |
158
159
  | `get_phoneline` | Read | Owned-phoneline lookup, then `GET /{userId}/phonelines/{phonelineId}` | `phonelines:read` |
159
- | `get_phoneline_block_anonymous` | Read | Owned-phoneline lookup, then `GET /{userId}/phonelines/{phonelineId}/blockanonymous` | `phonelines:read`, `phonelines:blockanonymous:read` |
160
+ | `get_anonymous_call_blocking` | Read | Owned-phoneline lookup, then `GET /{userId}/phonelines/{phonelineId}/blockanonymous` | `phonelines:read`, `phonelines:blockanonymous:read` |
160
161
  | `list_phoneline_devices` | Read | Owned-phoneline/device filtering, then `GET /{userId}/phonelines/{phonelineId}/devices` | `phonelines:read`, `phonelines:devices:read`; user filtering also needs `devices:read` |
161
162
  | `list_parallel_forwardings` | Read | Owned-phoneline lookup, then `GET /{userId}/phonelines/{phonelineId}/parallelforwardings` | `phonelines:read`, `phonelines:parallelforwardings:read` |
162
163
  | `list_phoneline_voicemails` | Read | Owned-phoneline lookup, then `GET /{userId}/phonelines/{phonelineId}/voicemails` | `phonelines:read`, `phonelines:voicemails:read` |
@@ -169,7 +170,7 @@ listed specific and parent scopes offered by the PAT UI when in doubt.
169
170
  | `create_phoneline` | Write/action | `POST /{userId}/phonelines`; 403/404 becomes a clean unavailable result | `phonelines:write` |
170
171
  | `update_phoneline_alias` | Write | Owned-phoneline before/after reads and `PUT /{userId}/phonelines/{phonelineId}` | `phonelines:read`, `phonelines:write` |
171
172
  | `delete_phoneline` | Write | Owned-phoneline before-state read and `DELETE /{userId}/phonelines/{phonelineId}` | `phonelines:read`, `phonelines:write` |
172
- | `set_phoneline_block_anonymous` | Write | Owned-phoneline setting reads and `PUT /{userId}/phonelines/{phonelineId}/blockanonymous` | `phonelines:read`, `phonelines:blockanonymous:read`, `phonelines:blockanonymous:write` |
173
+ | `set_anonymous_call_blocking` | Write | Owned-phoneline setting reads and `PUT /{userId}/phonelines/{phonelineId}/blockanonymous` | `phonelines:read`, `phonelines:blockanonymous:read`, `phonelines:blockanonymous:write` |
173
174
  | `attach_device_to_phoneline` | Write/action | Owned phoneline/device reads, pre/post assignment reads, and `POST /{userId}/phonelines/{phonelineId}/devices` | `phonelines:read`, `phonelines:devices:read`, `phonelines:devices:write`, `devices:read` |
174
175
  | `detach_device_from_phoneline` | Write | Owned phoneline/device reads, pre/post assignment reads, and `DELETE /{userId}/phonelines/{phonelineId}/devices/{deviceId}` | `phonelines:read`, `phonelines:devices:read`, `phonelines:devices:write`, `devices:read` |
175
176
  | `create_parallel_forwarding` | Write/action | Owned-phoneline check, pre/post forwarding reads, and `POST /{userId}/phonelines/{phonelineId}/parallelforwardings` | `phonelines:read`, `phonelines:write`, `phonelines:parallelforwardings:read`, `phonelines:parallelforwardings:write` |
@@ -182,8 +183,8 @@ listed specific and parent scopes offered by the PAT UI when in doubt.
182
183
  | `set_voicemail_transcription` | Write | Verify owned voicemail, pre/post voicemail reads, and `PUT /{userId}/phonelines/{phonelineId}/voicemails/{voicemailId}/transcriptions` | `phonelines:read`, `phonelines:write`, `phonelines:voicemails:read`, `phonelines:voicemails:write` |
183
184
  | `play_voicemail` | Write/action | User: verify owned device and history/data entry; then `POST /sessions/voicemail/play` | `sessions:write`, `sessions:calls:write`; user ownership also needs `devices:read`, `history:read` and owned-connection scopes |
184
185
  | `record_voicemail_greeting` | Write/action | User: verify owned device and target voicemail; then `POST /sessions/voicemail/recording` | `sessions:write`, `sessions:calls:write`; user ownership also needs `devices:read`, `phonelines:read`, `phonelines:voicemails:read` |
185
- | `create_autorecording_greeting` | Write/action | Account scope only: pre/post `GET /autorecordings/greetings`, `POST /autorecordings/greetings` | `autorecording:greeting:read`, `autorecording:greeting:write`; sipgate requires administrator privileges and activated call recording |
186
- | `delete_autorecording_greeting` | Write | Account scope only: before-state read, then `DELETE /autorecordings/greetings/{greetingId}` | `autorecording:greeting:read`, `autorecording:greeting:write`; sipgate requires administrator privileges and activated call recording |
186
+ | `create_recording_greeting` | Write/action | Account scope only: pre/post `GET /autorecordings/greetings`, `POST /autorecordings/greetings` | `autorecording:greeting:read`, `autorecording:greeting:write`; sipgate requires administrator privileges and activated call recording |
187
+ | `delete_recording_greeting` | Write | Account scope only: before-state read, then `DELETE /autorecordings/greetings/{greetingId}` | `autorecording:greeting:read`, `autorecording:greeting:write`; sipgate requires administrator privileges and activated call recording |
187
188
  | `set_autorecording_settings` | Write | Owned phoneline/faxline extension lookup, pre/post setting reads, and `PUT /autorecordings/{extension}/settings` | `devices:read`; ownership also needs `phonelines:read`, `faxlines:read` |
188
189
  | `create_faxline` | Write/action | `POST /{userId}/faxlines` | `faxlines:write` |
189
190
  | `update_faxline_alias` | Write | Owned-faxline pre/post list reads and `PUT /{userId}/faxlines/{faxlineId}` | `faxlines:read`, `faxlines:write` |
@@ -231,10 +232,10 @@ listed specific and parent scopes offered by the PAT UI when in doubt.
231
232
  | `set_device_alias` | Write | Device ownership read; pre/post device reads and `PUT /devices/{deviceId}/alias` | `devices:read`, `devices:write` |
232
233
  | `set_device_caller_id` | Write | Device and caller-number ownership reads; pre/post caller-ID reads and `PUT /devices/{deviceId}/callerid` | `devices:read`, `devices:write`, `devices:callerid:read`, `devices:callerid:write`, plus owned-number read scopes |
233
234
  | `set_device_local_prefix` | Write | Device ownership read; pre/post setting reads and `PUT /devices/{deviceId}/localprefix` | `devices:read`, `devices:write`, `devices:localprefix:read`, `devices:localprefix:write` |
234
- | `set_device_tariff_announcement` | Write | Device ownership read; pre/post setting reads and `PUT /devices/{deviceId}/tariffannouncement` | `devices:read`, `devices:write`, `devices:tariffannouncement:read`, `devices:tariffannouncement:write` |
235
- | `set_device_single_row_display` | Write | Device ownership read; pre/post setting reads and `PUT /devices/{deviceId}/singlerowdisplay` | `devices:read`, `devices:write`, `devices:singlerowdisplay:read`, `devices:singlerowdisplay:write` |
236
- | `set_external_device_target_number` | Write | Device ownership read; pre/post device reads and `PUT /devices/{deviceId}/external/targetnumber` | `devices:read`, `devices:write` |
237
- | `set_external_device_incoming_call_display` | Write | Device ownership read; pre/post device reads and `PUT /devices/{deviceId}/external/incomingcalldisplay` | `devices:read`, `devices:write` |
235
+ | `set_tariff_announcement` | Write | Device ownership read; pre/post setting reads and `PUT /devices/{deviceId}/tariffannouncement` | `devices:read`, `devices:write`, `devices:tariffannouncement:read`, `devices:tariffannouncement:write` |
236
+ | `set_single_row_display` | Write | Device ownership read; pre/post setting reads and `PUT /devices/{deviceId}/singlerowdisplay` | `devices:read`, `devices:write`, `devices:singlerowdisplay:read`, `devices:singlerowdisplay:write` |
237
+ | `set_external_device_target` | Write | Device ownership read; pre/post device reads and `PUT /devices/{deviceId}/external/targetnumber` | `devices:read`, `devices:write` |
238
+ | `set_external_device_display` | Write | Device ownership read; pre/post device reads and `PUT /devices/{deviceId}/external/incomingcalldisplay` | `devices:read`, `devices:write` |
238
239
  | `change_device_password` | Write/action | Device ownership/before-state reads, then `POST /devices/{deviceId}/credentials/password`; the response is redacted | `devices:read`, `devices:write` |
239
240
  | `create_register_device` | Write/action | `POST /{userId}/devices/register` | `devices:write` |
240
241
  | `create_mobile_device` | Write/action | `POST /{userId}/devices/mobile` | `devices:write` |
@@ -245,14 +246,14 @@ listed specific and parent scopes offered by the PAT UI when in doubt.
245
246
  | `update_address` | Write | Address ownership and pre/post address reads, then `PUT /addresses/{addressId}` | `addresses:read`, `addresses:write`, plus user ownership read scopes |
246
247
  | `send_sms` | Write/action | `GET /{userId}/sms`, pre/post `GET /history`, `POST /sessions/sms` | `sms:read`, `history:read`, `sessions:write`, `sessions:sms:write` |
247
248
  | `initiate_call` | Write/action | User: device/number ownership reads, then `POST /sessions/calls`; account: pre/post `GET /calls` plus `POST` | `sessions:write`, `sessions:calls:write`; user also needs `devices:read`, `phonelines:read`, `phonelines:numbers:read`; account needs `rtcm:read` |
248
- | `create_call_email_notification` | Write/action | User: endpoint ownership reads; all modes: pre/post `GET /{userId}/notifications`, `POST /{userId}/notifications/call/email` | `notifications:read`, `notifications:write`; user also needs `devices:read` or `phonelines:read` |
249
- | `create_call_sms_notification` | Write/action | User: endpoint ownership reads; all modes: pre/post notification reads, `POST /{userId}/notifications/call/sms` | `notifications:read`, `notifications:write`; user also needs `devices:read` or `phonelines:read` |
250
- | `create_fax_email_notification` | Write/action | User: faxline ownership read; all modes: pre/post notification reads, `POST /{userId}/notifications/fax/email` | `notifications:read`, `notifications:write`; user also needs `faxlines:read` |
251
- | `create_fax_sms_notification` | Write/action | User: faxline ownership read; all modes: pre/post notification reads, `POST /{userId}/notifications/fax/sms` | `notifications:read`, `notifications:write`; user also needs `faxlines:read` |
252
- | `create_fax_report_notification` | Write/action | User: faxline ownership read; all modes: pre/post notification reads, `POST /{userId}/notifications/fax/report` | `notifications:read`, `notifications:write`; user also needs `faxlines:read` |
253
- | `create_sms_email_notification` | Write/action | Pre/post notification reads, `POST /{userId}/notifications/sms/email` | `notifications:read`, `notifications:write` |
254
- | `create_voicemail_email_notification` | Write/action | Pre/post notification reads, `POST /{userId}/notifications/voicemail/email` | `notifications:read`, `notifications:write` |
255
- | `create_voicemail_sms_notification` | Write/action | Pre/post notification reads, `POST /{userId}/notifications/voicemail/sms` | `notifications:read`, `notifications:write` |
249
+ | `create_call_email_alert` | Write/action | User: endpoint ownership reads; all modes: pre/post `GET /{userId}/notifications`, `POST /{userId}/notifications/call/email` | `notifications:read`, `notifications:write`; user also needs `devices:read` or `phonelines:read` |
250
+ | `create_call_sms_alert` | Write/action | User: endpoint ownership reads; all modes: pre/post notification reads, `POST /{userId}/notifications/call/sms` | `notifications:read`, `notifications:write`; user also needs `devices:read` or `phonelines:read` |
251
+ | `create_fax_email_alert` | Write/action | User: faxline ownership read; all modes: pre/post notification reads, `POST /{userId}/notifications/fax/email` | `notifications:read`, `notifications:write`; user also needs `faxlines:read` |
252
+ | `create_fax_sms_alert` | Write/action | User: faxline ownership read; all modes: pre/post notification reads, `POST /{userId}/notifications/fax/sms` | `notifications:read`, `notifications:write`; user also needs `faxlines:read` |
253
+ | `create_fax_report_alert` | Write/action | User: faxline ownership read; all modes: pre/post notification reads, `POST /{userId}/notifications/fax/report` | `notifications:read`, `notifications:write`; user also needs `faxlines:read` |
254
+ | `create_sms_email_alert` | Write/action | Pre/post notification reads, `POST /{userId}/notifications/sms/email` | `notifications:read`, `notifications:write` |
255
+ | `create_voicemail_email_alert` | Write/action | Pre/post notification reads, `POST /{userId}/notifications/voicemail/email` | `notifications:read`, `notifications:write` |
256
+ | `create_voicemail_sms_alert` | Write/action | Pre/post notification reads, `POST /{userId}/notifications/voicemail/sms` | `notifications:read`, `notifications:write` |
256
257
  | `delete_notification` | Write | User: verify the nested ID in `GET /{userId}/notifications`; all modes: before/after notification reads and `DELETE /{userId}/notifications/{notificationId}` | `notifications:read`, `notifications:write` |
257
258
  | `hangup_call` | Write | User: participant ownership read; all modes: before/after `GET /calls`, `DELETE /calls/{callId}` | `rtcm:read`, `rtcm:write`; user also needs owned-device/number read scopes |
258
259
  | `set_call_hold` | Write | User: participant ownership read; before/after `GET /calls`, `PUT /calls/{callId}/hold` | `rtcm:read`, `rtcm:write`; user also needs owned-device/number read scopes |
@@ -294,7 +295,7 @@ Every write tool returns a JSON object with `before` and `after`. Where a resour
294
295
 
295
296
  ## Read-only mode
296
297
 
297
- Set `SIPGATE_MCP_READONLY=1` to register only the 47 read tools. Write tools are absent from `tools/list`, rather than merely failing when called.
298
+ Set `SIPGATE_MCP_READONLY=1` to register only the 48 read tools. Write tools are absent from `tools/list`, rather than merely failing when called.
298
299
 
299
300
  ```bash
300
301
  export SIPGATE_MCP_READONLY=1
@@ -408,7 +409,10 @@ MCP stdio server
408
409
  confirmation where documented above.
409
410
  - Account scope fails startup unless the authenticated sipgate user reports `admin: true`.
410
411
  - The Basic Auth header exists only in memory and is sent only to the fixed sipgate API base URL.
411
- - API error bodies are discarded. User-facing errors never include request headers, response bodies, or credentials.
412
+ - API error bodies are not passed on. The single exception is a denial sentence that sipgate is known to send, such as "This endpoint requires a sipgate Classic PBX Account": it is recognised by exact match and quoted from a built-in list, never from the response. `Retry-After` is parsed and never echoed. Every error message has the configured PAT-ID, PAT, and Basic credential replaced by `[REDACTED]`, and request headers never appear in errors.
413
+ - Every request attempt has a 30-second deadline covering headers and body (a retried read can take about 65 seconds in total). A read that sipgate throttles (HTTP 429/503) is retried once after at most 5 seconds; writes are never retried automatically, and a write that times out or loses the connection is reported as possibly applied so the caller checks the state before trying again.
414
+ - Paginated reads follow sipgate's offsets up to 100 pages of 1000 entries (contacts: 100 cursor pages) and then stop with an error instead of looping. A continuation that does not move forward is an error, not a silent end.
415
+ - When a tool fails after sipgate has already accepted one of its writes, the result says `applied: true`, lists the accepted requests with any session or call ID, and tells the agent not to repeat the action. Only a failure before any write is reported as a plain error.
412
416
  - Potentially sensitive response properties such as `credentials`, `password`, `token`, and `secret` are redacted before tool output.
413
417
  - The server writes no application logs to stdout; stdout is reserved for MCP stdio frames.
414
418
  - `.env*`, fetched research data, build output, and package tarballs are ignored by Git.
package/SKILL.md CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sipgate-mcp
3
3
  description: Install and securely configure the sipgate MCP server when a user asks to set up or connect a sipgate account to Codex or Claude. Do not use for ordinary sipgate product questions.
4
4
  metadata:
5
- version: "0.5.2"
5
+ version: "0.6.0"
6
6
  ---
7
7
 
8
8
  # Set up sipgate MCP
@@ -10,19 +10,19 @@ metadata:
10
10
  Install the matching CLI version with one available package manager:
11
11
 
12
12
  ```bash
13
- vp install -g sipgate-mcp@0.5.2
13
+ npm install -g sipgate-mcp@0.6.0
14
14
  ```
15
15
 
16
16
  ```bash
17
- npm install -g sipgate-mcp@0.5.2
17
+ pnpm add -g sipgate-mcp@0.6.0
18
18
  ```
19
19
 
20
20
  ```bash
21
- pnpm add -g sipgate-mcp@0.5.2
21
+ vp install -g sipgate-mcp@0.6.0
22
22
  ```
23
23
 
24
24
  Run only one install command. Confirm that `sipgate-mcp --version` reports
25
- `0.5.2` before continuing.
25
+ `0.6.0` before continuing.
26
26
 
27
27
  ## Security boundary
28
28
 
@@ -86,7 +86,7 @@ user-scoped stdio server. Its interactive prompt asks whether write tools should
86
86
  be enabled; do not answer that choice on the user's behalf. The client starts
87
87
  and stops that process, so do not launch `sipgate-mcp` as a daemon.
88
88
 
89
- Version 0.5.2 adds user-scoped device, quick-dial, user-number, emergency-
89
+ The server covers user-scoped device, quick-dial, user-number, emergency-
90
90
  address, notification, live-call-control, phoneline, voicemail/greeting,
91
91
  automated-recording, fax, contact, blacklist, restriction, history-management,
92
92
  porting, balance, and sipgate.io self-service. It supports accounts without
@@ -103,6 +103,11 @@ sessions, recording, and other writes may incur charges or carry legal
103
103
  consequences, and address changes can deactivate associated numbers depending
104
104
  on country.
105
105
 
106
+ When upgrading from 0.5.x: version 0.6.0 renamed 18 tools so that every name
107
+ fits sipgate's 28-character limit for connected MCP tools (see the CHANGELOG
108
+ table). Existing registrations keep working, but client permission allowlists
109
+ or saved prompts that name an old tool must be updated.
110
+
106
111
  When credentials already exist in Keychain, setup reuses them without another
107
112
  prompt. Use `--replace-credentials` only when the user explicitly wants to
108
113
  rotate or replace the stored PAT-ID and PAT.
@@ -1 +1 @@
1
- {"version":3,"file":"access-controlled-backend.d.ts","sourceRoot":"","sources":["../../src/backend/access-controlled-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-controlled-backend.d.ts","sourceRoot":"","sources":["../../src/backend/access-controlled-backend.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { collectPages } from "./pagination.js";
1
2
  export class AccessPolicyError extends Error {
2
3
  constructor(message) {
3
4
  super(message);
@@ -1046,25 +1047,20 @@ export class AccessControlledBackend {
1046
1047
  async ownedHistoryEntryIds() {
1047
1048
  try {
1048
1049
  const found = new Set();
1049
- const pageSize = 1000;
1050
1050
  for (const archived of [false, true]) {
1051
- for (let offset = 0;; offset += pageSize) {
1052
- // Route through the scoped reader so device IDs never reach sipgate
1053
- // as connection filters and unfilterable accounts still enumerate.
1054
- const response = await this.getCallHistory({
1055
- archived,
1056
- limit: pageSize,
1057
- offset,
1058
- types: ["CALL", "VOICEMAIL", "SMS", "FAX"],
1059
- });
1060
- const page = items(response);
1061
- for (const entry of page) {
1062
- const entryId = stringField(entry, "id");
1063
- if (entryId)
1064
- found.add(entryId);
1065
- }
1066
- if (page.length < pageSize)
1067
- break;
1051
+ // Route through the scoped reader so device IDs never reach sipgate
1052
+ // as connection filters and unfilterable accounts still enumerate.
1053
+ // Its entries may be filtered, so collectPages follows nextOffset.
1054
+ const entries = await collectPages((offset, limit) => this.getCallHistory({
1055
+ archived,
1056
+ limit,
1057
+ offset,
1058
+ types: ["CALL", "VOICEMAIL", "SMS", "FAX"],
1059
+ }), items, "history entries");
1060
+ for (const entry of entries) {
1061
+ const entryId = stringField(entry, "id");
1062
+ if (entryId)
1063
+ found.add(entryId);
1068
1064
  }
1069
1065
  }
1070
1066
  return [...found];
@@ -1418,14 +1414,7 @@ export class AccessControlledBackend {
1418
1414
  throw new AccessPolicyError("User scope does not permit editing an address that is shared with numbers of other users.");
1419
1415
  }
1420
1416
  async ownedNumbers() {
1421
- const pageSize = 1000;
1422
- const routed = [];
1423
- for (let offset = 0;; offset += pageSize) {
1424
- const page = items(await this.delegate.listUserNumbers(this.context.userId, { offset, limit: pageSize }));
1425
- routed.push(...page);
1426
- if (page.length < pageSize)
1427
- break;
1428
- }
1417
+ const routed = await collectPages((offset, limit) => this.delegate.listUserNumbers(this.context.userId, { offset, limit }), items, "user numbers");
1429
1418
  // Quick dials and other number types are listed by the direct user-number
1430
1419
  // endpoint but may never appear in phoneline or device routing.
1431
1420
  const direct = items(await this.delegate.getUserNumbers(this.context.userId));