@sendora/mcp 1.4.0 → 1.5.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/README.md +6 -0
- package/dist/errors.js +6 -2
- package/dist/generated/docs.json +1 -1
- package/dist/generated/screens/domain-records.html +662 -0
- package/dist/generated/screens/message-timeline.html +711 -0
- package/dist/screens.js +68 -0
- package/dist/server.js +8 -1
- package/dist/tools/domains.js +5 -0
- package/dist/tools/messages.js +3 -0
- package/dist/tools/send.js +5 -2
- package/dist/version.js +1 -1
- package/package.json +8 -5
package/README.md
CHANGED
|
@@ -68,6 +68,12 @@ on a test server, and what cannot be undone happens only to a test server.
|
|
|
68
68
|
- The account key: `list_servers`, `list_domains`, `check_domain`,
|
|
69
69
|
`add_domain` and `delete_test_server`, which refuses a live server.
|
|
70
70
|
|
|
71
|
+
In a client that shows MCP Apps, such as Claude Desktop, four tools also
|
|
72
|
+
show their answer on a screen. `send_email` and `get_message` show the
|
|
73
|
+
message's timeline, and `add_domain` and `check_domain` the domain's DNS
|
|
74
|
+
records with a button that checks them again. Every other client gets the
|
|
75
|
+
same answer as text.
|
|
76
|
+
|
|
71
77
|
The documents are resources under `sendora://docs/…`, `sendora://reference/…`,
|
|
72
78
|
`sendora://errors`, `sendora://sdk/readme`, `sendora://sdk/skill`,
|
|
73
79
|
`sendora://sdk/python/readme` and `sendora://sdk/python/skill`, listed by
|
package/dist/errors.js
CHANGED
|
@@ -46,7 +46,9 @@ const hints = {
|
|
|
46
46
|
server_reserved: null,
|
|
47
47
|
server_in_flight: null,
|
|
48
48
|
request_too_large: null,
|
|
49
|
-
from_domain_not_verified: () =>
|
|
49
|
+
from_domain_not_verified: (_error, connection) => connection.kind === 'grant'
|
|
50
|
+
? `The from address's domain must be one of the account's sending domains that get_server lists as sendingDomains. An administrator adds one, which is the account's and not a server's, under Domains (Domäner) in the dashboard, ${DASHBOARD}/domains.`
|
|
51
|
+
: `The from address's domain must be one of the account's sending domains that get_server lists as sendingDomains. To add one, which is the account's and not a server's: with the account key, add_domain adds it and answers the DNS records to publish, and check_domain looks them up; or an administrator adds it under Domains (Domäner) in the dashboard, ${DASHBOARD}/domains.`,
|
|
50
52
|
stream_not_found: null,
|
|
51
53
|
stream_archived: null,
|
|
52
54
|
stream_paused: null,
|
|
@@ -59,7 +61,9 @@ const hints = {
|
|
|
59
61
|
content_expired: null,
|
|
60
62
|
content_unreadable: null,
|
|
61
63
|
recipient_suppressed: (error) => `${error.suppressed.map(({ address, reason }) => `${address} (${reason})`).join(', ')} ${error.suppressed.length === 1 ? 'is' : 'are'} on the stream's suppression list, which list_suppressions reads. A hard bounce or a manual suppression can be lifted with remove_suppression, or under the stream's Suppressions (Spärrlista) in the dashboard; a spam complaint or an unsubscribe cannot, since the recipient asked.`,
|
|
62
|
-
test_address_on_live_server: () =>
|
|
64
|
+
test_address_on_live_server: (_error, connection) => connection.kind === 'grant'
|
|
65
|
+
? 'The addresses at simulator.sendora.se act out outcomes on a test server only, and a live server refuses them: send to them from a test server this connection reaches, named in server.'
|
|
66
|
+
: 'The addresses at simulator.sendora.se act out outcomes on a test server only, and a live server refuses them: send to them with a test server key (sk_test_).',
|
|
63
67
|
mode_immutable: null,
|
|
64
68
|
stream_kind_not_allowed: null,
|
|
65
69
|
idempotency_key_mismatch: null,
|