Strict 0.4 schema still requires server.mcp_config for uv type (contradicts spec + loose schema; incomplete fix of #201)

Open Beginner friendly
#263 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
typescript
Domain
cli, tooling

Research direction

Compare src/schemas/0.4.ts with src/schemas_loose/0.4.ts and MANIFEST.md:432, then run the described strict and loose schema reproduction. Verify that a 0.4 uv server without mcp_config is accepted by validateManifest and pack while the schemas remain consistent.

Written by the indexing model from the issue text.

Description

Summary

The strict 0.4 schema still requires server.mcp_config, which contradicts both MANIFEST.md and the loose schema for uv-type servers. This is the same failure as #201 (closed as completed) — but #201 was resolved by adding mcp_config to the hello-world-uv example, not by fixing the schema, so a spec-compliant UV extension without mcp_config still fails mcpb validate and mcpb pack.

Mechanism
  • MANIFEST.md:432 (uv server type): "mcp_config is optional (host manages execution)".
  • src/schemas_loose/0.4.ts:40: mcp_config: McpbManifestMcpConfigSchema.optional() (correct).
  • src/schemas/0.4.ts:39: mcp_config: McpbManifestMcpConfigSchemarequired.
  • validateManifest (src/node/validate.ts) and pack (src/cli/pack.ts) use the strict schema, so a UV manifest with no mcp_config is rejected.
Reproduction (executed)

A manifest_version: "0.4" manifest with server: { type: "uv", entry_point: "main.py" } and no mcp_config:

  • loose schema → success: true
  • strict schema → success: false, server.mcp_config: Required
Suggested fix

Make it optional in the strict schema to match the loose schema + spec:

mcp_config: McpbManifestMcpConfigSchema.optional(),

Ideally enforce it as required only for non-uv server types via .superRefine, but at minimum it must be optional so UV extensions validate. (Refs #201.)

Environment: current main (70fe3b3).

Dominant language
TypeScript
Stars
2.1k
Forks
210
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from modelcontextprotocol/mcpb

All issues in modelcontextprotocol/mcpb

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.