@intlayer/docs 8.9.4-canary.0 → 8.9.4

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 (44) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +20 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +20 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +1 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/mcp_server.md +30 -17
  8. package/docs/ar/plugins/sync-po.md +354 -0
  9. package/docs/de/mcp_server.md +29 -16
  10. package/docs/de/plugins/sync-po.md +354 -0
  11. package/docs/en/mcp_server.md +31 -18
  12. package/docs/en/plugins/sync-po.md +354 -0
  13. package/docs/en-GB/mcp_server.md +31 -18
  14. package/docs/en-GB/plugins/sync-po.md +354 -0
  15. package/docs/es/mcp_server.md +30 -17
  16. package/docs/es/plugins/sync-po.md +354 -0
  17. package/docs/fr/mcp_server.md +30 -17
  18. package/docs/fr/plugins/sync-po.md +354 -0
  19. package/docs/hi/mcp_server.md +31 -18
  20. package/docs/hi/plugins/sync-po.md +354 -0
  21. package/docs/id/mcp_server.md +30 -17
  22. package/docs/id/plugins/sync-po.md +354 -0
  23. package/docs/it/mcp_server.md +30 -17
  24. package/docs/it/plugins/sync-po.md +354 -0
  25. package/docs/ja/mcp_server.md +29 -16
  26. package/docs/ja/plugins/sync-po.md +354 -0
  27. package/docs/ko/mcp_server.md +31 -18
  28. package/docs/ko/plugins/sync-po.md +354 -0
  29. package/docs/pl/mcp_server.md +30 -17
  30. package/docs/pl/plugins/sync-po.md +354 -0
  31. package/docs/pt/mcp_server.md +30 -17
  32. package/docs/pt/plugins/sync-po.md +354 -0
  33. package/docs/ru/mcp_server.md +30 -17
  34. package/docs/ru/plugins/sync-po.md +354 -0
  35. package/docs/tr/mcp_server.md +31 -18
  36. package/docs/tr/plugins/sync-po.md +354 -0
  37. package/docs/uk/mcp_server.md +29 -16
  38. package/docs/uk/plugins/sync-po.md +354 -0
  39. package/docs/vi/mcp_server.md +30 -17
  40. package/docs/vi/plugins/sync-po.md +354 -0
  41. package/docs/zh/mcp_server.md +31 -18
  42. package/docs/zh/plugins/sync-po.md +354 -0
  43. package/package.json +6 -6
  44. package/src/generated/docs.entry.ts +20 -0
