Skip to content

mcp-publisher v1.0.0: init template uses snake_case but API expects camelCase #1086

Description

@FrancyJGLisboa

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

  1. mcp-publisher init → generates template with registry_type, registry_base_url, environment_variables, status
  2. Fill in the template
  3. mcp-publisher login github-oidc (in GitHub Actions with id-token: write)
  4. 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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions