@convertcom/mcp-server 0.0.1-beta.12 → 0.0.1-beta.13

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 (46) hide show
  1. package/.assets/apple-touch-icon.png +0 -0
  2. package/.assets/convert-icon-64.png +0 -0
  3. package/.assets/convert-icon.svg +7 -0
  4. package/.assets/convert-logo.png +0 -0
  5. package/.assets/favicon.ico +0 -0
  6. package/.assets/favicon.png +0 -0
  7. package/.assets/icon-128.png +0 -0
  8. package/.assets/icon-180.png +0 -0
  9. package/.assets/icon-192.png +0 -0
  10. package/.assets/icon-256.png +0 -0
  11. package/.assets/icon-512.png +0 -0
  12. package/.assets/icon.png +0 -0
  13. package/.assets/og-image.png +0 -0
  14. package/README.md +11 -1
  15. package/build/auth-context.d.ts +25 -0
  16. package/build/brand.d.ts +6 -0
  17. package/build/brand.js +89 -0
  18. package/build/brand.js.map +1 -0
  19. package/build/executor.js +78 -339
  20. package/build/executor.js.map +1 -1
  21. package/build/generated-tool-validators.d.ts +2803 -0
  22. package/build/generated-tool-validators.js +119285 -0
  23. package/build/generated-tool-validators.js.map +1 -0
  24. package/build/index.d.ts +4 -14
  25. package/build/index.js +28 -411
  26. package/build/index.js.map +1 -1
  27. package/build/kb-search-node.d.ts +2 -0
  28. package/build/kb-search-node.js +8 -0
  29. package/build/kb-search-node.js.map +1 -0
  30. package/build/kb-search.d.ts +1 -1
  31. package/build/kb-search.js +1 -4
  32. package/build/kb-search.js.map +1 -1
  33. package/build/namespaced.js +86 -5
  34. package/build/namespaced.js.map +1 -1
  35. package/build/operator.js +48 -9
  36. package/build/operator.js.map +1 -1
  37. package/build/runtime.d.ts +28 -0
  38. package/build/runtime.js +394 -0
  39. package/build/runtime.js.map +1 -0
  40. package/build/schema-normalizer.d.ts +2 -0
  41. package/build/schema-normalizer.js +373 -0
  42. package/build/schema-normalizer.js.map +1 -0
  43. package/build/tools.js +22 -10
  44. package/build/tools.js.map +1 -1
  45. package/package.json +28 -11
  46. package/server.json +2 -2
Binary file
Binary file
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Convert">
2
+ <rect width="64" height="64" rx="14" fill="#24292F"/>
3
+ <path fill="#FFFFFF" d="M22.3 44.6c-4.8 0-8.5-1.6-11.2-4.7-2.7-3-4-7.3-4-12.9 0-5.4 1.3-9.6 3.9-12.6 2.7-3.1 6.4-4.7 11.2-4.7 5 0 8.9 1.5 11.7 4.5 1.5 1.9 2.6 4 3.3 6.4h-8.8c-.4-.8-.8-1.5-1.3-1.9-1.1-1.2-2.6-1.8-4.7-1.8-1.8 0-3.4.6-4.5 1.8-1.5 1.7-2.3 4.5-2.3 8.3 0 3.9.8 6.6 2.3 8.2 1.1 1.3 2.7 2 4.9 2 1.4 0 2.6-.3 3.6-.9.3-.1.5-.2.7-.4.2-.2.4-.4.7-.7.2-.3.5-.6 1-1 .5-.4 1.3-.6 2.3-.6h6.3c-.9 3.5-2.7 6.2-5.3 8.1-2.6 1.9-5.9 2.9-9.8 2.9Z"/>
4
+ <path fill="#FFFFFF" opacity=".56" d="m39.4 13.6-2 4.8 4.1 9.3L46 16.1l-6.6-2.5Z"/>
5
+ <path fill="#FFFFFF" opacity=".78" d="m50.8 12.7-7.3 19.3 4.1 9.4L57.8 15.4l-7-2.7Z"/>
6
+ <path fill="#FFFFFF" d="m57.8 15.4-2.1-12.3-9.8 7.5 2.7 1.1-13 33.7h7.5l12.1-31 2.6 1Z"/>
7
+ </svg>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/README.md CHANGED
@@ -20,7 +20,7 @@ MCP (Model Context Protocol) is an open standard that allows AI models to intera
20
20
  **Key Benefits:**
21
21
  - 🔌 **Zero-config integration** – Works with Claude Desktop, Cursor, and any MCP-compatible client
22
22
  - 🔍 **Full API access** – Comprehensive coverage of Convert's [REST API v2](https://api.convert.com/doc/v2.0.0/)
23
- - 📚 **Built-in knowledge** – 5,776 indexed chunks across 500 Convert support article URLs
23
+ - 📚 **Built-in knowledge** – 5,797 indexed chunks across 500 Convert support article URLs
24
24
  - 🛡️ **Configurable permissions** – Three access levels from reporting-only to full read/write
25
25
  - 🧩 **Namespaced tools** – Clean interface with 13 generated API namespaces plus one computed `operator` namespace
26
26
  - 🧠 **MCP prompts** – 19 curated Convert experimentation prompts exposed through `prompts/list` and `prompts/get`
@@ -55,6 +55,16 @@ MCP (Model Context Protocol) is an open standard that allows AI models to intera
55
55
 
56
56
  The server implements the [Model Context Protocol](https://modelcontextprotocol.io) and works with Claude Desktop, Cursor, and any MCP-compatible client.
57
57
 
58
+ ### Hosted Remote MCP
59
+
60
+ If your MCP client supports remote connectors, you can connect to Convert without managing local API keys:
61
+
62
+ ```text
63
+ https://mcp.ai.app.convert.com/mcp
64
+ ```
65
+
66
+ Your client will open Convert for sign-in and permission approval. The local `npx` setup below remains the default for stdio-based clients and existing installations.
67
+
58
68
  ### Recommended Models
59
69
 
60
70
  For the best experience, use models with strong agentic capabilities:
@@ -17,9 +17,34 @@ export type NoAuthContext = {
17
17
  type: 'none';
18
18
  };
19
19
  export type ConvertAuthContext = HmacAuthContext | BearerTokenAuthContext | SecretKeyAuthContext | NoAuthContext;
20
+ export type ConvertApiTransportRequest = {
21
+ method: string;
22
+ url: string;
23
+ headers: Record<string, string>;
24
+ data?: unknown;
25
+ };
26
+ export type ConvertApiTransportResponse = {
27
+ status: number;
28
+ headers: Record<string, string>;
29
+ data?: unknown;
30
+ };
31
+ export type ConvertApiTransport = (request: ConvertApiTransportRequest) => Promise<ConvertApiTransportResponse>;
32
+ export type AuthorizedProjectGrant = {
33
+ project_id: number;
34
+ name?: string;
35
+ role?: string;
36
+ };
37
+ export type AuthorizedAccountGrant = {
38
+ account_id: number;
39
+ name?: string;
40
+ projects?: AuthorizedProjectGrant[];
41
+ };
20
42
  export type ToolExecutionContext = {
21
43
  authContext?: ConvertAuthContext;
22
44
  credentialsByAccount?: Map<number, ConvertAuthContext>;
45
+ apiBaseUrl?: string;
46
+ apiTransport?: ConvertApiTransport;
47
+ authorizedAccounts?: AuthorizedAccountGrant[];
23
48
  principalId?: string;
24
49
  missingCredentialsHint?: string;
25
50
  };
@@ -0,0 +1,6 @@
1
+ import type { Icon } from '@modelcontextprotocol/sdk/types.js';
2
+ export declare const CONVERT_WEBSITE_URL = "https://www.convert.com/";
3
+ export declare const DEFAULT_ICON_BASE_URL = "https://mcp.ai.app.convert.com";
4
+ export declare function normalizeIconBaseUrl(baseUrl: string | undefined): string;
5
+ export declare function convertBrandIcons(baseUrl?: string): Icon[];
6
+ export declare function brandAssetPath(pathname: string): string | null;
package/build/brand.js ADDED
@@ -0,0 +1,89 @@
1
+ export const CONVERT_WEBSITE_URL = 'https://www.convert.com/';
2
+ export const DEFAULT_ICON_BASE_URL = 'https://mcp.ai.app.convert.com';
3
+ export function normalizeIconBaseUrl(baseUrl) {
4
+ const normalized = (baseUrl || DEFAULT_ICON_BASE_URL).trim().replace(/\/+$/, '');
5
+ return normalized || DEFAULT_ICON_BASE_URL;
6
+ }
7
+ export function convertBrandIcons(baseUrl) {
8
+ const base = normalizeIconBaseUrl(baseUrl);
9
+ return [
10
+ {
11
+ src: `${base}/convert-logo.png`,
12
+ mimeType: 'image/png',
13
+ sizes: ['567x122'],
14
+ },
15
+ {
16
+ src: `${base}/icon-512.png`,
17
+ mimeType: 'image/png',
18
+ sizes: ['512x512'],
19
+ },
20
+ {
21
+ src: `${base}/icon.png`,
22
+ mimeType: 'image/png',
23
+ sizes: ['512x512'],
24
+ },
25
+ {
26
+ src: `${base}/icon-256.png`,
27
+ mimeType: 'image/png',
28
+ sizes: ['256x256'],
29
+ },
30
+ {
31
+ src: `${base}/icon-192.png`,
32
+ mimeType: 'image/png',
33
+ sizes: ['192x192'],
34
+ },
35
+ {
36
+ src: `${base}/icon-128.png`,
37
+ mimeType: 'image/png',
38
+ sizes: ['128x128'],
39
+ },
40
+ {
41
+ src: `${base}/favicon.png`,
42
+ mimeType: 'image/png',
43
+ sizes: ['64x64'],
44
+ },
45
+ {
46
+ src: `${base}/favicon.ico`,
47
+ mimeType: 'image/x-icon',
48
+ sizes: ['16x16', '32x32', '48x48'],
49
+ },
50
+ {
51
+ src: `${base}/logo-light.svg`,
52
+ mimeType: 'image/svg+xml',
53
+ sizes: ['any'],
54
+ theme: 'light',
55
+ },
56
+ {
57
+ src: `${base}/logo-dark.svg`,
58
+ mimeType: 'image/svg+xml',
59
+ sizes: ['any'],
60
+ theme: 'dark',
61
+ },
62
+ {
63
+ src: `${base}/convert-icon.svg`,
64
+ mimeType: 'image/svg+xml',
65
+ sizes: ['any'],
66
+ },
67
+ ];
68
+ }
69
+ export function brandAssetPath(pathname) {
70
+ if (pathname === '/favicon.ico' ||
71
+ pathname === '/favicon.png' ||
72
+ pathname === '/apple-touch-icon.png' ||
73
+ pathname === '/convert-logo.png' ||
74
+ pathname === '/icon.png' ||
75
+ pathname === '/icon-192.png' ||
76
+ pathname === '/icon-256.png' ||
77
+ pathname === '/icon-512.png' ||
78
+ pathname === '/icon-128.png' ||
79
+ pathname === '/icon-180.png' ||
80
+ pathname === '/og-image.png' ||
81
+ pathname === '/convert-icon-64.png' ||
82
+ pathname === '/convert-icon.svg' ||
83
+ pathname === '/logo-light.svg' ||
84
+ pathname === '/logo-dark.svg') {
85
+ return pathname;
86
+ }
87
+ return null;
88
+ }
89
+ //# sourceMappingURL=brand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.js","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,gCAAgC,CAAC;AAEtE,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,MAAM,UAAU,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjF,OAAO,UAAU,IAAI,qBAAqB,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO;QACL;YACE,GAAG,EAAE,GAAG,IAAI,mBAAmB;YAC/B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB;QACD;YACE,GAAG,EAAE,GAAG,IAAI,eAAe;YAC3B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB;QACD;YACE,GAAG,EAAE,GAAG,IAAI,WAAW;YACvB,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB;QACD;YACE,GAAG,EAAE,GAAG,IAAI,eAAe;YAC3B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB;QACD;YACE,GAAG,EAAE,GAAG,IAAI,eAAe;YAC3B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB;QACD;YACE,GAAG,EAAE,GAAG,IAAI,eAAe;YAC3B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB;QACD;YACE,GAAG,EAAE,GAAG,IAAI,cAAc;YAC1B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,CAAC,OAAO,CAAC;SACjB;QACD;YACE,GAAG,EAAE,GAAG,IAAI,cAAc;YAC1B,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;SACnC;QACD;YACE,GAAG,EAAE,GAAG,IAAI,iBAAiB;YAC7B,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,CAAC,KAAK,CAAC;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,GAAG,EAAE,GAAG,IAAI,gBAAgB;YAC5B,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,CAAC,KAAK,CAAC;YACd,KAAK,EAAE,MAAM;SACd;QACD;YACE,GAAG,EAAE,GAAG,IAAI,mBAAmB;YAC/B,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,CAAC,KAAK,CAAC;SACf;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IACE,QAAQ,KAAK,cAAc;QAC3B,QAAQ,KAAK,cAAc;QAC3B,QAAQ,KAAK,uBAAuB;QACpC,QAAQ,KAAK,mBAAmB;QAChC,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,eAAe;QAC5B,QAAQ,KAAK,eAAe;QAC5B,QAAQ,KAAK,eAAe;QAC5B,QAAQ,KAAK,eAAe;QAC5B,QAAQ,KAAK,eAAe;QAC5B,QAAQ,KAAK,eAAe;QAC5B,QAAQ,KAAK,sBAAsB;QACnC,QAAQ,KAAK,mBAAmB;QAChC,QAAQ,KAAK,iBAAiB;QAC9B,QAAQ,KAAK,gBAAgB,EAC7B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}