@seven.io/mcp 1.0.3

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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +295 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +129 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/client.d.ts +18 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +88 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +245 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/oauth/flow.d.ts +12 -0
  16. package/dist/oauth/flow.d.ts.map +1 -0
  17. package/dist/oauth/flow.js +132 -0
  18. package/dist/oauth/flow.js.map +1 -0
  19. package/dist/oauth/pkce.d.ts +17 -0
  20. package/dist/oauth/pkce.d.ts.map +1 -0
  21. package/dist/oauth/pkce.js +39 -0
  22. package/dist/oauth/pkce.js.map +1 -0
  23. package/dist/oauth/refresh.d.ts +22 -0
  24. package/dist/oauth/refresh.d.ts.map +1 -0
  25. package/dist/oauth/refresh.js +53 -0
  26. package/dist/oauth/refresh.js.map +1 -0
  27. package/dist/oauth/server.d.ts +18 -0
  28. package/dist/oauth/server.d.ts.map +1 -0
  29. package/dist/oauth/server.js +553 -0
  30. package/dist/oauth/server.js.map +1 -0
  31. package/dist/oauth/tokens.d.ts +33 -0
  32. package/dist/oauth/tokens.d.ts.map +1 -0
  33. package/dist/oauth/tokens.js +104 -0
  34. package/dist/oauth/tokens.js.map +1 -0
  35. package/dist/tools/account.d.ts +68 -0
  36. package/dist/tools/account.d.ts.map +1 -0
  37. package/dist/tools/account.js +59 -0
  38. package/dist/tools/account.js.map +1 -0
  39. package/dist/tools/contacts.d.ts +101 -0
  40. package/dist/tools/contacts.d.ts.map +1 -0
  41. package/dist/tools/contacts.js +111 -0
  42. package/dist/tools/contacts.js.map +1 -0
  43. package/dist/tools/groups.d.ts +65 -0
  44. package/dist/tools/groups.d.ts.map +1 -0
  45. package/dist/tools/groups.js +86 -0
  46. package/dist/tools/groups.js.map +1 -0
  47. package/dist/tools/lookup.d.ts +22 -0
  48. package/dist/tools/lookup.d.ts.map +1 -0
  49. package/dist/tools/lookup.js +88 -0
  50. package/dist/tools/lookup.js.map +1 -0
  51. package/dist/tools/numbers.d.ts +79 -0
  52. package/dist/tools/numbers.d.ts.map +1 -0
  53. package/dist/tools/numbers.js +106 -0
  54. package/dist/tools/numbers.js.map +1 -0
  55. package/dist/tools/rcs.d.ts +100 -0
  56. package/dist/tools/rcs.d.ts.map +1 -0
  57. package/dist/tools/rcs.js +86 -0
  58. package/dist/tools/rcs.js.map +1 -0
  59. package/dist/tools/sender.d.ts +25 -0
  60. package/dist/tools/sender.d.ts.map +1 -0
  61. package/dist/tools/sender.js +25 -0
  62. package/dist/tools/sender.js.map +1 -0
  63. package/dist/tools/sms.d.ts +110 -0
  64. package/dist/tools/sms.d.ts.map +1 -0
  65. package/dist/tools/sms.js +95 -0
  66. package/dist/tools/sms.js.map +1 -0
  67. package/dist/tools/status.d.ts +81 -0
  68. package/dist/tools/status.d.ts.map +1 -0
  69. package/dist/tools/status.js +88 -0
  70. package/dist/tools/status.js.map +1 -0
  71. package/dist/tools/subaccounts.d.ts +108 -0
  72. package/dist/tools/subaccounts.d.ts.map +1 -0
  73. package/dist/tools/subaccounts.js +98 -0
  74. package/dist/tools/subaccounts.js.map +1 -0
  75. package/dist/tools/voice.d.ts +57 -0
  76. package/dist/tools/voice.d.ts.map +1 -0
  77. package/dist/tools/voice.js +54 -0
  78. package/dist/tools/voice.js.map +1 -0
  79. package/dist/tools/webhooks.d.ts +60 -0
  80. package/dist/tools/webhooks.d.ts.map +1 -0
  81. package/dist/tools/webhooks.js +58 -0
  82. package/dist/tools/webhooks.js.map +1 -0
  83. package/dist/types.d.ts +69 -0
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/types.js +2 -0
  86. package/dist/types.js.map +1 -0
  87. package/package.json +49 -0