@@ -0,0 +1,354 @@
1
+ ---
2
+ createdAt: 2026-05-10
3
+ updatedAt: 2026-05-10
4
+ title: Плагін Sync PO
5
+ description: Синхронізуйте словники Intlayer з файлами Gettext PO. Зберігайте існуючу i18n, використовуючи Intlayer для керування, перекладу та тестування ваших повідомлень.
6
+ keywords:
7
+ - Intlayer
8
+ - Sync PO
9
+ - Gettext
10
+ - i18n
11
+ - переклади
12
+ slugs:
13
+ - doc
14
+ - plugin
15
+ - sync-po
16
+ youtubeVideo: https://www.youtube.com/watch?v=MpGMxniDHNg
17
+ history:
18
+ - version: 8.9.4
19
+ date: 2026-05-10
20
+ changes: "Початкова документація плагіна Sync PO"
21
+ ---
22
+
23
+ # Sync PO (i18n мости) - Синхронізація PO з підтримкою ICU / i18next
24
+
25
+ Використовуйте Intlayer як доповнення до вашого існуючого стека i18n. Цей плагін синхронізує ваші повідомлення Gettext PO зі словниками Intlayer, щоб ви могли:
26
+
27
+ - Зберігати існуючий робочий процес перекладу на основі PO.
28
+ - Керувати та перекладати свої повідомлення за допомогою Intlayer (CLI, CI, провайдери, CMS) без рефакторингу вашого додатка.
29
+ - Випускати навчальні посібники та SEO-контент для кожної екосистеми, пропонуючи Intlayer як рівень керування PO.
30
+
31
+ Примітки та поточна область застосування:
32
+
33
+ - Екстерналізація в CMS працює для перекладів та класичного тексту.
34
+ - Поки немає підтримки вставок, множини/ICU або розширених функцій середовища виконання інших бібліотек всередині самих записів PO.
35
+ - Візуальний редактор поки не підтримується для сторонніх вихідних даних i18n.
36
+
37
+ ### Коли використовувати цей плагін
38
+
39
+ - Ви вже використовуєте файли Gettext PO для своїх перекладів.
40
+ - Ви хочете використовувати заповнення за допомогою ШІ, тестування в CI та операції з контентом без зміни середовища виконання рендерингу.
41
+
42
+ ## Встановлення
43
+
44
+ ```bash
45
+ pnpm add -D @intlayer/sync-po-plugin
46
+ # або
47
+ npm i -D @intlayer/sync-po-plugin
48
+ ```
49
+
50
+ ## Плагіни
51
+
52
+ Цей пакет надає два плагіни:
53
+
54
+ - `loadPO`: Завантаження PO-файлів у словники Intlayer.
55
+ - Цей плагін використовується для завантаження PO-файлів з джерела, і вони будуть додані до словників Intlayer. Він може сканувати всю кодову базу та шукати певні PO-файли.
56
+ Цей плагін можна використовувати:
57
+ - якщо ви використовуєте бібліотеку i18n, яка нав'язує певне місце розташування для завантаження ваших PO-файлів, але ви хочете розмістити оголошення контенту там, де вам зручно у вашій кодовій базі.
58
+ - Його також можна використовувати, якщо ви хочете отримувати свої повідомлення з віддаленого джерела (наприклад: CMS, API тощо) і зберігати свої повідомлення в PO-файлах.
59
+
60
+ > Під капотом цей плагін сканує всю кодову базу, шукає певні PO-файли та завантажує їх у словники Intlayer.
61
+ > Зверніть увагу, що цей плагін не записує вивід та переклади назад у PO-файли.
62
+
63
+ - `syncPO`: Синхронізація PO-файлів зі словниками Intlayer.
64
+ - Цей плагін використовується для синхронізації PO-файлів зі словниками Intlayer. Він може сканувати задане місце розташування та завантажувати PO, що відповідають шаблону для певних PO-файлів. Цей плагін корисний, якщо ви хочете отримати переваги Intlayer, використовуючи іншу бібліотеку i18n.
65
+
66
+ ## Використання обох плагінів
67
+
68
+ ```ts fileName="intlayer.config.ts"
69
+ import { Locales, type IntlayerConfig } from "intlayer";
70
+ import { loadPO, syncPO } from "@intlayer/sync-po-plugin";
71
+
72
+ const config: IntlayerConfig = {
73
+ internationalization: {
74
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
75
+ defaultLocale: Locales.ENGLISH,
76
+ },
77
+
78
+ // Синхронізація поточних PO-файлів зі словниками Intlayer
79
+ plugins: [
80
+ /**
81
+ * Завантажить усі PO-файли в src, що відповідають шаблону {key}.i18n.po
82
+ */
83
+ loadPO({
84
+ source: ({ key }) => `./src/**/${key}.i18n.po`,
85
+ locale: Locales.ENGLISH,
86
+ priority: 1, // Гарантує, що ці PO-файли мають пріоритет над файлами в `./locales/en/${key}.po`
87
+ }),
88
+ /**
89
+ * Завантажить та запише вивід та переклади назад у PO-файли в каталозі locales
90
+ */
91
+ syncPO({
92
+ source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
93
+ priority: 0,
94
+ }),
95
+ ],
96
+ };
97
+
98
+ export default config;
99
+ ```
100
+
101
+ ## Плагін `syncPO`
102
+
103
+ ### Швидкий старт
104
+
105
+ Додайте плагін у свій `intlayer.config.ts` та вкажіть на існуючу структуру PO.
106
+
107
+ ```ts fileName="intlayer.config.ts"
108
+ import { Locales, type IntlayerConfig } from "intlayer";
109
+ import { syncPO } from "@intlayer/sync-po-plugin";
110
+
111
+ const config: IntlayerConfig = {
112
+ internationalization: {
113
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
114
+ defaultLocale: Locales.ENGLISH,
115
+ },
116
+
117
+ // Синхронізація поточних PO-файлів зі словниками Intlayer
118
+ plugins: [
119
+ syncPO({
120
+ // Структура за локалями та просторами імен
121
+ source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
122
+ }),
123
+ ],
124
+ };
125
+
126
+ export default config;
127
+ ```
128
+
129
+ Альтернатива: один файл на локаль:
130
+
131
+ ```ts fileName="intlayer.config.ts"
132
+ import { Locales, type IntlayerConfig } from "intlayer";
133
+ import { syncPO } from "@intlayer/sync-po-plugin";
134
+
135
+ const config: IntlayerConfig = {
136
+ internationalization: {
137
+ locales: [Locales.ENGLISH, Locales.FRENCH],
138
+ defaultLocale: Locales.ENGLISH,
139
+ },
140
+ plugins: [
141
+ syncPO({
142
+ source: ({ locale }) => `./locales/${locale}.po`,
143
+ }),
144
+ ],
145
+ };
146
+
147
+ export default config;
148
+ ```
149
+
150
+ #### Як це працює
151
+
152
+ - Читання: плагін виявляє PO-файли за допомогою вашого збірника `source` та завантажує їх як словники Intlayer.
153
+ - Запис: після збірки та заповнення він записує локалізовані PO назад за тими ж шляхами (з правильними заголовками Gettext).
154
+ - Автозаповнення: плагін оголошує шлях `autoFill` для кожного словника. Запуск `intlayer fill` за замовчуванням оновлює лише відсутні переклади у ваших PO-файлах.
155
+
156
+ API:
157
+
158
+ ```ts
159
+ syncPO({
160
+ source: ({ key, locale }) => string, // обов'язково
161
+ location?: string, // необов'язкова мітка, за замовчуванням: "sync-po::path/to/source"
162
+ priority?: number, // необов'язковий пріоритет для вирішення конфліктів, за замовчуванням: 0
163
+ format?: 'icu' | 'i18next' | 'vue-i18n', // необов'язково, потрібно лише якщо значення msgstr використовують специфічний синтаксис інтерполяції
164
+ });
165
+ ```
166
+
167
+ #### `format` ('icu' | 'i18next' | 'vue-i18n')
168
+
169
+ PO-файли — це завжди файли Gettext Portable Object — це фіксовано. Цей параметр описує лише **синтаксис інтерполяції**, що використовується всередині значень `msgstr`, щоб Intlayer міг перетворити їх у свій власний формат під час розбору (через `formatDictionary`) та назад під час запису виводу.
170
+
171
+ - `undefined` _(за замовчуванням)_: значення `msgstr` обробляються як звичайні рядки — без перетворення. Використовуйте це для більшості PO-файлів.
172
+ - `'icu'`: значення `msgstr` використовують синтаксис повідомлень ICU (наприклад, `{count, plural, one {# item} other {# items}}`).
173
+ - `'i18next'`: значення `msgstr` використовують синтаксис інтерполяції i18next (наприклад, `{{variable}}`).
174
+ - `'vue-i18n'`: значення `msgstr` використовують синтаксис Vue I18n.
175
+
176
+ > Перетворення застосовується функцією `formatDictionary` плагіна `@intlayer/chokidar` під час завантаження та повертається функцією `formatDictionaryOutput` під час запису. Для складних правил, таких як множина ICU, точність зворотного перетворення не гарантується.
177
+
178
+ **Приклад — PO-файли містять інтерполяцію в стилі i18next:**
179
+
180
+ ```ts
181
+ syncPO({
182
+ source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
183
+ format: "i18next",
184
+ }),
185
+ ```
186
+
187
+ ### Кілька джерел PO та пріоритет
188
+
189
+ Ви можете додати кілька плагінів `syncPO` для синхронізації різних джерел PO. Це корисно, коли у вас є кілька джерел перекладу або різні структури PO у вашому проекті.
190
+
191
+ #### Система пріоритетів
192
+
193
+ Коли кілька плагінів націлені на один і той же ключ словника, параметр `priority` визначає, який плагін має перевагу:
194
+
195
+ - Вищі числа пріоритету перемагають нижчі
196
+ - Пріоритет файлів `.content` за замовчуванням дорівнює `0`
197
+ - Пріоритет плагінів за замовчуванням дорівнює `0`
198
+ - Плагіни з однаковим пріоритетом обробляються в тому порядку, в якому вони з'являються в конфігурації
199
+
200
+ ```ts fileName="intlayer.config.ts"
201
+ import { Locales, type IntlayerConfig } from "intlayer";
202
+ import { syncPO } from "@intlayer/sync-po-plugin";
203
+
204
+ const config: IntlayerConfig = {
205
+ internationalization: {
206
+ locales: [Locales.ENGLISH, Locales.FRENCH],
207
+ defaultLocale: Locales.ENGLISH,
208
+ },
209
+
210
+ plugins: [
211
+ // Основне джерело PO (найвищий пріоритет)
212
+ syncPO({
213
+ source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
214
+ location: "main-translations",
215
+ priority: 10,
216
+ }),
217
+
218
+ // Резервне джерело PO (нижчий пріоритет)
219
+ syncPO({
220
+ source: ({ locale }) => `./fallback-locales/${locale}.po`,
221
+ location: "fallback-translations",
222
+ priority: 5,
223
+ }),
224
+
225
+ // Застаріле джерело PO (найнижчий пріоритет)
226
+ syncPO({
227
+ source: ({ locale }) => `/my/other/app/legacy/${locale}/messages.po`,
228
+ location: "legacy-translations",
229
+ priority: 1,
230
+ }),
231
+ ],
232
+ };
233
+
234
+ export default config;
235
+ ```
236
+
237
+ ## Плагін Load PO
238
+
239
+ ### Швидкий старт
240
+
241
+ Додайте плагін у свій `intlayer.config.ts`, щоб поглинати існуючі PO-файли як словники Intlayer. Цей плагін працює тільки на читання (без запису на диск):
242
+
243
+ ```ts fileName="intlayer.config.ts"
244
+ import { Locales, type IntlayerConfig } from "intlayer";
245
+ import { loadPO } from "@intlayer/sync-po-plugin";
246
+
247
+ const config: IntlayerConfig = {
248
+ internationalization: {
249
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
250
+ defaultLocale: Locales.ENGLISH,
251
+ },
252
+
253
+ plugins: [
254
+ // Поглинання повідомлень PO, розташованих у будь-якому місці вашого дерева вихідних кодів
255
+ loadPO({
256
+ source: ({ key }) => `./src/**/${key}.i18n.po`,
257
+ // Завантаження однієї локалі на екземпляр плагіна (за замовчуванням використовується defaultLocale з конфігурації)
258
+ locale: Locales.ENGLISH,
259
+ priority: 0,
260
+ }),
261
+ ],
262
+ };
263
+
264
+ export default config;
265
+ ```
266
+
267
+ Альтернатива: структура за локалями, все ще тільки для читання (завантажується тільки вибрана локаль):
268
+
269
+ ```ts fileName="intlayer.config.ts"
270
+ import { Locales, type IntlayerConfig } from "intlayer";
271
+ import { loadPO } from "@intlayer/sync-po-plugin";
272
+
273
+ const config: IntlayerConfig = {
274
+ internationalization: {
275
+ locales: [Locales.ENGLISH, Locales.FRENCH],
276
+ defaultLocale: Locales.ENGLISH,
277
+ },
278
+ plugins: [
279
+ loadPO({
280
+ // Тільки файли для Locales.UKRAINIAN будуть завантажені за цим шаблоном
281
+ source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
282
+ locale: Locales.UKRAINIAN,
283
+ }),
284
+ ],
285
+ };
286
+
287
+ export default config;
288
+ ```
289
+
290
+ ### Як це працює
291
+
292
+ - Виявлення: створює glob з вашого збірника `source` та збирає відповідні PO-файли.
293
+ - Поглинання: завантажує кожен PO-файл як словник Intlayer з вказаною локаллю `locale`.
294
+ - Тільки читання: не записує та не форматує вихідні файли; використовуйте `syncPO`, якщо вам потрібна двостороння синхронізація.
295
+ - Готовність до автозаповнення: визначає шлях `fill`, щоб `intlayer content fill` міг заповнити відсутні ключі.
296
+
297
+ ### API
298
+
299
+ ```ts
300
+ loadPO({
301
+ // Збірка шляхів до ваших PO. `locale` необов'язковий, якщо у вашій структурі немає сегмента локалі
302
+ source: ({ key, locale }) => string,
303
+
304
+ // Цільова локаль для словників, що завантажуються цим екземпляром плагіна
305
+ // За замовчуванням використовується configuration.internationalization.defaultLocale
306
+ locale?: Locale,
307
+
308
+ // Необов'язкова мітка для ідентифікації джерела
309
+ location?: string, // за замовчуванням: "plugin"
310
+
311
+ // Пріоритет, що використовується для вирішення конфліктів з іншими джерелами
312
+ priority?: number, // за замовчуванням: 0
313
+ });
314
+ ```
315
+
316
+ ### Поведінка та угоди
317
+
318
+ - Якщо ваша маска `source` включає заповнювач локалі, поглинаються лише файли для вибраної локалі `locale`.
319
+ - Якщо у вашій масці немає сегмента `{key}`, ключем словника буде "index".
320
+ - Ключі отримуються зі шляхів до файлів шляхом заміни заповнювача `{key}` у вашому збірнику `source`.
321
+ - Плагін використовує лише виявлені файли та не створює відсутні локалі або ключі.
322
+ - Шлях `fill` виводиться з вашого `source` і використовується для оновлення відсутніх значень через CLI, коли ви погоджуєтесь.
323
+
324
+ ## Вирішення конфліктів
325
+
326
+ Коли один і той же ключ перекладу існує в кількох джерелах PO:
327
+
328
+ 1. Плагін з найвищим пріоритетом визначає кінцеве значення.
329
+ 2. Джерела з нижчим пріоритетом використовуються як резервні для відсутніх ключів.
330
+ 3. Це дозволяє вам зберігати застарілі переклади, поступово переходячи на нові структури.
331
+
332
+ ## CLI
333
+
334
+ Синхронізовані PO-файли будуть розглядатися так само, як і інші файли `.content`. Це означає, що для синхронізованих PO-файлів будуть доступні всі команди intlayer. Включаючи:
335
+
336
+ - `intlayer content test` для перевірки наявності відсутніх перекладів
337
+ - `intlayer content list` для виведення списку синхронізованих PO-файлов
338
+ - `intlayer content fill` для заповнення відсутніх перекладів
339
+ - `intlayer content push` для відправки синхронізованих PO-файлов
340
+ - `intlayer content pull` для отримання синхронізованих PO-файлов
341
+
342
+ Див. [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md) для отримання детальнішої інформації.
343
+
344
+ ## Обмеження (поточні)
345
+
346
+ - Відсутність підтримки вставок або множини/ICU при націлюванні на сторонні бібліотеки.
347
+ - Візуальний редактор поки недоступний для середовищ виконання, відмінних від Intlayer.
348
+ - Тільки синхронізація PO; формати каталогів, відмінні від PO, не підтримуються.
349
+
350
+ ## Чому це важливо
351
+
352
+ - Ми можемо рекомендувати встановлені рішення i18n і позиціонувати Intlayer як доповнення.
353
+ - Ми використовуємо їх SEO/ключові слова з навчальними посібниками, які закінчуються пропозицією використовувати Intlayer для керування PO.
354
+ - Розширює цільову аудиторію з «нових проектів» до «будь-якої команди, що вже використовує i18n».
@@ -23,7 +23,7 @@ history:
23
23
  changes: "Thêm thiết lập Claude Desktop"
