Add support for on-device packages in MCP Registry
- Introduced
on_deviceregistry type for pre-installed servers. - Added optional
manifestand__dirnamefields in package objects. - Updated validation logic to accept on-device packages without remote checks.
- Enhanced documentation and examples for on-device server usage.
Motivation and Context
How Has This Been Tested?
Breaking Changes
Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [x] Documentation update
Checklist
- [x] I have read the MCP Documentation
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [x] I have added appropriate error handling
- [x] I have added or updated documentation as needed
Additional context
thanks @domdomegg! Starting with the manifest (+ __dirname) in the server's _meta sounds good, we can re-evaluate promoting that based on adoption.
Ideally, package would have its own _meta so that we could add it there instead of at the server level. Any idea why that's not present?
I'll update the PR to put it in server._meta for now.
Ideally,
packagewould have its own_metaso that we could add it there instead of at the server level. Any idea why that's not present?I'll update the PR to put it in
server._metafor now.
I think for now we wanted to keep it on the higher level so we don't bloat the format. For example on our side, we handle package specific meta by having a map of extensions under the _meta vendor which we map like - map[package]:{}
Hmm some of the MCPB tests are failing in CI - are you able to look into these and fix them?