Skip to content

Commit 5b6929f

Browse files
committed
Refactor package registry documentation and schema: remove on-device specific fields and update changelog; those fields now go into _meta under com.microsoft.windows (or other vendor-specific namespace)
1 parent e0bd45c commit 5b6929f

File tree

6 files changed

+10
-29
lines changed

6 files changed

+10
-29
lines changed

docs/guides/contributing/add-package-registry.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ These steps may evolve as additional validations or details are discovered and m
3838
- Add your package registry base url to the `registryBaseUrl` example array.
3939
- Add the single-shot CLI command name to the `runtimeHint` example value array.
4040
- Update the [`openapi.yaml`](../../reference/api/openapi.yaml)
41-
- Add your package registry name to the `registryType` enum value array (not needed for `on_device`, which is already defined).
41+
- Add your package registry name to the `registryType` enum value array.
4242
- Add your package registry base url to the `registryBaseUrl` enum value array.
4343
- Add the single-shot CLI command name to the `runtimeHint` example value array.
4444
- Add a sample, minimal `server.json` to the [`server.json` examples](../../reference/server-json/generic-server-json.md).

docs/reference/api/openapi.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -337,13 +337,6 @@ components:
337337
description: A mapping of environment variables to be set when running the package.
338338
items:
339339
$ref: '#/components/schemas/KeyValueInput'
340-
manifest:
341-
type: object
342-
description: Optional embedded MCPB manifest describing an on-device server. Only used when registryType is 'on_device'.
343-
additionalProperties: true
344-
__dirname:
345-
type: string
346-
description: Optional local directory path containing the on-device server implementation (analogous to Node.js __dirname). Only used when registryType is 'on_device'.
347340

348341
Input:
349342
type: object

docs/reference/server-json/CHANGELOG.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ Changes to the server.json schema and format.
55
## Unreleased
66

77
### Added
8-
- Support for `on_device` `registryType` for pre-installed/system-managed MCP servers.
9-
- New optional `manifest` field on package objects (used with `on_device`) to embed an MCPB-style manifest.
10-
- New optional `__dirname` field on package objects to specify the local directory containing on-device server assets.
11-
8+
- Support for `on_device` `registryType` for pre-installed/system-managed MCP servers. For servers marked as such, registries provide MCPB manifests and `__dirname` in `server._meta`.
129

1310
## 2025-09-29
1411

docs/reference/server-json/generic-server-json.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,11 @@ Some platforms (e.g., an operating system distribution) may provide a catalog of
694694
"identifier": "com.example.troubleshooting",
695695
"version": "1.0.0",
696696
"runtimeHint": "odr.exe",
697-
"transport": { "type": "stdio" },
697+
"transport": { "type": "stdio" }
698+
}
699+
],
700+
"_meta": {
701+
"com.microsoft.windows": {
698702
"manifest": {
699703
"manifest_version": "0.2",
700704
"name": "troubleshooting-mcp-server",
@@ -703,7 +707,7 @@ Some platforms (e.g., an operating system distribution) may provide a catalog of
703707
"author": { "name": "ExampleOS" },
704708
"server": {
705709
"type": "binary",
706-
"entry_point": "C:\\Windows\\System32\\odr.exe",
710+
"entry_point": "odr.exe",
707711
"mcp_config": {
708712
"command": "odr.exe",
709713
"args": ["mcp", "--proxy", "troubleshooting-mcp-server"]
@@ -712,14 +716,14 @@ Some platforms (e.g., an operating system distribution) may provide a catalog of
712716
},
713717
"__dirname": "C:\\Windows\\System32\\mcp\\troubleshooting"
714718
}
715-
]
719+
}
716720
}
717721
```
718722

719723
Notes:
720724

721725
- `registryBaseUrl` is omitted because the package is not fetched remotely.
722-
- `manifest` embeds the MCPB-style metadata so clients have consistent information without a download.
726+
- `manifest` embeds the MCPB manifest so clients have consistent information without a download.
723727
- `__dirname` gives clients a stable local path if they need to resolve relative resources (optional).
724728
- Validation for `on_device` packages does not perform remote ownership checks; responsibility shifts to the platform distribution.
725729

docs/reference/server-json/server.schema.json

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,6 @@
192192
},
193193
"Package": {
194194
"properties": {
195-
"__dirname": {
196-
"description": "Optional local directory path containing the on-device server implementation (analogous to Node.js __dirname). Only used when registryType is 'on_device'.",
197-
"type": "string"
198-
},
199195
"environmentVariables": {
200196
"description": "A mapping of environment variables to be set when running the package.",
201197
"items": {
@@ -217,11 +213,6 @@
217213
],
218214
"type": "string"
219215
},
220-
"manifest": {
221-
"additionalProperties": true,
222-
"description": "Optional embedded MCPB manifest describing an on-device server. Only used when registryType is 'on_device'.",
223-
"type": "object"
224-
},
225216
"packageArguments": {
226217
"description": "A list of arguments to be passed to the package's binary.",
227218
"items": {

pkg/model/types.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,6 @@ type Package struct {
3131
RuntimeArguments []Argument `json:"runtimeArguments,omitempty"`
3232
PackageArguments []Argument `json:"packageArguments,omitempty"`
3333
EnvironmentVariables []KeyValueInput `json:"environmentVariables,omitempty"`
34-
// Manifest is an optional embedded MCPB manifest describing an on-device server. Only used when registryType == on_device.
35-
Manifest map[string]any `json:"manifest,omitempty"`
36-
// Dirname is the directory on the local filesystem containing the on-device server (mirrors Node.js __dirname semantics for discovery). Only used when registryType == on_device.
37-
Dirname string `json:"__dirname,omitempty"`
3834
}
3935

4036
// Repository represents a source code repository as defined in the spec

0 commit comments

Comments
 (0)