@or-sdk/mcp-tools 0.5.0-beta.4165.0 → 0.5.0-beta.4167.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
@@ -2,114 +2,3 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [0.4.3](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.4.2...@or-sdk/markdowner@0.4.3) (2026-04-30)
7
-
8
- **Note:** Version bump only for package @or-sdk/markdowner
9
-
10
-
11
-
12
-
13
-
14
- ## [0.4.2](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.4.1...@or-sdk/markdowner@0.4.2) (2026-04-22)
15
-
16
- **Note:** Version bump only for package @or-sdk/markdowner
17
-
18
-
19
-
20
-
21
-
22
- ## [0.4.1](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.4.0...@or-sdk/markdowner@0.4.1) (2026-02-25)
23
-
24
- **Note:** Version bump only for package @or-sdk/markdowner
25
-
26
-
27
-
28
-
29
-
30
- ## [0.4.0](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.3.5...@or-sdk/markdowner@0.4.0) (2026-02-24)
31
-
32
-
33
- ### Features
34
-
35
- * **deployer:** Add methods 'fetchFlowLogsChunk' and 'fetchAllFlowLogs' to fetch flow logs ([6b70992](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/6b70992ce3d1e4f308db69df700528f6eeffafcf))
36
-
37
-
38
-
39
- ## [0.3.5](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.3.4...@or-sdk/markdowner@0.3.5) (2026-01-15)
40
-
41
- **Note:** Version bump only for package @or-sdk/markdowner
42
-
43
-
44
-
45
-
46
-
47
- ## [0.3.4](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.3.3...@or-sdk/markdowner@0.3.4) (2025-11-04)
48
-
49
-
50
- ### Bug Fixes
51
-
52
- * **base:** Fix vitest tests ([3afb8a3](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/3afb8a344fc68e7e3b4ab3203eedea7a7f0b5bab))
53
-
54
-
55
-
56
- ## [0.3.3](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.3.2...@or-sdk/markdowner@0.3.3) (2025-10-14)
57
-
58
- **Note:** Version bump only for package @or-sdk/markdowner
59
-
60
-
61
-
62
-
63
-
64
- ## [0.3.2](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.3.1...@or-sdk/markdowner@0.3.2) (2025-10-02)
65
-
66
- **Note:** Version bump only for package @or-sdk/markdowner
67
-
68
-
69
-
70
-
71
-
72
- ## [0.3.1](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.3.0...@or-sdk/markdowner@0.3.1) (2025-07-30)
73
-
74
- **Note:** Version bump only for package @or-sdk/markdowner
75
-
76
-
77
-
78
-
79
-
80
- ## [0.3.0](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.2.1...@or-sdk/markdowner@0.3.0) (2025-05-10)
81
-
82
-
83
- ### Features
84
-
85
- * **users:** Add super admin method 'upsertMultiUser' ([448b2c9](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/448b2c99e6a0a392f965f2b386c00a6d286b44ae))
86
-
87
-
88
-
89
- ## [0.2.1](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.2.0...@or-sdk/markdowner@0.2.1) (2025-05-07)
90
-
91
- **Note:** Version bump only for package @or-sdk/markdowner
92
-
93
-
94
-
95
-
96
-
97
- ## [0.2.0](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/markdowner@0.1.0...@or-sdk/markdowner@0.2.0) (2025-04-16)
98
-
99
-
100
- ### Features
101
-
102
- * **@or-sdk/markdowner:** allow to send base64 in request body ([84941ec](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/84941ec6399f4a57e96154466616515dce279333))
103
-
104
-
105
-
106
- ## 0.1.0 (2025-03-26)
107
-
108
-
109
- ### Features
110
-
111
- * **@or-sdk/markitdowner:** init project ([e027d39](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/e027d390ced4e25718cda5b05a6ae1490faf837e))
112
-
113
-
114
-
115
- # Change Log
package/README.md CHANGED
@@ -1,109 +1,166 @@
1
- # Markdowner
1
+ # @or-sdk/mcp-tools
2
2
 
3
- The `Markdowner` class provides methods for converting PDF documents to Markdown format and generating descriptions for images using various providers and models. It is designed to interact with external services for document and image processing.
3
+ The `McpTools` class provides methods for interacting with OneReach MCP (Model Context Protocol) infrastructure listing internal MCP servers, discovering available packages, and handling OAuth authorization flows.
4
4
 
5
5
  ## Installation
6
6
 
7
- To use the `Markdowner` class, install the package:
8
-
9
7
  ```bash
10
- npm install @or-sdk/markdowner
8
+ npm install @or-sdk/mcp-tools
11
9
  ```
12
10
 
13
11
  ## Usage
14
12
 
15
13
  ### Importing and Instantiating
16
14
 
17
- To use the `Markdowner` class, import it into your project:
18
-
19
15
  ```typescript
20
- import { Markdowner } from '@or-sdk/markdowner';
16
+ import { McpTools } from '@or-sdk/mcp-tools';
21
17
 
22
- const markdowner = new Markdowner({
18
+ const mcpTools = new McpTools({
23
19
  token: 'your-token',
24
- discoveryUrl: 'https://api.example.com',
25
- accountId: 'your-account-id',
26
- serviceUrl: 'https://service.example.com',
20
+ mcpApiUrl: 'https://mcp-api.example.com',
21
+ mcpToolsUrl: 'https://mcp-tools-api.example.com',
27
22
  });
28
23
  ```
29
24
 
30
- ### Methods
25
+ ### Configuration
26
+
27
+ | Parameter | Type | Required | Description |
28
+ |---|---|---|---|
29
+ | `token` | `string \| (() => string)` | Yes | Authentication token or a getter function |
30
+ | `discoveryUrl` | `string` | No | OneReach service discovery API URL |
31
+ | `mcpApiUrl` | `string` | No | MCP internal API base URL (required for `getInternalServers`) |
32
+ | `mcpToolsUrl` | `string` | No | MCP tools API base URL (required for `getDiscovery`) |
33
+
34
+ ## Methods
35
+
36
+ ### `getInternalServers(options?)`
31
37
 
32
- #### `pdfToMarkdown`
38
+ Retrieves the list of internal MCP servers registered in the account.
33
39
 
34
- Converts a PDF document to Markdown format.
40
+ > Requires `mcpApiUrl` to be set.
35
41
 
36
- **Parameters:**
42
+ ```typescript
43
+ const { servers, total } = await mcpTools.getInternalServers();
37
44
 
38
- - `params` (object):
39
- - `url` (string): The URL of the PDF document to be converted.
40
- - `include_image_base64` (boolean, optional): Flag to include images as base64 strings in the output.
41
- - `provider` (PDFProviders): The provider to use for the PDF processing.
42
- - `options` (CallOptions, optional): Additional call options for the request.
45
+ servers.forEach((server) => {
46
+ console.log(server.name, server.url);
47
+ });
48
+ ```
43
49
 
44
- **Returns:**
50
+ **Returns:** `Promise<InternalServersResponse>`
45
51
 
46
- A promise that resolves to an object containing:
52
+ ---
47
53
 
48
- - `pages` (array of objects):
49
- - `images` (array of strings): Array of image URLs or paths for the page.
50
- - `index` (number): The index of the page.
51
- - `markdown` (string): The Markdown content of the page.
52
- - `usage_info` (object):
53
- - `doc_size_bytes` (number): The size of the document in bytes.
54
- - `pages_processed` (number): The number of pages processed.
54
+ ### `getDiscovery(options?)`
55
55
 
56
- **Example:**
56
+ Retrieves MCP discovery information — the list of available MCP packages with their URLs and auth types.
57
+
58
+ > Requires `mcpToolsUrl` to be set.
57
59
 
58
60
  ```typescript
59
- const markdownResult = await markdowner.pdfToMarkdown({
60
- url: 'https://example.com/document.pdf',
61
- provider: 'pdfProvider',
61
+ const { packages } = await mcpTools.getDiscovery();
62
+
63
+ packages.forEach((pkg) => {
64
+ console.log(pkg.package, pkg.auth);
62
65
  });
63
- console.log(markdownResult);
64
66
  ```
65
67
 
66
- #### `imageDescription`
68
+ **Returns:** `Promise<DiscoveryResponse>`
67
69
 
68
- Generates a description for an image using the provided data and options.
70
+ ---
69
71
 
70
- **Parameters:**
72
+ ### `getAvailableMcp(options?)`
71
73
 
72
- - `data` (object):
73
- - `url` (string): The URL of the image to be described.
74
- - `provider` (string): The name of the provider for the image processing service.
75
- - `model` (string): The model used for generating the image description.
76
- - `options` (CallOptions, optional): Additional call options for the request.
74
+ Fetches both internal MCP servers and discovery packages **in parallel** and returns them as a single unified list. If only one URL is configured, the other source is silently skipped.
77
75
 
78
- **Returns:**
76
+ ```typescript
77
+ const { items, total } = await mcpTools.getAvailableMcp();
78
+
79
+ items.forEach((item) => {
80
+ console.log(item.name, item.source, item.auth);
81
+ });
82
+ ```
83
+
84
+ Each item in `items` has the shape:
79
85
 
80
- A promise that resolves to an object containing:
86
+ | Field | Type | Description |
87
+ |---|---|---|
88
+ | `name` | `string` | Package or server name |
89
+ | `url` | `string` | MCP endpoint URL |
90
+ | `auth` | `string` | Auth type (`'bearer'`, `'oauth'`, etc.) |
91
+ | `description` | `string?` | Description (internal servers only) |
92
+ | `redirectUrl` | `string?` | OAuth redirect URL (discovery packages only) |
93
+ | `source` | `'internal' \| 'discovery'` | Origin of the entry |
81
94
 
82
- - `content` (string): The description of the image.
95
+ **Returns:** `Promise<AvailableMcpResponse>`
83
96
 
84
- **Example:**
97
+ ---
98
+
99
+ ### `authorizeOAuthPackage(pkg)`
100
+
101
+ Opens the OAuth authorization URL for a given package in a new browser window/tab.
85
102
 
86
103
  ```typescript
87
- const imageDescriptionResult = await markdowner.imageDescription({
88
- url: 'https://example.com/image.jpg',
89
- provider: 'imageProvider',
90
- model: 'imageModel',
91
- });
92
- console.log(imageDescriptionResult);
104
+ import { McpTools, OAuthPackage } from '@or-sdk/mcp-tools';
105
+
106
+ const { items } = await mcpTools.getAvailableMcp();
107
+
108
+ const googleCalendar = items.find(
109
+ (item) => item.name === 'google-calendar' && item.auth === 'oauth'
110
+ );
111
+
112
+ if (googleCalendar) {
113
+ mcpTools.authorizeOAuthPackage(googleCalendar as OAuthPackage);
114
+ }
115
+ ```
116
+
117
+ **Returns:** `Window | null` — the opened window reference, or `null` if blocked by the browser.
118
+
119
+ ---
120
+
121
+ ### `parseError(err)`
122
+
123
+ Parses an error thrown by any API method into a structured `OrNetworkError`.
124
+
125
+ ```typescript
126
+ import { McpTools, isOrNetworkError } from '@or-sdk/mcp-tools';
127
+
128
+ try {
129
+ await mcpTools.getInternalServers();
130
+ } catch (err) {
131
+ const parsed = mcpTools.parseError(err);
132
+ if (isOrNetworkError(parsed)) {
133
+ console.error(parsed.status, parsed.message);
134
+ }
135
+ }
93
136
  ```
94
137
 
95
138
  ## Error Handling
96
139
 
97
- The `Markdowner` class includes an `errorParser` to handle errors from API requests. Use the `parseError` method to parse and handle errors:
140
+ Use the exported `isOrNetworkError` guard to narrow caught errors:
98
141
 
99
142
  ```typescript
143
+ import { isOrNetworkError } from '@or-sdk/mcp-tools';
144
+
100
145
  try {
101
- const result = await markdowner.pdfToMarkdown({
102
- url: 'https://example.com/document.pdf',
103
- provider: 'pdfProvider',
104
- });
146
+ const result = await mcpTools.getDiscovery();
105
147
  } catch (err) {
106
- const parsedError = markdowner.parseError(err);
107
- console.error(parsedError);
148
+ const parsed = mcpTools.parseError(err);
149
+ if (isOrNetworkError(parsed)) {
150
+ console.error('Network error:', parsed.status, parsed.message);
151
+ } else {
152
+ throw err;
153
+ }
108
154
  }
109
155
  ```
156
+
157
+ You can also pass an `AbortSignal` to any method to support cancellation:
158
+
159
+ ```typescript
160
+ const controller = new AbortController();
161
+
162
+ const result = await mcpTools.getAvailableMcp({ signal: controller.signal });
163
+
164
+ // Cancel the request
165
+ controller.abort();
166
+ ```
@@ -108,7 +108,7 @@ var McpTools = (function (_super) {
108
108
  if (!this._mcpApiUrl) {
109
109
  throw new Error('mcpApiUrl is required for getInternalServers');
110
110
  }
111
- return [2, this.makeRequest(__assign({ method: 'GET', route: 'internal/servers', url: this._mcpApiUrl }, options))];
111
+ return [2, this.makeRequest(__assign({ method: 'GET', route: '', url: "".concat(this._mcpApiUrl, "/internal/servers") }, options))];
112
112
  });
113
113
  });
114
114
  };
@@ -119,7 +119,7 @@ var McpTools = (function (_super) {
119
119
  if (!this._mcpToolsUrl) {
120
120
  throw new Error('mcpToolsUrl is required for getDiscovery');
121
121
  }
122
- return [2, this.makeRequest(__assign({ method: 'GET', route: 'mcp/discovery', url: this._mcpToolsUrl }, options))];
122
+ return [2, this.makeRequest(__assign({ method: 'GET', route: '', url: "".concat(this._mcpToolsUrl, "/mcp/discovery") }, options))];
123
123
  });
124
124
  });
125
125
  };
@@ -137,16 +137,18 @@ var McpTools = (function (_super) {
137
137
  _a = _b.sent(), serversResult = _a[0], discoveryResult = _a[1];
138
138
  fromServers = serversResult.status === 'fulfilled' && serversResult.value
139
139
  ? serversResult.value.servers.map(function (s) { return ({
140
- name: s.name,
140
+ name: s.label || s.name,
141
141
  url: s.url,
142
142
  description: s.description,
143
+ flowId: s.flowId,
144
+ flowUrl: s.flowUrl,
143
145
  auth: 'bearer',
144
146
  source: 'internal',
145
147
  }); })
146
148
  : [];
147
149
  fromDiscovery = discoveryResult.status === 'fulfilled' && discoveryResult.value
148
150
  ? discoveryResult.value.packages.map(function (p) { return ({
149
- name: p.package,
151
+ name: p.package + ' (platform)',
150
152
  url: p.url,
151
153
  auth: p.auth,
152
154
  redirectUrl: p.redirectUrl,
@@ -162,8 +164,29 @@ var McpTools = (function (_super) {
162
164
  });
163
165
  });
164
166
  };
167
+ McpTools.prototype.getOAuthAuthUrlRoute = function (pkg) {
168
+ var url = new URL(pkg.redirectUrl);
169
+ if (url.pathname === "/auth/".concat(pkg.package)) {
170
+ return "".concat(pkg.package, "/auth-url");
171
+ }
172
+ return url.pathname.replace(/^\//, '');
173
+ };
165
174
  McpTools.prototype.authorizeOAuthPackage = function (pkg) {
166
- return window.open(pkg.redirectUrl, '_blank');
175
+ return __awaiter(this, void 0, void 0, function () {
176
+ var url;
177
+ return __generator(this, function (_a) {
178
+ switch (_a.label) {
179
+ case 0: return [4, this.makeRequest({
180
+ method: 'GET',
181
+ route: this.getOAuthAuthUrlRoute(pkg),
182
+ url: pkg.redirectUrl,
183
+ })];
184
+ case 1:
185
+ url = (_a.sent()).url;
186
+ return [2, window.open(url, '_blank')];
187
+ }
188
+ });
189
+ });
167
190
  };
168
191
  return McpTools;
169
192
  }(base_1.Base));
@@ -1 +1 @@
1
- {"version":3,"file":"McpTools.js","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkD;AAElD,yCAA0C;AAC1C,+CAA+D;AAW/D,IAAM,WAAW,GAAG,IAAA,gCAAiB,EAAC,yBAAU,CAAC,KAAK,CAAC,CAAC;AAExD;IAA8B,4BAAI;IAIhC,kBAAY,MAAc;QAA1B,iBAYC;QAXS,IAAA,KAAK,GAA2C,MAAM,MAAjD,EAAE,YAAY,GAA6B,MAAM,aAAnC,EAAE,SAAS,GAAkB,MAAM,UAAxB,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;QAE/D,QAAA,MAAK,YAAC;YACJ,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,UAAU,EAAE,uBAAW;YACvB,oBAAoB,EAAE,IAAI;SAC3B,CAAC,SAAC;QAEH,KAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;;IAClC,CAAC;IAEa,8BAAW,GAAzB,UAA6B,MAAoB;;;gBAC/C,WAAO,IAAI,CAAC,SAAS,CAAI,MAAM,CAAC,EAAC;;;KAClC;IAED,6BAAU,GAAV,UAAW,GAAY;QACrB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAOK,qCAAkB,GAAxB;4DAAyB,OAAyB;YAAzB,wBAAA,EAAA,YAAyB;;gBAChD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;gBAED,WAAO,IAAI,CAAC,WAAW,YACrB,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,IAAI,CAAC,UAAU,IACjB,OAAO,EACV,EAAC;;;KACJ;IAOK,+BAAY,GAAlB;4DAAmB,OAAyB;YAAzB,wBAAA,EAAA,YAAyB;;gBAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC9D,CAAC;gBAED,WAAO,IAAI,CAAC,WAAW,YACrB,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,IAAI,CAAC,YAAY,IACnB,OAAO,EACV,EAAC;;;KACJ;IAOK,kCAAe,GAArB;4DAAsB,OAAyB;;YAAzB,wBAAA,EAAA,YAAyB;;;4BACJ,WAAM,OAAO,CAAC,UAAU,CAAC;4BAChE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;4BAC1E,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;yBACvE,CAAC,EAAA;;wBAHI,KAAmC,SAGvC,EAHK,aAAa,QAAA,EAAE,eAAe,QAAA;wBAK/B,WAAW,GACf,aAAa,CAAC,MAAM,KAAK,WAAW,IAAI,aAAa,CAAC,KAAK;4BACzD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;gCACxC,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,GAAG,EAAE,CAAC,CAAC,GAAG;gCACV,WAAW,EAAE,CAAC,CAAC,WAAW;gCAC1B,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,UAAmB;6BAC5B,CAAC,EANuC,CAMvC,CAAC;4BACH,CAAC,CAAC,EAAE,CAAC;wBAEH,aAAa,GACjB,eAAe,CAAC,MAAM,KAAK,WAAW,IAAI,eAAe,CAAC,KAAK;4BAC7D,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;gCAC3C,IAAI,EAAE,CAAC,CAAC,OAAO;gCACf,GAAG,EAAE,CAAC,CAAC,GAAG;gCACV,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gCAC1B,MAAM,EAAE,WAAoB;6BAC7B,CAAC,EAN0C,CAM1C,CAAC;4BACH,CAAC,CAAC,EAAE,CAAC;wBAEH,KAAK,mCAAO,WAAW,SAAK,aAAa,OAAC,CAAC;wBAEjD,WAAO;gCACL,KAAK,OAAA;gCACL,KAAK,EAAE,KAAK,CAAC,MAAM;6BACpB,EAAC;;;;KACH;IAOD,wCAAqB,GAArB,UAAsB,GAAiB;QACrC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IACH,eAAC;AAAD,CAAC,AA/GD,CAA8B,WAAI,GA+GjC;AA/GY,4BAAQ"}
1
+ {"version":3,"file":"McpTools.js","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export class McpTools extends Base {
36
36
  if (!this._mcpApiUrl) {
37
37
  throw new Error('mcpApiUrl is required for getInternalServers');
38
38
  }
39
- return this.makeRequest(Object.assign({ method: 'GET', route: 'internal/servers', url: this._mcpApiUrl }, options));
39
+ return this.makeRequest(Object.assign({ method: 'GET', route: '', url: `${this._mcpApiUrl}/internal/servers` }, options));
40
40
  });
41
41
  }
42
42
  getDiscovery() {
@@ -44,7 +44,7 @@ export class McpTools extends Base {
44
44
  if (!this._mcpToolsUrl) {
45
45
  throw new Error('mcpToolsUrl is required for getDiscovery');
46
46
  }
47
- return this.makeRequest(Object.assign({ method: 'GET', route: 'mcp/discovery', url: this._mcpToolsUrl }, options));
47
+ return this.makeRequest(Object.assign({ method: 'GET', route: '', url: `${this._mcpToolsUrl}/mcp/discovery` }, options));
48
48
  });
49
49
  }
50
50
  getAvailableMcp() {
@@ -55,16 +55,18 @@ export class McpTools extends Base {
55
55
  ]);
56
56
  const fromServers = serversResult.status === 'fulfilled' && serversResult.value
57
57
  ? serversResult.value.servers.map((s) => ({
58
- name: s.name,
58
+ name: s.label || s.name,
59
59
  url: s.url,
60
60
  description: s.description,
61
+ flowId: s.flowId,
62
+ flowUrl: s.flowUrl,
61
63
  auth: 'bearer',
62
64
  source: 'internal',
63
65
  }))
64
66
  : [];
65
67
  const fromDiscovery = discoveryResult.status === 'fulfilled' && discoveryResult.value
66
68
  ? discoveryResult.value.packages.map((p) => ({
67
- name: p.package,
69
+ name: p.package + ' (platform)',
68
70
  url: p.url,
69
71
  auth: p.auth,
70
72
  redirectUrl: p.redirectUrl,
@@ -78,8 +80,22 @@ export class McpTools extends Base {
78
80
  };
79
81
  });
80
82
  }
83
+ getOAuthAuthUrlRoute(pkg) {
84
+ const url = new URL(pkg.redirectUrl);
85
+ if (url.pathname === `/auth/${pkg.package}`) {
86
+ return `${pkg.package}/auth-url`;
87
+ }
88
+ return url.pathname.replace(/^\//, '');
89
+ }
81
90
  authorizeOAuthPackage(pkg) {
82
- return window.open(pkg.redirectUrl, '_blank');
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ const { url } = yield this.makeRequest({
93
+ method: 'GET',
94
+ route: this.getOAuthAuthUrlRoute(pkg),
95
+ url: pkg.redirectUrl,
96
+ });
97
+ return window.open(url, '_blank');
98
+ });
83
99
  }
84
100
  }
85
101
  //# sourceMappingURL=McpTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpTools.js","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpTools.js","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class McpTools extends Base {
9
9
  getInternalServers(options?: CallOptions): Promise<InternalServersResponse>;
10
10
  getDiscovery(options?: CallOptions): Promise<DiscoveryResponse>;
11
11
  getAvailableMcp(options?: CallOptions): Promise<AvailableMcpResponse>;
12
- authorizeOAuthPackage(pkg: OAuthPackage): Window | null;
12
+ private getOAuthAuthUrlRoute;
13
+ authorizeOAuthPackage(pkg: OAuthPackage): Promise<Window | null>;
13
14
  }
14
15
  //# sourceMappingURL=McpTools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpTools.d.ts","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,cAAc,CAAC;AAIlD,OAAO,EAEL,oBAAoB,EACpB,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACb,MAAM,SAAS,CAAC;AAIjB,qBAAa,QAAS,SAAQ,IAAI;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAE3B,MAAM,EAAE,MAAM;YAcZ,WAAW;IAIzB,UAAU,CAAC,GAAG,EAAE,OAAO;IASjB,kBAAkB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkB/E,YAAY,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkBnE,eAAe,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyC/E,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;CAGxD"}
