@ui5/mcp-server 0.2.5 → 0.2.7

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 (31) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +75 -59
  3. package/icon.png +0 -0
  4. package/lib/tools/create_integration_card/create_integration_card.d.ts +3 -2
  5. package/lib/tools/create_integration_card/create_integration_card.js +24 -1
  6. package/lib/tools/create_integration_card/create_integration_card.js.map +1 -1
  7. package/lib/tools/create_integration_card/index.js +1 -0
  8. package/lib/tools/create_integration_card/index.js.map +1 -1
  9. package/lib/tools/create_integration_card/schema.d.ts +10 -0
  10. package/lib/tools/create_integration_card/schema.js +9 -0
  11. package/lib/tools/create_integration_card/schema.js.map +1 -1
  12. package/lib/tools/create_ui5_app/create_ui5_app.js +5 -33
  13. package/lib/tools/create_ui5_app/create_ui5_app.js.map +1 -1
  14. package/lib/tools/create_ui5_app/templateProcessor.d.ts +2 -0
  15. package/lib/tools/create_ui5_app/templateProcessor.js.map +1 -1
  16. package/lib/utils/getAllowedDomains.d.ts +1 -0
  17. package/lib/utils/getAllowedDomains.js +35 -0
  18. package/lib/utils/getAllowedDomains.js.map +1 -0
  19. package/lib/{tools/create_ui5_app → utils}/isValidUrl.js +1 -1
  20. package/lib/utils/isValidUrl.js.map +1 -0
  21. package/npm-shrinkwrap.json +756 -673
  22. package/package.json +21 -20
  23. package/resources/integration_cards_guidelines.md +260 -2
  24. package/resources/template-card/card/manifest.json +10 -0
  25. package/resources/template-card/test/App.js +20 -4
  26. package/resources/template-card/test/index.css +4 -0
  27. package/resources/template-card/test/index.html +1 -3
  28. package/resources/template-js/webapp/manifest.json +5 -1
  29. package/resources/template-ts/webapp/manifest.json +5 -1
  30. package/lib/tools/create_ui5_app/isValidUrl.js.map +0 -1
  31. /package/lib/{tools/create_ui5_app → utils}/isValidUrl.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.7](https://github.com/UI5/mcp-server/compare/v0.2.6...v0.2.7) (2026-02-27)
4
+
5
+
6
+ ### Features
7
+
8
+ * **Integration Cards:** Improve generation of Configuration Editor ([#230](https://github.com/UI5/mcp-server/issues/230)) ([5f67820](https://github.com/UI5/mcp-server/commit/5f678208e3c03f35eaee57c1c6cccfe6ce26c22d))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Add UI5 icon ([c6c7980](https://github.com/UI5/mcp-server/commit/c6c7980b04e2fa7590a50163c484a8e0dcd0d264))
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * Bump @modelcontextprotocol/sdk from 1.26.0 to 1.27.0 ([8388270](https://github.com/UI5/mcp-server/commit/8388270369041f6f4b14d3e9f181eed931f3e60e))
19
+ * Bump @modelcontextprotocol/sdk from 1.27.0 to 1.27.1 ([cc1fc8a](https://github.com/UI5/mcp-server/commit/cc1fc8a6343945c1a939c5412eec8b2662390882))
20
+ * Bump @ui5/project from 4.0.10 to 4.0.11 ([32ae81d](https://github.com/UI5/mcp-server/commit/32ae81d94d0f66fabdebf67155d08a606e0c8f80))
21
+ * Bump fast-xml-parser from 5.3.6 to 5.3.7 ([4ac6a44](https://github.com/UI5/mcp-server/commit/4ac6a440709fc699d5cc6bc8b3709caf41390796))
22
+ * Bump fast-xml-parser from 5.3.7 to 5.4.1 ([c8d1bd3](https://github.com/UI5/mcp-server/commit/c8d1bd38fbef03c11e3bc60aa9174aa7bb7faa19))
23
+ * Bump globby from 16.1.0 to 16.1.1 ([e6eb79e](https://github.com/UI5/mcp-server/commit/e6eb79e0efd9898e58f11aa086cd1cdd85fd80fb))
24
+ * Bump make-fetch-happen from 15.0.3 to 15.0.4 ([962b6f7](https://github.com/UI5/mcp-server/commit/962b6f7972520c66e5bc8e43c3edff12838c8f1d))
25
+
26
+ ## [0.2.6](https://github.com/UI5/mcp-server/compare/v0.2.5...v0.2.6) (2026-02-17)
27
+
28
+
29
+ ### Features
30
+
31
+ * Add UI5_MCP_SERVER_ALLOWED_DOMAINS configuration option ([#235](https://github.com/UI5/mcp-server/issues/235)) ([b551473](https://github.com/UI5/mcp-server/commit/b5514733e066cb033384c573f1958d0d2f2f2da0))
32
+ * **ui5_create_app:** Add sourceTemplate section to manifest.json ([#231](https://github.com/UI5/mcp-server/issues/231)) ([9a22531](https://github.com/UI5/mcp-server/commit/9a2253121d6a9d7bc806309f0dcf5d5e317cfe0a))
33
+
34
+
35
+ ### Dependencies
36
+
37
+ * Bump @ui5/project from 4.0.9 to 4.0.10 ([35336f3](https://github.com/UI5/mcp-server/commit/35336f3525e3902db6a08bc860e9528480158e48))
38
+ * Bump fast-xml-parser from 5.3.5 to 5.3.6 ([60567db](https://github.com/UI5/mcp-server/commit/60567db072a3e26fd109f443e10a83d2f98f43a2))
39
+
3
40
  ## [0.2.5](https://github.com/UI5/mcp-server/compare/v0.2.4...v0.2.5) (2026-02-09)
4
41
 
5
42
 
package/README.md CHANGED
@@ -23,22 +23,22 @@ The UI5 [Model Context Protocol](https://modelcontextprotocol.io/) server offers
23
23
 
24
24
  ## Available Tools
25
25
 
26
+ - `create_integration_card`: Scaffolds a new UI Integration Card.
26
27
  - `create_ui5_app`: Scaffolds a new UI5 application based on a set of templates.
27
28
  - `get_api_reference`: Fetches and formats UI5 API documentation.
28
29
  - `get_guidelines`: Provides access to UI5 development best practices.
30
+ - `get_integration_cards_guidelines`: Provides access to UI Integration Cards development best practices.
29
31
  - `get_project_info`: Extracts metadata and configuration from a UI5 project.
30
- - `get_version_info`: Retrieves version information for the UI5 framework.
31
- - `run_ui5_linter`: Integrates with [`@ui5/linter`](https://github.com/UI5/linter) to analyze and report issues in UI5 code.
32
32
  - `get_typescript_conversion_guidelines`: Provides guidelines for converting UI5 applications and controls from JavaScript to TypeScript.
33
- - `get_integration_cards_guidelines`: Provides access to UI Integration Cards development best practices.
34
- - `create_integration_card`: Scaffolds a new UI Integration Card.
33
+ - `get_version_info`: Retrieves version information for the UI5 framework.
35
34
  - `run_manifest_validation`: Validates the manifest against the UI5 Manifest schema.
35
+ - `run_ui5_linter`: Integrates with [`@ui5/linter`](https://github.com/UI5/linter) to analyze and report issues in the UI5 code.
36
36
 
37
37
  ## Requirements
38
38
 
39
39
  - [Node.js](https://nodejs.org/) Version v20.17.0, v22.9.0 or higher
40
40
  - [npm](https://www.npmjs.com/) Version v8.0.0 or higher
41
- - An MCP client such as VS Code, Cline, or any other MCP-compatible client
41
+ - An MCP client, such as VS Code (GitHub Copilot), Cline, Claude Code, Codex, or any other MCP-compatible client
42
42
 
43
43
  ## Setup
44
44
 
@@ -48,82 +48,78 @@ This configuration works for most MCP clients:
48
48
 
49
49
  ```json
50
50
  {
51
- "mcpServers": {
52
- "@ui5/mcp-server": {
53
- "type": "stdio",
54
- "command": "npx",
55
- "args": [
56
- "@ui5/mcp-server"
57
- ]
58
- }
59
- }
51
+ "mcpServers": {
52
+ "@ui5/mcp-server": {
53
+ "type": "stdio",
54
+ "command": "npx",
55
+ "args": [
56
+ "-y",
57
+ "@ui5/mcp-server"
58
+ ]
59
+ }
60
+ }
60
61
  }
61
62
  ```
62
63
 
63
- ### Configuration
64
-
65
- The UI5 MCP server can be configured using the following environment variables. It does not accept any command-line arguments.
66
-
67
- **Custom Configuration Example:**
64
+ <details>
65
+ <summary><i>Special configuration for native Windows</i></summary>
66
+ On native Windows (not WSL), you might need to prefix npx with `cmd /c`:
68
67
 
69
68
  ```json
70
69
  {
71
- "mcpServers": {
72
- "@ui5/mcp-server": {
73
- "type": "stdio",
74
- "command": "npx",
75
- "args": [
76
- "@ui5/mcp-server"
77
- ],
78
- "env": {
79
- "UI5_MCP_SERVER_ALLOWED_ODATA_DOMAINS": "localhost, services.odata.org",
80
- "UI5_LOG_LVL": "verbose",
81
- "UI5_DATA_DIR": "/change-me/to/some/other/path",
82
- }
83
- }
84
- }
70
+ "mcpServers": {
71
+ "@ui5/mcp-server": {
72
+ "type": "stdio",
73
+ "command": "cmd",
74
+ "args": [
75
+ "/c",
76
+ "npx -y @ui5/mcp-server"
77
+ ]
78
+ }
79
+ }
85
80
  }
86
81
  ```
87
-
88
- **Configuration Options:**
89
-
90
- * **`UI5_MCP_SERVER_ALLOWED_ODATA_DOMAINS`**:
91
- * Default Value: `localhost, services.odata.org`
92
- * Description: A comma-separated list of domains that are allowed to be used in the `oDataV4Url` parameter of the `create_ui5_app` tool, for example: `localhost, example.com, sub.example.com`. Set to an empty string to allow any domains.
93
- For wildcard subdomains, prefix the domain with a dot: `.example.com`. This will match `www.example.com` but not `example.com`.
94
- * **`UI5_MCP_SERVER_RESPONSE_NO_STRUCTURED_CONTENT`**:
95
- * Description: Set to any value to disable structured content in the MCP server responses.
96
- * **`UI5_MCP_SERVER_RESPONSE_NO_RESOURCES`**:
97
- * Description: Set to any value to disable [resources](https://modelcontextprotocol.io/specification/2025-06-18/server/resources) in the MCP server responses. This is useful for [clients that do not support resources](https://modelcontextprotocol.io/clients), such as Cursor or the Gemini CLI.
98
- * **`UI5_LOG_LVL`**:
99
- * Default Value: `info`
100
- * Description: Internal [log level](https://ui5.github.io/cli/stable/pages/Troubleshooting/#changing-the-log-level): `silent`, `error`, `warn`, `info`, `perf`, `verbose`, `silly`
101
- * **`UI5_DATA_DIR`**:
102
- * Default Value: The `.ui5` directory in the user's home directory
103
- * Description: Directory where the MCP server stores its data, such as cached API references
104
-
82
+ </details>
105
83
 
106
84
  ### Specific MCP Clients
107
85
 
86
+ Besides the general configuration outlined above, some MCP clients offer shortcuts for installing MCP servers. Below are instructions for some popular clients, but you can also refer to your specific client's documentation for more details.
87
+
108
88
  #### VS Code
109
89
 
110
- Follow the MCP installation [guide](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server) using the above configuration.
90
+ **Preferred:** Install from the **[GitHub MCP server registry](https://github.com/mcp/UI5/mcp-server)**
111
91
 
112
- Or use the VS Code CLI:
92
+ _Alternatively you can use the VS Code CLI:_
113
93
 
114
94
  ```bash
115
95
  # Using VS Code CLI
116
- code --add-mcp '{"name":"@ui5/mcp-server","type": "stdio","command":"npx","args":["@ui5/mcp-server"]}'
96
+ code --add-mcp '{"name":"@ui5/mcp-server","type": "stdio","command":"npx","args":["-y", "@ui5/mcp-server"]}'
117
97
  ```
118
98
 
119
99
  #### Cline
120
100
 
121
101
  1. Open the Cline panel in VSCode.
122
- 2. Below the prompt/task input field, click on the "Manage MCP servers" icon and select the gear button in the popup.
123
- 3. Click "Configure MCP servers" and add the above configuration.
102
+ 2. Click on the "MCP Servers" icon at the top, next to the "plus" symbol
103
+ 3. Change to the "Configure" tab, then click "Configure MCP servers"
104
+ 4. In the editor that opens, insert the above [Standard Configuration for Most Clients](#standard-configuration-for-most-clients)
105
+
106
+ See [docs.cline.bot/mcp/adding-and-configuring-servers](https://docs.cline.bot/mcp/adding-and-configuring-servers) for details.
124
107
 
125
- ## Rules
126
- The following rules help guide the LLM to use the server correctly:
108
+ #### Claude Code
109
+
110
+ ```bash
111
+ claude mcp add --transport stdio --scope user ui5-mcp-server -- npx -y @ui5/mcp-server
112
+ ```
113
+
114
+ #### Codex
115
+
116
+ ```
117
+ codex mcp add --transport stdio ui5-mcp-server -- npx -y @ui5/mcp-server
118
+ ```
119
+
120
+ ## Adding Rules to your Project
121
+
122
+ The following rules **guide large language models (LLMs) in using the UI5 MCP server correctly**. Add these rules to your existing global or project-specific [`AGENTS.md`](https://agents.md/) file. The exact location may vary depending on the MCP client. For example, Claude Code uses a `CLAUDE.md` file instead of `AGENTS.md`.
127
123
 
128
124
  ```markdown
129
125
  ## Guidelines for UI5
@@ -131,7 +127,26 @@ The following rules help guide the LLM to use the server correctly:
131
127
  Use the `get_guidelines` tool of the UI5 MCP server to retrieve the latest coding standards and best practices for UI5 development.
132
128
  ```
133
129
 
134
- Add these rules to your existing global or project-specific [`AGENTS.md`](https://agents.md/) (specifics may vary based on respective MCP client).
130
+ ### Configuration
131
+
132
+ The UI5 MCP server can be configured using the following environment variables. It does not accept any command-line arguments.
133
+
134
+ **Configuration Options:**
135
+
136
+ * **`UI5_MCP_SERVER_ALLOWED_DOMAINS`**:
137
+ * Default Value: `localhost, services.odata.org`
138
+ * Description: A comma-separated list of domains that are allowed to be used in various tools, for example: `localhost, example.com, sub.example.com`. Set to an empty string to allow any domains.
139
+ For wildcard subdomains, prefix the domain with a dot: `.example.com`. This will match `www.example.com` but not `example.com`.
140
+ * **`UI5_MCP_SERVER_RESPONSE_NO_STRUCTURED_CONTENT`**:
141
+ * Description: Set to any value to disable structured content in the MCP server responses.
142
+ * **`UI5_MCP_SERVER_RESPONSE_NO_RESOURCES`**:
143
+ * Description: Set to any value to disable [resources](https://modelcontextprotocol.io/specification/2025-06-18/server/resources) in the MCP server responses. This is useful for [clients that do not support resources](https://modelcontextprotocol.io/clients), such as Cursor or the Gemini CLI.
144
+ * **`UI5_LOG_LVL`**:
145
+ * Default Value: `info`
146
+ * Description: Internal [log level](https://ui5.github.io/cli/stable/pages/Troubleshooting/#changing-the-log-level): `silent`, `error`, `warn`, `info`, `perf`, `verbose`, `silly`
147
+ * **`UI5_DATA_DIR`**:
148
+ * Default Value: The `.ui5` directory in the user's home directory
149
+ * Description: Directory where the MCP server stores its data, such as cached API references.
135
150
 
136
151
  ## Support, Feedback, Contributing
137
152
 
@@ -140,6 +155,7 @@ This project is open to feature requests/suggestions, bug reports etc. via [GitH
140
155
  You can also chat with us in the [`#tooling`](https://openui5.slack.com/archives/C0A7QFN6B) channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com/). For public Q&A, use the [`ui5-tooling` tag on Stack Overflow](https://stackoverflow.com/questions/tagged/ui5-tooling).
141
156
 
142
157
  ## Security / Disclosure
158
+
143
159
  If you find any bug that may be a security problem, please follow our instructions at [in our security policy](https://github.com/UI5/mcp-server/security/policy) on how to report it. Please do not create GitHub issues for security-related doubts or problems.
144
160
 
145
161
  ## Code of Conduct
package/icon.png ADDED
Binary file
@@ -1,8 +1,9 @@
1
- import { SupportedCardType } from "./schema.js";
1
+ import { Destination, SupportedCardType } from "./schema.js";
2
2
  interface CreateIntegrationCardParams {
3
3
  folderPath: string;
4
4
  cardType: SupportedCardType;
5
5
  manifestVersion: string;
6
+ destinations?: Destination[];
6
7
  }
7
- export declare function createIntegrationCard({ folderPath, cardType, manifestVersion }: CreateIntegrationCardParams): Promise<string[]>;
8
+ export declare function createIntegrationCard({ folderPath, cardType, manifestVersion, destinations, }: CreateIntegrationCardParams): Promise<string[]>;
8
9
  export {};
@@ -6,10 +6,12 @@ import { fileURLToPath } from "url";
6
6
  import ejs from "ejs";
7
7
  import { getLogger } from "@ui5/logger";
8
8
  import semver from "semver";
9
+ import getAllowedDomains from "../../utils/getAllowedDomains.js";
10
+ import isValidUrl from "../../utils/isValidUrl.js";
9
11
  const log = getLogger("tools:create_integration_card:create_integration_card");
10
12
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
13
  ;
12
- export async function createIntegrationCard({ folderPath, cardType, manifestVersion }) {
14
+ export async function createIntegrationCard({ folderPath, cardType, manifestVersion, destinations, }) {
13
15
  if (!isAbsolute(folderPath)) {
14
16
  throw new InvalidInputError("The provided folder path is not valid! Please provide an absolute path to the target directory.");
15
17
  }
@@ -20,6 +22,26 @@ export async function createIntegrationCard({ folderPath, cardType, manifestVers
20
22
  if (!semver.valid(manifestVersion)) {
21
23
  throw new InvalidInputError("The provided manifest version is not valid!");
22
24
  }
25
+ if (destinations?.length) {
26
+ const allowedDomains = getAllowedDomains();
27
+ for (const destination of destinations) {
28
+ if (!isValidUrl(destination.defaultUrl, allowedDomains)) {
29
+ let allowedDomainsNote = "";
30
+ if (allowedDomains.length) {
31
+ allowedDomainsNote =
32
+ `As per the MCP server configuration, only the following domains are currently allowed: ` +
33
+ `'${allowedDomains.join("', '")}'. See https://github.com/UI5/mcp-server#configuration ` +
34
+ `for information on how to configure the allow list.`;
35
+ }
36
+ throw new InvalidInputError(`The provided destination 'defaultUrl' service URL is not valid.` +
37
+ `It must be either an absolute URL` +
38
+ `starting with http:// or https:// or pathname like '/api/v1/serviceName' in case ` +
39
+ `the service is exposed on the same server as the application. In this case, ` +
40
+ `the protocol and host 'http://localhost:4004' will be assumed and used by this tool for inquiries ` +
41
+ `about the service. ${allowedDomainsNote}`);
42
+ }
43
+ }
44
+ }
23
45
  try {
24
46
  // create target directory
25
47
  await mkdir(folderPath, { recursive: true });
@@ -51,6 +73,7 @@ export async function createIntegrationCard({ folderPath, cardType, manifestVers
51
73
  const templateVars = {
52
74
  cardType,
53
75
  manifestVersion,
76
+ destinations,
54
77
  };
55
78
  let processedContent = ejs.render(templateContent, templateVars, { filename: sourcePath });
56
79
  // format JSON files
@@ -1 +1 @@
1
- {"version":3,"file":"create_integration_card.js","sourceRoot":"","sources":["../../../src/tools/create_integration_card/create_integration_card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create_integration_card.js","sourceRoot":"","sources":["../../../src/tools/create_integration_card/create_integration_card.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export default function registerTool(registerTool, context) {
28
28
  folderPath: normalizedCardFolderName,
29
29
  cardType: params.cardType,
30
30
  manifestVersion: latestManifestVersion,
31
+ destinations: params.destinations,
31
32
  });
32
33
  const message = `Successfully created Integration Card ${params.cardFolderName} at ${normalizedBasePath}\n` +
33
34
  `The generated files inside ${normalizedCardFolderName} are:\n${generatedFiles.join("\n")}`;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/create_integration_card/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAC,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAEpE,MAAM,GAAG,GAAG,SAAS,CAAC,+BAA+B,CAAC,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,YAA0B,EAAE,OAAgB;IAChF,OAAO,YAAY,CAAC,yBAAyB,EAAE;QAC9C,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE;YACZ,KAAK,EAAE,yBAAyB;YAChC,YAAY,EAAE,KAAK;SACnB;QACD,WAAW;KACX,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACnB,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,2BAA2B,qBAAqB,EAAE,CAAC,CAAC;QAE7D,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAEtF,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACd,oBAAoB,wBAAwB,4BAA4B,kBAAkB,EAAE,CAC5F,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC;YAClD,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,qBAAqB;SACtC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,yCAAyC,MAAM,CAAC,cAAc,OAAO,kBAAkB,IAAI;YAC1G,8BAA8B,wBAAwB,UAAU,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAE7F,OAAO;YACN,OAAO,EAAE,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;iBACb,CAAC;SACF,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/create_integration_card/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAC,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAEpE,MAAM,GAAG,GAAG,SAAS,CAAC,+BAA+B,CAAC,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,YAA0B,EAAE,OAAgB;IAChF,OAAO,YAAY,CAAC,yBAAyB,EAAE;QAC9C,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE;YACZ,KAAK,EAAE,yBAAyB;YAChC,YAAY,EAAE,KAAK;SACnB;QACD,WAAW;KACX,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACnB,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,2BAA2B,qBAAqB,EAAE,CAAC,CAAC;QAE7D,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAEtF,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACd,oBAAoB,wBAAwB,4BAA4B,kBAAkB,EAAE,CAC5F,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC;YAClD,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,qBAAqB;YACtC,YAAY,EAAE,MAAM,CAAC,YAAY;SACjC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,yCAAyC,MAAM,CAAC,cAAc,OAAO,kBAAkB,IAAI;YAC1G,8BAA8B,wBAAwB,UAAU,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAE7F,OAAO;YACN,OAAO,EAAE,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;iBACb,CAAC;SACF,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,11 @@
1
1
  import z from "zod";
2
2
  export declare const supportedCardTypes: readonly ["Analytical", "Calendar", "List", "Object", "Table", "Timeline"];
3
3
  export type SupportedCardType = typeof supportedCardTypes[number];
4
+ declare const destinationSchema: z.ZodObject<{
5
+ name: z.ZodString;
6
+ defaultUrl: z.ZodString;
7
+ }, z.z.core.$strip>;
8
+ export type Destination = z.infer<typeof destinationSchema>;
4
9
  export declare const inputSchema: {
5
10
  basePath: z.ZodString;
6
11
  cardFolderName: z.ZodDefault<z.ZodString>;
@@ -12,4 +17,9 @@ export declare const inputSchema: {
12
17
  Table: "Table";
13
18
  Timeline: "Timeline";
14
19
  }>>;
20
+ destinations: z.ZodOptional<z.ZodArray<z.ZodObject<{
21
+ name: z.ZodString;
22
+ defaultUrl: z.ZodString;
23
+ }, z.z.core.$strip>>>;
15
24
  };
25
+ export {};
@@ -7,6 +7,12 @@ export const supportedCardTypes = [
7
7
  "Table",
8
8
  "Timeline",
9
9
  ];
10
+ const destinationSchema = z.object({
11
+ name: z.string()
12
+ .regex(/^[a-zA-Z0-9 .,'@_-]+$/, { message: "Only alphanumeric characters, space, and .,'-@_ are allowed." })
13
+ .describe("Name of the destination."),
14
+ defaultUrl: z.string().describe("Default URL of the destination."),
15
+ });
10
16
  export const inputSchema = {
11
17
  basePath: z.string()
12
18
  .describe("Absolute base path for the creation."),
@@ -16,5 +22,8 @@ export const inputSchema = {
16
22
  cardType: z.enum(supportedCardTypes)
17
23
  .describe("Type of the Integration Card to create.")
18
24
  .default("List"),
25
+ destinations: z.array(destinationSchema)
26
+ .describe("List of destinations to be included in the card configuration.")
27
+ .optional(),
19
28
  };
20
29
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/tools/create_integration_card/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,YAAY;IACZ,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,UAAU;CACD,CAAC;AAIX,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,QAAQ,CAAC,sCAAsC,CAAC;IAClD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,QAAQ,CAAC,iEAAiE,CAAC;SAC3E,OAAO,CAAC,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAClC,QAAQ,CAAC,yCAAyC,CAAC;SACnD,OAAO,CAAC,MAAM,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/tools/create_integration_card/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,YAAY;IACZ,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,UAAU;CACD,CAAC;AAIX,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACd,KAAK,CAAC,uBAAuB,EAAE,EAAC,OAAO,EAAE,8DAA8D,EAAC,CAAC;SACzG,QAAQ,CAAC,0BAA0B,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAClE,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,QAAQ,CAAC,sCAAsC,CAAC;IAClD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,QAAQ,CAAC,iEAAiE,CAAC;SAC3E,OAAO,CAAC,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAClC,QAAQ,CAAC,yCAAyC,CAAC;SACnD,OAAO,CAAC,MAAM,CAAC;IACjB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;SACtC,QAAQ,CAAC,gEAAgE,CAAC;SAC1E,QAAQ,EAAE;CACZ,CAAC"}
@@ -9,8 +9,9 @@ import { processTemplates } from "./templateProcessor.js";
9
9
  import ODataMetadata from "./ODataMetadata.js";
10
10
  import { getLogger } from "@ui5/logger";
11
11
  import { isUi5Framework } from "../../utils/ui5Framework.js";
12
- import { dirExists, InvalidInputError } from "../../utils.js";
13
- import isValidUrl from "./isValidUrl.js";
12
+ import { dirExists, InvalidInputError, PKG_VERSION } from "../../utils.js";
13
+ import getAllowedDomains from "../../utils/getAllowedDomains.js";
14
+ import isValidUrl from "../../utils/isValidUrl.js";
14
15
  const log = getLogger("tools:create_ui5_app:create_ui5_app");
15
16
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
16
17
  const minFwkVersion = {
@@ -57,7 +58,7 @@ The minimum version for ${framework} is ${minFwkVersionToUse}.`);
57
58
  if (oDataV4Url.startsWith("/")) {
58
59
  metadataUrl = `http://localhost:4004${oDataV4Url}`;
59
60
  }
60
- const allowedDomains = getAllowedOdataV4Domains();
61
+ const allowedDomains = getAllowedDomains();
61
62
  if (!isValidUrl(metadataUrl, allowedDomains)) {
62
63
  let allowedDomainsNote = "";
63
64
  if (allowedDomains.length) {
@@ -179,6 +180,7 @@ The minimum version for ${framework} is ${minFwkVersionToUse}.`);
179
180
  qunitCoverageFile: semver.gte(frameworkVersion, "1.113.0") ?
180
181
  "qunit-coverage-istanbul.js" :
181
182
  "qunit-coverage.js",
183
+ mcpServerVersion: PKG_VERSION,
182
184
  gte1_98_0: semver.gte(frameworkVersion, "1.98.0"),
183
185
  gte1_100_0: semver.gte(frameworkVersion, "1.100.0"),
184
186
  gte1_104_0: semver.gte(frameworkVersion, "1.104.0"),
@@ -243,34 +245,4 @@ The minimum version for ${framework} is ${minFwkVersionToUse}.`);
243
245
  },
244
246
  };
245
247
  }
246
- function getAllowedOdataV4Domains() {
247
- if ("UI5_MCP_SERVER_ALLOWED_ODATA_DOMAINS" in process.env) {
248
- const inputDomainList = process.env.UI5_MCP_SERVER_ALLOWED_ODATA_DOMAINS;
249
- if (!inputDomainList?.trim()) {
250
- // Empty list allows all domains
251
- log.verbose("Empty value for UI5_MCP_SERVER_ALLOWED_ODATA_DOMAINS, allowing all domains");
252
- return [];
253
- }
254
- // Use the environment variable if set
255
- const domainList = inputDomainList.split(",").map((d) => d.trim());
256
- // Validate domains to catch user errors
257
- for (const domain of domainList) {
258
- try {
259
- // Note that the dot prefix (which we use for wildcards) is valid in a domain
260
- new URL(`https://${domain}`);
261
- }
262
- catch (err) {
263
- throw new InvalidInputError(`Invalid domain '${domain}' in UI5_MCP_SERVER_ALLOWED_ODATA_DOMAINS: ` +
264
- (err instanceof Error ? err.message : String(err)));
265
- }
266
- }
267
- log.verbose(`${domainList.length} allowed OData V4 domains configured: ${domainList.join(", ")}`);
268
- return domainList;
269
- }
270
- return [
271
- // Default allowed domains for OData V4 services
272
- "localhost",
273
- "services.odata.org",
274
- ];
275
- }
276
248
  //# sourceMappingURL=create_ui5_app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create_ui5_app.js","sourceRoot":"","sources":["../../../src/tools/create_ui5_app/create_ui5_app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create_ui5_app.js","sourceRoot":"","sources":["../../../src/tools/create_ui5_app/create_ui5_app.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,8 @@ export interface TemplateVars {
33
33
  defaultTheme: string;
34
34
  /** QUnit coverage file - depends on UI5 version */
35
35
  qunitCoverageFile: string;
36
+ /** Version of the MCP server, for source template metadata */
37
+ mcpServerVersion: string;
36
38
  /** Flags for version-specific features */
37
39
  gte1_98_0: boolean;
38
40
  gte1_100_0: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"templateProcessor.js","sourceRoot":"","sources":["../../../src/tools/create_ui5_app/templateProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAkEvD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAkC;IACxE,MAAM,EAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAC,GAAG,OAAO,CAAC;IAE7E,8EAA8E;IAC9E,MAAM,aAAa,GAAG,cAAc,CAAC;IACrC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;IAErD,yBAAyB;IACzB,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;QACxC,GAAG,EAAE,WAAW;KAChB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,IAAI,CAAC;QAEtB,4CAA4C;QAC5C,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC5C,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;oBACpC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAC,iBAAiB;gBAC5B,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;gBAC7E,SAAS,CAAC,iBAAiB;YAC5B,CAAC;QACF,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAE1F,iCAAiC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAE9C,IAAI,CAAC;YACJ,4BAA4B;YAC5B,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAEnE,uBAAuB;YACvB,MAAM,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC9C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACd,oCAAoC,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC;gBACrE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,EAAE,CACjB,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC;AAC3G,CAAC"}
1
+ {"version":3,"file":"templateProcessor.js","sourceRoot":"","sources":["../../../src/tools/create_ui5_app/templateProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAoEvD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAkC;IACxE,MAAM,EAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAC,GAAG,OAAO,CAAC;IAE7E,8EAA8E;IAC9E,MAAM,aAAa,GAAG,cAAc,CAAC;IACrC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;IAErD,yBAAyB;IACzB,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;QACxC,GAAG,EAAE,WAAW;KAChB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,IAAI,CAAC;QAEtB,4CAA4C;QAC5C,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC5C,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;oBACpC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACP,SAAS,CAAC,iBAAiB;gBAC5B,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;gBAC7E,SAAS,CAAC,iBAAiB;YAC5B,CAAC;QACF,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAE1F,iCAAiC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAE9C,IAAI,CAAC;YACJ,4BAA4B;YAC5B,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAEnE,uBAAuB;YACvB,MAAM,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC9C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACd,oCAAoC,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC;gBACrE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,EAAE,CACjB,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC;AAC3G,CAAC"}
@@ -0,0 +1 @@
1
+ export default function getAllowedDomains(): string[];
@@ -0,0 +1,35 @@
1
+ import { getLogger } from "@ui5/logger";
2
+ import { InvalidInputError } from "../utils.js";
3
+ const log = getLogger("utils:getAllowedDomains");
4
+ export default function getAllowedDomains() {
5
+ if ("UI5_MCP_SERVER_ALLOWED_DOMAINS" in process.env || "UI5_MCP_SERVER_ALLOWED_ODATA_DOMAINS" in process.env) {
6
+ const inputDomainList = process.env.UI5_MCP_SERVER_ALLOWED_DOMAINS ??
7
+ process.env.UI5_MCP_SERVER_ALLOWED_ODATA_DOMAINS;
8
+ if (!inputDomainList?.trim()) {
9
+ // Empty list allows all domains
10
+ log.verbose("Empty value for UI5_MCP_SERVER_ALLOWED_DOMAINS, allowing all domains");
11
+ return [];
12
+ }
13
+ // Use the environment variable if set
14
+ const domainList = inputDomainList.split(",").map((d) => d.trim());
15
+ // Validate domains to catch user errors
16
+ for (const domain of domainList) {
17
+ try {
18
+ // Note that the dot prefix (which we use for wildcards) is valid in a domain
19
+ new URL(`https://${domain}`);
20
+ }
21
+ catch (err) {
22
+ throw new InvalidInputError(`Invalid domain '${domain}' in UI5_MCP_SERVER_ALLOWED_DOMAINS: ` +
23
+ (err instanceof Error ? err.message : String(err)));
24
+ }
25
+ }
26
+ log.verbose(`${domainList.length} allowed domains configured: ${domainList.join(", ")}`);
27
+ return domainList;
28
+ }
29
+ return [
30
+ // Default allowed domains for services
31
+ "localhost",
32
+ "services.odata.org",
33
+ ];
34
+ }
35
+ //# sourceMappingURL=getAllowedDomains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllowedDomains.js","sourceRoot":"","sources":["../../src/utils/getAllowedDomains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAE9C,MAAM,GAAG,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;AAEjD,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACxC,IAAI,gCAAgC,IAAI,OAAO,CAAC,GAAG,IAAI,sCAAsC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9G,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B;YACjE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC;QAClD,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC;YAC9B,gCAAgC;YAChC,GAAG,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC;YACpF,OAAO,EAAE,CAAC;QACX,CAAC;QACD,sCAAsC;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,wCAAwC;QACxC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC;gBACJ,6EAA6E;gBAC7E,IAAI,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,iBAAiB,CAC1B,mBAAmB,MAAM,uCAAuC;oBAChE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAClD,CAAC;YACH,CAAC;QACF,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,gCAAgC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO;QACN,uCAAuC;QACvC,WAAW;QACX,oBAAoB;KACpB,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { InvalidInputError } from "../../utils.js";
1
+ import { InvalidInputError } from "../utils.js";
2
2
  /**
3
3
  * Validates a URL against a set of specified rules, including protocol and domain allow lists.
4
4
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidUrl.js","sourceRoot":"","sources":["../../src/utils/isValidUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CACjC,SAAiB,EACjB,kBAA4B,EAAE,EAC9B,oBAA8B,CAAC,MAAM,EAAE,OAAO,CAAC;IAE/C,IAAI,GAAQ,CAAC;IAEb,sDAAsD;IACtD,IAAI,CAAC;QACJ,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,IAAI,EAAE,CAAC;QACf,gEAAgE;QAChE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,+DAA+D;QAC/D,uCAAuC;QACvC,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,mCAAmC;IACnC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YAC9D,+CAA+C;YAC/C,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,2DAA2D;gBAC3D,mDAAmD;gBACnD,uDAAuD;gBACvD,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACzC,CAAC;YAED,qBAAqB;YACrB,OAAO,QAAQ,KAAK,aAAa,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,MAAM,IAAI,iBAAiB,CAC1B,WAAW,QAAQ,0CAA0C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC/F,qGAAqG,CAAC,CAAC;QACzG,CAAC;IACF,CAAC;IAED,wCAAwC;IACxC,OAAO,IAAI,CAAC;AACb,CAAC;AAAA,CAAC"}