feat(mcpservers): selfHostedEnvVarTypes schema, column metadata and validation (DBIP #3683) - #3698
Open
foxxx009 wants to merge 1 commit into
Open
Conversation
…and validation Implements the schema/tooling part of DBIP Chain-Love#3683 (per-variable types for required self-hosted MCP configuration). - schema.json: add optional selfHostedEnvVarTypes object to $defs/mcpservers (additionalProperties restricted to the six allowed labels) - meta/columns.json: add the selfHostedEnvVarTypes column metadata entry - tools/csv_to_json.py: * reject duplicate object members in selfHostedEnvVarTypes cells before ordinary JSON parsing can silently discard them * validate resolved rows: non-empty maps require hostingType=Self-hosted, keys must exactly match the resolved selfHostedRequiredEnvVars list (case-sensitive), labels must be one of the six allowed values * blank/whole-cell null inherit from the referenced offer under the existing normalize/resolve_offers semantics; an explicit object (or {}) replaces the inherited map as a whole Full pipeline verified locally: validate_csv, csv_to_json and validate all pass on the current data, and negative cases (duplicate members, undeclared names, unsupported labels, hosted servers with non-empty maps) are rejected.
9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the schema/tooling part of DBIP #3683 ([DBIP] Add per-variable types for required self-hosted MCP configuration): an optional
selfHostedEnvVarTypescolumn for themcpserverstable that classifies each documented required environment variable of a self-hosted MCP server.Type of change
Scope
mcpservers)Changes by file
tools/schema.json: adds optionalselfHostedEnvVarTypesobject to$defs/mcpservers; member values are restricted to the six allowed labels (api-key,wallet-private-key,wallet-mnemonic,access-token,other-secret,non-secret). Not added torequired, so all legacy rows remain valid.meta/columns.json: adds the matching column metadata entry (groupsecurity), sorule_meta_columns_consistentaccepts the new column.tools/csv_to_json.py:selfHostedEnvVarTypescell are rejected before ordinary JSON parsing can silently discard them;hostingType=Self-hosted, every key must exactly match (case-sensitive) a name in the resolvedselfHostedRequiredEnvVarslist, and every label must be one of the six allowed values (also enforced by the schema);nullnormalize toNoneand inherit from the referenced offer under the existingnormalize/resolve_offerssemantics; an explicitly supplied object replaces the inherited map as a whole (not merged key by key), and an explicit{}clears inherited classifications without changing the required-variable list. The final map is validated against the final required-variable list after resolution.Wiki (MCP Servers page) - proposed text for the maintainers to apply
Validation performed
maindata plus the pilot cell:validate_csv.py,csv_to_json.pyandvalidate.pyall pass.Links
mainfollows; its required CI check needs this schema change merged first)Validation checklist
Optional
Rewards address: 0x2409b47a530be3831158f10b08ac93f7d08c1ff2