| Filename | Latest commit message | Latest commit date |
|---|---|---|
## Summary
Updates the `_meta` field structure to be compliant with the MCP
specification by using proper `prefix/name` format for vendor
extensions.
### Changes
- **Registry metadata**: `io.modelcontextprotocol.registry` →
`io.modelcontextprotocol.registry/official`
- **Publisher metadata**: `publisher` →
`io.modelcontextprotocol.registry/publisher-provided`
- **Database migration**: Updates indexes to use new field paths
- **Updated all code**: Service layer, validators, tests, and seed data
### Format Before
```json
{
"_meta": {
"publisher": { "license": "MIT" },
"io.modelcontextprotocol.registry": { "id": "...", "is_latest": true }
}
}
```
### Format After
```json
{
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": { "license": "MIT" },
"io.modelcontextprotocol.registry/official": { "id": "...", "is_latest": true }
}
}
```
This resolves the naming collision with the planned top-level
`publisher` field and ensures compliance with MCP specification
requirements.
Fixes #356
|
||
| .. | ||
| docker-compose.integration-test.yml | ||
| main.go | ||
| README.md | ||
| run.sh | ||
Integration Test
This directory contains an end-to-end test for publishing to the registry.
What the Test Covers
- Publisher Tool: Tests the
publisherCLI that publishes metadata to the registry - Registry API: Validates the
/v0/publishand/v0/servers/{id}endpoints work correctly - Example Validation: Ensures all example JSON in
docs/reference/server-json/generic-server-json.mdis valid and can be published - Data Consistency: Verifies published data matches what's retrieved from the registry
Test Flow
- Build: Build
publisherandregistry - Start Services: Launch registry and MongoDB using Docker Compose with test configuration
- Publish Examples: Extract JSON examples from documentation and run
publisherto publish each one - Validate Responses: GET each published server from the registry and compare it to the example JSON
- Cleanup: Stop Docker containers and remove temporary files
How to Run
Prerequisites
- Docker and Docker Compose
- Go 1.24
- Make sure you're in the repository root directory
Run the Tests
./tests/integration/run.sh