@@ -0,0 +1,58 @@
1
+ export async function listWebhooks(client) {
2
+ return await client.get('/hooks');
3
+ }
4
+ export async function createWebhook(client, params) {
5
+ return await client.post('/hooks', params);
6
+ }
7
+ export async function deleteWebhook(client, id) {
8
+ return await client.delete(`/hooks?id=${id}`);
9
+ }
10
+ export const webhooksTools = [
11
+ {
12
+ name: 'list_webhooks',
13
+ description: 'List all registered webhooks',
14
+ inputSchema: {
15
+ type: 'object',
16
+ properties: {},
17
+ },
18
+ },
19
+ {
20
+ name: 'create_webhook',
21
+ description: 'Register a new webhook',
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ target_url: {
26
+ type: 'string',
27
+ description: 'Webhook URL to receive events',
28
+ },
29
+ event_type: {
30
+ type: 'string',
31
+ description: 'Event type to trigger webhook (e.g., sms.mo, dlr)',
32
+ enum: ['sms.mo', 'dlr', 'voice.status', 'all'],
33
+ },
34
+ request_method: {
35
+ type: 'string',
36
+ description: 'HTTP method for webhook requests',
37
+ enum: ['GET', 'POST'],
38
+ },
39
+ },
40
+ required: ['target_url', 'event_type'],
41
+ },
42
+ },
43
+ {
44
+ name: 'delete_webhook',
45
+ description: 'Delete a webhook',
46
+ inputSchema: {
47
+ type: 'object',
48
+ properties: {
49
+ id: {
50
+ type: 'string',
51
+ description: 'Webhook ID to delete',
52
+ },
53
+ },
54
+ required: ['id'],
55
+ },
56
+ },
57
+ ];
58
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAmB;IACpD,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAmB,EAAE,MAAqB;IAC5E,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAmB,EAAE,EAAU;IACjE,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;oBAChE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC;iBAC/C;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;oBAC/C,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;iBACtB;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;SACvC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sBAAsB;iBACpC;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;CACF,CAAC"}
@@ -0,0 +1,69 @@
1
+ export interface SevenConfig {
2
+ apiKey?: string;
3
+ clientId?: string;
4
+ baseUrl?: string;
5
+ }
6
+ export interface SMSParams {
7
+ to: string | string[];
8
+ text: string;
9
+ from?: string;
10
+ delay?: string;
11
+ debug?: boolean;
12
+ flash?: boolean;
13
+ no_reload?: boolean;
14
+ unicode?: boolean;
15
+ utf8?: boolean;
16
+ details?: boolean;
17
+ return_msg_id?: boolean;
18
+ performance_tracking?: boolean;
19
+ label?: string;
20
+ foreign_id?: string;
21
+ ttl?: number;
22
+ }
23
+ export interface RCSParams {
24
+ to: string;
25
+ text?: string;
26
+ media?: string;
27
+ suggestions?: Array<{
28
+ text: string;
29
+ action: string;
30
+ }>;
31
+ orientation?: 'horizontal' | 'vertical';
32
+ from?: string;
33
+ foreign_id?: string;
34
+ }
35
+ export interface VoiceParams {
36
+ to: string | string[];
37
+ text: string;
38
+ from?: string;
39
+ xml?: boolean;
40
+ debug?: boolean;
41
+ }
42
+ export interface LookupParams {
43
+ number: string;
44
+ }
45
+ export interface ContactParams {
46
+ nick?: string;
47
+ empfaenger?: string;
48
+ email?: string;
49
+ groups?: string[];
50
+ }
51
+ export interface GroupParams {
52
+ name: string;
53
+ }
54
+ export interface SubaccountParams {
55
+ username?: string;
56
+ password?: string;
57
+ email?: string;
58
+ auto_recharge?: boolean;
59
+ }
60
+ export interface WebhookParams {
61
+ target_url: string;
62
+ event_type: string;
63
+ request_method?: 'GET' | 'POST';
64
+ }
65
+ export interface NumberParams {
66
+ country?: string;
67
+ type?: string;
68
+ }
69
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@seven.io/mcp",
3
+ "version": "1.0.3",
4
+ "description": "MCP server for seven.io API",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "seven-mcp": "./dist/cli.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "watch": "tsc --watch",
13
+ "prepare": "npm run build",
14
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest",
15
+ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
16
+ "test:coverage": "NODE_OPTIONS=--experimental-vm-modules jest --coverage"
17
+ },
18
+ "keywords": [
19
+ "mcp",
20
+ "seven.io",
21
+ "sms",
22
+ "voice",
23
+ "rcs"
24
+ ],
25
+ "author": "",
26
+ "license": "MIT",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/seven-io/seven-mcp.git"
30
+ },
31
+ "homepage": "https://github.com/seven-io/seven-mcp#readme",
32
+ "bugs": {
33
+ "url": "https://github.com/seven-io/seven-mcp/issues"
34
+ },
35
+ "dependencies": {
36
+ "@modelcontextprotocol/sdk": "^1.0.0",
37
+ "axios": "^1.6.0",
38
+ "keytar": "^7.9.0",
39
+ "open": "^10.2.0"
40
+ },
41
+ "devDependencies": {
42
+ "@jest/globals": "^30.2.0",
43
+ "@types/jest": "^30.0.0",
44
+ "@types/node": "^20.0.0",
45
+ "jest": "^30.2.0",
46
+ "ts-jest": "^29.4.4",
47
+ "typescript": "^5.3.0"
48
+ }
49
+ }