Summary
mcp-publisher init generates a server.json template with registry_type (snake_case), but the registry API rejects it and expects registryType (camelCase). The CLI does not convert between the two formats.
Steps to reproduce
mcp-publisher init → generates template with registry_type, registry_base_url, environment_variables, status
- Fill in the template
mcp-publisher login github-oidc (in GitHub Actions with id-token: write)
mcp-publisher publish server.json
Error
{
"title": "Unprocessable Entity",
"status": 422,
"detail": "validation failed",
"errors": [
{"message": "expected required property registryType to be present", "location": "body.packages[0]"},
{"message": "unexpected property", "location": "body.packages[0].registry_type"},
{"message": "unexpected property", "location": "body.packages[0].registry_base_url"},
{"message": "unexpected property", "location": "body.status"}
]
}
Expected behavior
Either:
- The CLI should convert snake_case fields to camelCase before sending to the API, or
- The init template should generate camelCase fields matching the API schema
Additional context
mcp-publisher version: v1.0.0
- Schema:
https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json
- Running in GitHub Actions with OIDC auth
Summary
mcp-publisher initgenerates aserver.jsontemplate withregistry_type(snake_case), but the registry API rejects it and expectsregistryType(camelCase). The CLI does not convert between the two formats.Steps to reproduce
mcp-publisher init→ generates template withregistry_type,registry_base_url,environment_variables,statusmcp-publisher login github-oidc(in GitHub Actions withid-token: write)mcp-publisher publish server.jsonError
{ "title": "Unprocessable Entity", "status": 422, "detail": "validation failed", "errors": [ {"message": "expected required property registryType to be present", "location": "body.packages[0]"}, {"message": "unexpected property", "location": "body.packages[0].registry_type"}, {"message": "unexpected property", "location": "body.packages[0].registry_base_url"}, {"message": "unexpected property", "location": "body.status"} ] }Expected behavior
Either:
Additional context
mcp-publisherversion: v1.0.0https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json