Skip to content

Clean MCP outputSchema refs for Trust Verification tools #22

@GsCommand

Description

@GsCommand

Clean up MCP tool schemas so $ref objects stand alone without sibling description fields.

Context:
clas_trust_verify is conceptually valid, but for protocol-clean JSON Schema/MCP compatibility the outputSchema object should be only:

"outputSchema": {
  "$ref": "./verify.receipt.schema.json"
}

Do not keep description as a sibling beside $ref, because some JSON Schema/MCP tooling treats $ref as replacing the whole object and may ignore or reject siblings.

Task:

  1. Inspect all files matching:
    schemas/trust-verification/*/*.mcp.tool.schema.json
  2. Find any inputSchema or outputSchema objects where $ref has sibling fields such as description.
  3. Remove sibling fields beside $ref from those schema ref objects.
  4. Keep top-level tool description fields intact.
  5. Do not modify request schemas, receipt schemas, OpenAPI files, examples, or manifest unless necessary.
  6. Validate every MCP tool schema parses as JSON.
  7. Run available validation scripts, including npm run validate:trust-verification if applicable.

Expected clean pattern:

{
  "name": "clas_trust_verify",
  "title": "CLAS Trust Verify",
  "description": "Verify a claim, artifact, receipt, credential, identity, or action. Successful execution returns a CLAS verify receipt.",
  "inputSchema": {
    "$ref": "./verify.request.schema.json"
  },
  "outputSchema": {
    "$ref": "./verify.receipt.schema.json"
  },
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": true
  }
}

Report:

  • files changed
  • any ref siblings removed
  • validation results
  • any remaining issues

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions