JSON Schemas
Machine-readable schemas for MCP server bundles and security verification.
mtf-extension.json
https://mpaktrust.org/schemas/mtf/v0.1/mtf-extension.json
MTF security extension schema for mcpb manifests. Validates the
_meta.org.mpaktrust namespace including permissions,
file hashes, signatures, and provenance fields.
Schema Preview
{
"$id": "https://mpaktrust.org/schemas/mtf/v0.1/mtf-extension.json",
"required": ["mtf_version"],
"properties": {
"mtf_version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" },
"level": { "type": "integer", "minimum": 1, "maximum": 4 },
"permissions": { "filesystem", "network", "environment", "subprocess", "native" },
"credentials": [{ "service", "scopes", "justification", "token_lifetime" }],
"files": [{ "path", "sha256", "size" }],
"source": { "commit", "signed" },
"build": { "builder", "reproducible" },
"signature": { "type", "bundle_path", "signer_identity" },
"attestation": { "type", "bundle_path" }
}
} report.json
https://mpaktrust.org/schemas/mtf/v0.1/report.json Verification report format from MTF scanners. Includes compliance level, risk score, per-control results, and detailed findings with remediation.
Schema Preview
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://mpaktrust.org/schemas/mtf/v0.1/report.json",
"properties": {
"schemaVersion": { "const": "0.1.0" },
"bundle": { ... },
"compliance": {
"level": 1-4,
"level_name": "Basic|Standard|Verified|Attested"
},
"risk_score": "NONE|LOW|MEDIUM|HIGH|CRITICAL",
"domains": { ... },
"findings": [ ... ]
}
} manifest.json
https://mpaktrust.org/schemas/mcpb/v0.4/manifest.json MCPB manifest schema (v0.4). Validates bundle metadata, server configuration, tools, prompts, user config, and compatibility declarations.
Schema Preview
{
"$schema": "http://json-schema.org/draft-07/schema#",
"required": ["name", "version", "description", "author", "server"],
"properties": {
"manifest_version": { "const": "0.4" },
"name": { "type": "string" },
"version": { "type": "string" },
"description": { "type": "string" },
"author": { "name", "email", "url" },
"server": { "type", "entry_point", "mcp_config" },
"tools": [{ "name", "description" }],
"prompts": [{ "name", "description", "text" }],
"user_config": { ... },
"compatibility": { "platforms", "runtimes" }
}
} Usage
MTF extends mcpb manifests. Add the extension under _meta.org.mpaktrust:
{
"manifest_version": "0.4",
"name": "@myorg/my-mcp-server",
"version": "1.0.0",
...
"_meta": {
"org.mpaktrust": {
"mtf_version": "0.1",
"level": 2,
"permissions": { ... }
}
}
} Two-Step Validation
Validation is two-step: first validate the base manifest against the mcpb schema, then validate the MTF extension:
# Step 1: Validate against mcpb schema (ensures bundle can execute)
npx ajv validate -s https://mpaktrust.org/schemas/mcpb/v0.4/manifest.json -d manifest.json
# Step 2: Validate MTF extension (ensures security metadata is correct)
npx ajv validate -s https://mpaktrust.org/schemas/mtf/v0.1/mtf-extension.json -d manifest.json Note: VEX statements use the OpenVEX specification. MTF does not define a custom VEX schema.