24
24
  - version: 5.5.12
25
25
  date: 2025-07-10
26
- changes: "Thêm giao thức SSE và máy chủ từ xa"
26
+ changes: "Thêm giao thức Streamable HTTP và máy chủ từ xa"
27
27
  - version: 5.5.10
28
28
  date: 2025-06-29
29
29
  changes: "Khởi tạo lịch sử"
@@ -51,12 +51,12 @@ Bằng cách kích hoạt Máy chủ Intlayer MCP trong IDE của bạn, bạn s
51
51
 
52
52
  > Xem danh sách đầy đủ các lệnh và tùy chọn trong [tài liệu Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/index.md).
53
53
 
54
- ## Máy chủ cục bộ (stdio) và máy chủ từ xa (SSE)
54
+ ## Máy chủ cục bộ (stdio) và máy chủ từ xa (Streamable HTTP)
55
55
 
56
56
  Máy chủ MCP có thể được sử dụng theo hai cách:
57
57
 
58
58
  - Máy chủ cục bộ (stdio)
59
- - Máy chủ từ xa (SSE)
59
+ - Máy chủ từ xa (Streamable HTTP)
60
60
 
61
61
  ### Máy chủ cục bộ (stdio) (khuyến nghị)
62
62
 
@@ -64,7 +64,7 @@ Intlayer cung cấp một gói NPM có thể được cài đặt cục bộ tr
64
64
 
65
65
  Máy chủ này là cách được khuyến nghị để sử dụng máy chủ MCP. Vì nó tích hợp tất cả các tính năng của máy chủ MCP, bao gồm cả các công cụ CLI.
66
66
 
67
- ### Máy chủ từ xa (SSE)
67
+ ### Máy chủ từ xa (Streamable HTTP)
68
68
 
69
69
  Máy chủ MCP cũng có thể được sử dụng từ xa, sử dụng phương thức truyền SSE. Máy chủ này được Intlayer lưu trữ và có sẵn tại https://mcp.intlayer.org. Máy chủ này có thể truy cập công khai, không cần xác thực, và miễn phí sử dụng.
70
70
 
@@ -97,7 +97,7 @@ bun x intlayer init mcp
97
97
  Lệnh này sẽ:
98
98
 
99
99
  1. Hỏi bạn đang sử dụng nền tảng nào (Cursor, VS Code, Claude Desktop, v.v.).
100
- 2. Hỏi bạn muốn sử dụng phương thức vận chuyển nào (Máy chủ cục bộ (stdio) hoặc Máy chủ từ xa (SSE)).
100
+ 2. Hỏi bạn muốn sử dụng phương thức vận chuyển nào (Máy chủ cục bộ (stdio) hoặc Máy chủ từ xa (Streamable HTTP)).
101
101
  3. Tự động cập nhật tệp cấu hình của bạn (ví dụ: `.cursor/mcp.json`, `.vscode/mcp.json` hoặc cấu hình Claude Desktop chung).