1
+ {"version":3,"file":"McpTools.d.ts","sourceRoot":"","sources":["../../src/McpTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,cAAc,CAAC;AAIlD,OAAO,EAEL,oBAAoB,EACpB,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,uBAAuB,EAEvB,YAAY,EACb,MAAM,SAAS,CAAC;AAIjB,qBAAa,QAAS,SAAQ,IAAI;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAE3B,MAAM,EAAE,MAAM;YAcZ,WAAW;IAIzB,UAAU,CAAC,GAAG,EAAE,OAAO;IASjB,kBAAkB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkB/E,YAAY,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkBnE,eAAe,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsC/E,OAAO,CAAC,oBAAoB;IAetB,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CASvE"}
@@ -39,10 +39,15 @@ export type OAuthPackage = McpPackage & {
39
39
  auth: 'oauth';
40
40
  redirectUrl: string;
41
41
  };
42
+ export type OAuthAuthUrlResponse = {
43
+ url: string;
44
+ };
42
45
  export type AvailableMcp = {
43
46
  name: string;
44
47
  url: string;
45
48
  description?: string;
49
+ flowId?: string;
50
+ flowUrl?: string;
46
51
  auth: 'oauth' | string;
47
52
  redirectUrl?: string;
48
53
  source: 'internal' | 'discovery';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrC,MAAM,MAAM,MAAM,GAAG;IAInB,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB,EAAE,OAAO,CAAC;IACnC,8BAA8B,EAAE,OAAO,CAAC;IACxC,8BAA8B,EAAE,MAAM,CAAC;IACvC,8BAA8B,EAAE,OAAO,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrC,MAAM,MAAM,MAAM,GAAG;IAInB,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB,EAAE,OAAO,CAAC;IACnC,8BAA8B,EAAE,OAAO,CAAC;IACxC,8BAA8B,EAAE,MAAM,CAAC;IACvC,8BAA8B,EAAE,OAAO,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@or-sdk/mcp-tools",
3
- "version": "0.5.0-beta.4165.0",
3
+ "version": "0.5.0-beta.4167.0",
4
4
  "description": "",
5
5
  "license": "Apache-2.0",
6
6
  "author": "",
package/src/McpTools.ts CHANGED
@@ -9,6 +9,7 @@ import {
9
9
  Config,
10
10
  DiscoveryResponse,
11
11
  InternalServersResponse,
12
+ OAuthAuthUrlResponse,
12
13
  OAuthPackage,
13
14
  } from './types';
14
15
 
@@ -52,8 +53,8 @@ export class McpTools extends Base {
52
53
 
53
54
  return this.makeRequest<InternalServersResponse>({
54
55
  method: 'GET',
55
- route: 'internal/servers',
56
- url: this._mcpApiUrl,
56
+ route: '',
57
+ url: `${this._mcpApiUrl}/internal/servers`,
57
58
  ...options,
58
59
  });
59
60
  }
@@ -70,8 +71,8 @@ export class McpTools extends Base {
70
71
 
71
72
  return this.makeRequest<DiscoveryResponse>({
72
73
  method: 'GET',
73
- route: 'mcp/discovery',
74
- url: this._mcpToolsUrl,
74
+ route: '',
75
+ url: `${this._mcpToolsUrl}/mcp/discovery`,
75
76
  ...options,
76
77
  });
77
78
  }
@@ -90,9 +91,11 @@ export class McpTools extends Base {
90
91
  const fromServers: AvailableMcp[] =
91
92
  serversResult.status === 'fulfilled' && serversResult.value
92
93
  ? serversResult.value.servers.map((s) => ({
93
- name: s.name,
94
+ name: s.label || s.name,
94
95
  url: s.url,
95
96
  description: s.description,
97
+ flowId: s.flowId,
98
+ flowUrl: s.flowUrl,
96
99
  auth: 'bearer',
97
100
  source: 'internal' as const,
98
101
  }))
@@ -101,7 +104,7 @@ export class McpTools extends Base {
101
104
  const fromDiscovery: AvailableMcp[] =
102
105
  discoveryResult.status === 'fulfilled' && discoveryResult.value
103
106
  ? discoveryResult.value.packages.map((p) => ({
104
- name: p.package,
107
+ name: p.package + ' (platform)',
105
108
  url: p.url,
106
109
  auth: p.auth,
107
110
  redirectUrl: p.redirectUrl,
@@ -117,12 +120,28 @@ export class McpTools extends Base {
117
120
  };
118
121
  }
119
122
 
123
+ private getOAuthAuthUrlRoute(pkg: OAuthPackage): string {
124
+ const url = new URL(pkg.redirectUrl);
125
+
126
+ if (url.pathname === `/auth/${pkg.package}`) {
127
+ return `${pkg.package}/auth-url`;
128
+ }
129
+
130
+ return url.pathname.replace(/^\//, '');
131
+ }
132
+
120
133
  /**
121
134
  * Opens the OAuth authorization URL for the given package in a new browser window.
122
135
  * @param pkg - The OAuth package to authorize.
123
136
  * @returns {Window | null} The opened window reference, or null if it could not be opened.
124
137
  */
125
- authorizeOAuthPackage(pkg: OAuthPackage): Window | null {
126
- return window.open(pkg.redirectUrl, '_blank');
138
+ async authorizeOAuthPackage(pkg: OAuthPackage): Promise<Window | null> {
139
+ const { url } = await this.makeRequest<OAuthAuthUrlResponse>({
140
+ method: 'GET',
141
+ route: this.getOAuthAuthUrlRoute(pkg),
142
+ url: pkg.redirectUrl,
143
+ });
144
+
145
+ return window.open(url, '_blank');
127
146
  }
128
147
  }
package/src/types.ts CHANGED
@@ -64,10 +64,16 @@ export type OAuthPackage = McpPackage & {
64
64
  redirectUrl: string;
65
65
  };
66
66
 
67
+ export type OAuthAuthUrlResponse = {
68
+ url: string;
69
+ };
70
+
67
71
  export type AvailableMcp = {
68
72
  name: string;
69
73
  url: string;
70
74
  description?: string;
75
+ flowId?: string;
76
+ flowUrl?: string;
71
77
  auth: 'oauth' | string;
72
78
  redirectUrl?: string;
73
79
  source: 'internal' | 'discovery';