You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: MANIFEST.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ A basic `manifest.json` with just the required fields looks like this:
17
17
"description":"A simple MCP extension", // Brief description of what the extension does
18
18
"author": {
19
19
// Author information (required)
20
-
"name":"Extension Author"// Author's name (required field)
20
+
"name":"Extension Author",// Author's name (required field)
21
21
},
22
22
"server": {
23
23
// Server configuration (required)
@@ -28,10 +28,10 @@ A basic `manifest.json` with just the required fields looks like this:
28
28
"command":"node", // Command to run the server
29
29
"args": [
30
30
// Arguments passed to the command
31
-
"${__dirname}/server/index.js"// ${__dirname} is replaced with the extension's directory
32
-
]
33
-
}
34
-
}
31
+
"${__dirname}/server/index.js",// ${__dirname} is replaced with the extension's directory
32
+
],
33
+
},
34
+
},
35
35
}
36
36
```
37
37
@@ -212,12 +212,12 @@ A full `manifest.json` with most of the optional fields looks like this:
212
212
"type": "string"
213
213
}
214
214
}
215
-
},
215
+
}
216
216
}
217
217
}
218
218
]
219
219
}
220
-
},
220
+
}
221
221
}
222
222
}
223
223
}
@@ -254,7 +254,7 @@ A full `manifest.json` with most of the optional fields looks like this:
254
254
-**privacy_policies**: Array of URLs to privacy policies for external services that handle user data. Required when the extension connects to external services (first- or third-party) that process user data. Each URL should link to the respective service's privacy policy document.
255
255
-**compatibility**: Compatibility requirements (client app version, platforms, and runtime versions).
256
256
-**user_config**: User-configurable options for the extension (see User Configuration section).
257
-
-**_meta**: Platform-specific client integration metadata (e.g., Windows `package_family_name`, macOS bundle identifiers) enabling tighter OS/app store integration. The keys in the `_meta` object are reverse-DNS namespaced, and the values are a dictionary of platform-specific metadata.
257
+
-**\_meta**: Platform-specific client integration metadata (e.g., Windows `package_family_name`, macOS bundle identifiers) enabling tighter OS/app store integration. The keys in the `_meta` object are reverse-DNS namespaced, and the values are a dictionary of platform-specific metadata.
258
258
-**localization**: Location of translated strings for user-facing fields (`resources` path containing a `${locale}` placeholder and `default_locale`).
259
259
260
260
### Localization
@@ -268,15 +268,16 @@ Provide localized strings without bloating the manifest by pointing to external
268
268
}
269
269
```
270
270
271
-
-`resources` must include a `${locale}` placeholder. Clients resolve it relative to the server install directory.
271
+
-`resources` must include a `${locale}` placeholder. Clients resolve it relative to the server install directory.
272
272
- This property is optional, and its default value is **`mcpb-resources/${locale}.json`**.
273
273
-`default_locale` must be a valid [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) identifier such as `en-US` or `zh-Hans`.
274
274
- This property is optional, and its default value is `en-US`.
275
275
- Values for the default locale stay in the main manifest; localized files only need to contain overrides.
276
276
277
-
For tools and prompts, the descriptions are also localizable.
277
+
For tools and prompts, the descriptions are also localizable.
278
278
279
279
#### Client guidelines
280
+
280
281
- if a client wants to show tool or prompt descriptions in their UI, the client should look for the locale-specific description override in the corresponding per-locale file.
281
282
- clients should only look for tools/prompts present in the manifest.json, i.e. prompts and tools that only exist in the per-locale file should be ignored.
282
283
- Clients should apply locale fallbacks if the client/user locale is not represented by the server. For example, if the user is in the `es-UY` locale but the server does not include that per-locale file, the client should look for an approrpiate fallback, e.g. `es-MX` or `es-ES`, or fall back to the values in the manifest.
@@ -712,4 +713,3 @@ The `_generated` fields:
712
713
-**prompts_generated**: Server generates additional prompts beyond those listed (default: false)
713
714
714
715
This helps implementing apps understand that querying the server at runtime will reveal more capabilities than what's declared in the manifest.
0 commit comments