102
102
 
103
103
  ---
@@ -107,7 +107,7 @@ Lệnh này sẽ:
107
107
  1. Mở Command Palette (Ctrl+Shift+P hoặc Cmd+Shift+P).
108
108
  2. Nhập `Intlayer: Setup AI Agent Skills`
109
109
  3. Chọn nền tảng bạn sử dụng (ví dụ: `VSC Code`, `Cursor`, `Windsurf`, `OpenCode`, `Claude Code`, `GitHub Copilot Workspace`, v.v.).
110
- 4. Chọn MCP để cài đặt (stdio, SSE)
110
+ 4. Chọn MCP để cài đặt (stdio, Streamable HTTP)
111
111
  5. Nhấn Enter.
112
112
 
113
113
  ---
@@ -131,16 +131,16 @@ Trong thư mục gốc dự án của bạn, thêm tệp cấu hình `.cursor/mc
131
131
  }
132
132
  ```
133
133
 
134
- ### Máy chủ từ xa (SSE)
134
+ ### Máy chủ từ xa (Streamable HTTP)
135
135
 
136
- Để kết nối với máy chủ Intlayer MCP từ xa sử dụng Server-Sent Events (SSE), bạn có thể cấu hình client MCP của mình để kết nối với dịch vụ được lưu trữ.
136
+ Để kết nối với máy chủ Intlayer MCP từ xa sử dụng Server-Sent Events (Streamable HTTP), bạn có thể cấu hình client MCP của mình để kết nối với dịch vụ được lưu trữ.
137
137
 
138
138
  ```json fileName=".cursor/mcp.json"
139
139
  {
140
140
  "mcpServers": {
141
- "intlayer": {
142
- "url": "https://mcp.intlayer.org",
143
- "transport": "sse"
141
+ "intlayer-sse": {
142
+ "command": "npx",
143
+ "args": ["-y", "mcp-remote@latest", "https://mcp.intlayer.org"]
144
144
  }
145
145
  }
146
146
  }
@@ -172,16 +172,16 @@ Tạo một file `.vscode/mcp.json` trong thư mục gốc dự án của bạn:
172
172
  }
173
173
  ```
174
174
 
175
- ### Máy chủ từ xa (SSE)
175
+ ### Máy chủ từ xa (Streamable HTTP)
176
176
 
177
- Để kết nối với máy chủ Intlayer MCP từ xa sử dụng Server-Sent Events (SSE), bạn có thể cấu hình client MCP của mình để kết nối với dịch vụ được lưu trữ.
177
+ Để kết nối với máy chủ Intlayer MCP từ xa sử dụng Server-Sent Events (Streamable HTTP), bạn có thể cấu hình client MCP của mình để kết nối với dịch vụ được lưu trữ.
178
178
 
179
179
  ```json fileName=".vscode/mcp.json"
180
180
  {
181
181
  "servers": {
182
- "intlayer": {
183
- "url": "https://mcp.intlayer.org",
184
- "type": "sse"
182
+ "intlayer-sse": {
183
+ "command": "npx",
184
+ "args": ["-y", "mcp-remote@latest", "https://mcp.intlayer.org"]
185
185
  }
186
186
  }
187
187
  }
@@ -191,7 +191,7 @@ Tạo một file `.vscode/mcp.json` trong thư mục gốc dự án của bạn:
191
191
 
192
192
  ## Cài đặt trong ChatGPT
193
193
 
194
- ### Máy chủ từ xa (SSE)
194
+ ### Máy chủ từ xa (Streamable HTTP)
195
195
 
196
196
  Theo dõi [tài liệu chính thức](https://platform.openai.com/docs/mcp#test-and-connect-your-mcp-server) để cấu hình máy chủ MCP trong ChatGPT.
197
197
 
@@ -232,6 +232,19 @@ Theo dõi [tài liệu chính thức](https://modelcontextprotocol.io/quickstart
232
232
  }
233
233
  ```
234
234
 
235
+ ### Máy chủ từ xa (Streamable HTTP)
236
+
237
+ ```json fileName="claude_desktop_config.json"
238
+ {
239
+ "mcpServers": {
240
+ "intlayer-sse": {
241
+ "command": "npx",
242
+ "args": ["-y", "mcp-remote@latest", "https://mcp.intlayer.org"]
243
+ }
244
+ }
245
+ }
246
+ ```
247
+
235
248
  ---
236
249
 
237
250
  ## Sử dụng MCP Server qua CLI