[Schema Consistency] Main Schema Missing 4 Critical MCP Properties (registry, allowed, entrypoint, mounts) #11706
Replies: 2 comments 1 reply
-
|
/plan |
Beta Was this translation helpful? Give feedback.
-
Plan Created ✅I've analyzed the schema consistency findings and created 5 actionable sub-issues to address all 7 critical issues identified: Issues Created
StrategyAll issues are focused, actionable, and can be assigned to GitHub Copilot agents. They follow a logical sequence:
The issues will be automatically grouped under a parent tracking issue. Each has clear acceptance criteria and references the specific files and line numbers from the audit. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Schema Consistency Check - January 24, 2026
Summary
Critical Issues (7 found)
1. Main Schema Missing Implemented MCP Properties
The
main_workflow_schema.jsontools.additionalProperties (lines 3398-3477) is missing 4 properties that ARE implemented in the parser and actively used:Missing Properties:
registry(string)allowed(array of strings)entrypoint(string)mounts(array with pattern)2. Schema Duplication Without $ref
The main schema duplicates MCP properties inline instead of using
$refto referencemcp_config_schema.json, causing:3. Pattern Constraint Mismatches
Environment Variable Pattern:
^[A-Za-z_][A-Za-z0-9_]*$(allows lowercase)^[A-Z_][A-Z0-9_]*$(uppercase only)Container Image Pattern:
^[a-zA-Z0-9][a-zA-Z0-9/:_.-]*$4. Validation Constraint Mismatches
URL/Command fields:
5. additionalProperties Conflict
additionalProperties: true(permissive)additionalProperties: false(strict)6. Undocumented "mode" Property
modeandtypewith identical enum valuestypemodeis alias, deprecated, or workflow-specific7. Enum Value Mismatch
type/mode: Includes"remote"type: Does NOT include"remote"Documentation Gaps
Fields Documented But Not in Main Schema
allowed- Documented in docs/reference/tools.md and compilation-process.mdentrypoint- Documented in docs/reference/mcp-gateway.mdmounts- Extensively documented in mcp-gateway.md (Section 4.1.5)Fields NOT Documented Anywhere
registry- Implemented and tested but NO end-user documentationSchema Improvements Needed
Priority 1: Add Missing Properties to Main Schema
Update
pkg/parser/schemas/main_workflow_schema.jsonlines 3398-3477 to include:{ "registry": { "type": "string", "description": "URI to the installation location when MCP is installed from a registry", "examples": ["https://api.mcp.github.com/v0/servers/microsoft/markitdown"] }, "entrypoint": { "type": "string", "description": "Optional entrypoint override for container (equivalent to docker run --entrypoint)", "examples": ["/bin/sh", "/custom/entrypoint.sh", "python"] }, "mounts": { "type": "array", "items": { "type": "string", "pattern": "^[^:]+:[^:]+:(ro|rw)$" }, "description": "Volume mounts for container (format: 'source:dest:mode' where mode is 'ro' or 'rw')", "examples": [["/host/(redacted) "/tmp/cache:/app/cache:rw"]] }, "allowed": { "type": "array", "items": {"type": "string"}, "description": "List of allowed tool names for this MCP server", "examples": [["*"], ["store_memory", "retrieve_memory"], ["brave_web_search"]] } }Priority 2: Align Pattern Constraints
^[A-Z_][A-Z0-9_]*$(POSIX standard)^[a-zA-Z0-9][a-zA-Z0-9/:_.-]*$to main schemaminLength: 1to main schemaPriority 3: Consider Using $ref
Replace inline duplication with schema reference to eliminate maintenance burden and ensure consistency.
Priority 4: Clarify "mode" Property
Document or deprecate - unclear if it's an alias for
type, workflow-specific, or obsolete.Parser Updates Required
None - implementation is already complete and correct. This is a schema documentation gap only.
✅ All 4 missing properties implemented
✅ Parser extracts fields correctly
✅ Compiler processes them correctly
✅ Extensive test coverage exists
Recommendations
Immediate Actions (This Week)
registryfield in user guidesShort-term Actions (Next Sprint)
modepropertyLong-term Strategy
Strategy Performance
Key Insights:
References:
Beta Was this translation helpful? Give feedback.
All reactions