Trust Levels Specification
This document defines the trust level system for MCP-AQL adapters. Trust levels indicate the verification and validation status of an adapter, enabling systems to make informed decisions about which operations to permit
On this page
Jump to a section
Use the outline to move through longer pages without losing your place.
Version: 1.0.0-draft Status: Draft Last Updated: 2026-01-28
Abstract
This document defines the trust level system for MCP-AQL adapters. Trust levels indicate the verification and validation status of an adapter, enabling systems to make informed decisions about which operations to permit based on adapter provenance and reliability.
1. Overview
1.1 Purpose
Adapters can originate from multiple sources with varying reliability guarantees:
- Dynamically generated from API interrogation or OpenAPI specs
- Hand-crafted by developers with domain knowledge
- Community-contributed via collection submissions
- Officially certified by API vendors or trusted authorities
Trust levels provide a standardized way to communicate adapter reliability, enabling:
- Progressive permission unlocking - Higher trust enables more operations
- Risk-appropriate defaults - New adapters start with minimal permissions
- Audit trail - Track how and when trust was established
- Automated gating - Systems can enforce trust requirements programmatically
1.2 Design Principles
- Conservative defaults - Untrusted adapters have minimal permissions
- Earned trust - Higher levels require explicit validation or certification
- Transparent provenance - Trust metadata is auditable
- Graceful degradation - Missing trust info treated as lowest level
1.3 Relationship to Danger Levels
Trust levels work in conjunction with danger levels (see Dangerous Operation Classification):
- Trust levels describe adapter reliability (who vouches for it)
- Danger levels describe operation risk (what harm could occur)
- Gating matrix combines both to determine permission
2. Trust Level Enum
2.1 Trust Level Values
| Level | Value | Description |
|---|---|---|
| Untested | untested |
Newly created, no validation performed |
| Generated | generated |
Programmatically generated, basic schema validation passed |
| Validated | validated |
Passed programmatic test harness |
| Community Reviewed | community_reviewed |
Validated plus community vetting process |
| Certified | certified |
Official verification by vendor or trusted authority |
2.2 Level Descriptions
2.2.1 untested
The adapter has been created but not validated in any way.
Typical sources:
- Freshly generated from API interrogation
- User-created adapters not yet tested
- Imported from unknown sources
Characteristics:
- Schema may be malformed
- Operations may not match actual API
- Parameters may be incorrect or missing
2.2.2 generated
The adapter was programmatically generated and passes basic schema validation.
Validation requirements:
- YAML front matter parses correctly
- Required fields present (name, type, version, description)
- Target configuration is valid
- All operations have valid structure
Characteristics:
- Schema is structurally correct
- No guarantee operations work at runtime
- May have incorrect parameter types or mappings
2.2.3 validated
The adapter has passed automated test harness validation against the target API.
Validation requirements:
- All
generatedrequirements PLUS: - Test harness executed against live API
- Read operations return valid responses
- Create operations succeed with valid inputs
- Error handling behaves as documented
Characteristics:
- Operations verified to work at time of validation
- May break if API changes
- Validation report available for review
2.2.4 community_reviewed
The adapter has been validated and reviewed by the community.
Validation requirements:
- All
validatedrequirements PLUS: - Submitted to community collection
- Reviewed by at least N community members (configurable, recommended default: 2)
- No security concerns raised
- Documentation quality verified
Characteristics:
- Human eyes have reviewed the adapter
- Security implications considered
- Higher confidence in production use
2.2.5 certified
The adapter has official certification from the API vendor or a trusted authority.
Validation requirements:
- All
community_reviewedrequirements PLUS: - Vendor signature or authority attestation
- Formal certification process completed
- Ongoing maintenance commitment
Characteristics:
- Highest confidence level
- Official support available
- Production-ready for all operations
3. Trust Metadata Schema
3.1 Schema Structure
The trust block in adapter front matter:
trust:
level: validated
generated_at: "2026-01-15T10:00:00Z"
generated_by: "mcpaql-adapter-generator-v1.2.0"
validated_at: "2026-01-15T12:00:00Z"
validated_by: "mcpaql-test-harness-v2.0.0"
validation_report:
tests_passed: 47
tests_total: 47
endpoints_verified: 23
coverage_percent: 95
last_api_response: "2026-01-15T12:00:00Z"
promoted_from: "generated"
promotion_history:
- from: "untested"
to: "generated"
at: "2026-01-15T10:00:00Z"
by: "mcpaql-adapter-generator-v1.2.0"
- from: "generated"
to: "validated"
at: "2026-01-15T12:00:00Z"
by: "mcpaql-test-harness-v2.0.0"
certification: null3.2 Field Definitions
3.2.1 level (required)
Type: string (enum) Values: untested, generated, validated, community_reviewed, certified
The current trust level of the adapter.
level: validated3.2.2 generated_at
Type: string (ISO 8601 timestamp)
When the adapter was initially generated or created.
generated_at: "2026-01-15T10:00:00Z"3.2.3 generated_by
Type: string
Identifier of the tool or person that created the adapter.
generated_by: "mcpaql-adapter-generator-v1.2.0"3.2.4 validated_at
Type: string (ISO 8601 timestamp)
When the adapter was last validated against the target API.
validated_at: "2026-01-15T12:00:00Z"3.2.5 validated_by
Type: string
Identifier of the validation tool or process.
validated_by: "mcpaql-test-harness-v2.0.0"3.2.6 validation_report
Type: object
Detailed results from the validation process.
validation_report:
tests_passed: 47
tests_total: 47
endpoints_verified: 23
coverage_percent: 95
last_api_response: "2026-01-15T12:00:00Z"Fields:
| Field | Type | Description |
|---|---|---|
tests_passed |
integer | Number of tests that passed |
tests_total |
integer | Total number of tests executed |
endpoints_verified |
integer | Number of API endpoints tested |
coverage_percent |
number | Percentage of operations covered by tests |
last_api_response |
string | Timestamp of last successful API response |
3.2.7 promoted_from
Type: string (enum)
The previous trust level before the most recent promotion.
promoted_from: "generated"3.2.8 promotion_history
Type: array of promotion records
Complete history of trust level changes.
promotion_history:
- from: "untested"
to: "generated"
at: "2026-01-15T10:00:00Z"
by: "mcpaql-adapter-generator-v1.2.0"
reason: "Schema validation passed"Promotion record fields:
| Field | Type | Description |
|---|---|---|
from |
string | Previous trust level |
to |
string | New trust level |
at |
string | ISO 8601 timestamp |
by |
string | Tool or person identifier |
reason |
string | Optional explanation |
3.2.9 certification
Type: object or null
Certification details for certified level adapters.
certification:
authority: "GitHub, Inc."
signature: "base64-encoded-signature"
certificate_id: "GH-CERT-2026-001"
issued_at: "2026-01-20T00:00:00Z"
expires_at: "2027-01-20T00:00:00Z"
scope:
- "all_operations"Certification fields:
| Field | Type | Description |
|---|---|---|
authority |
string | Certifying organization name |
signature |
string | Cryptographic signature (base64) |
certificate_id |
string | Unique certificate identifier |
issued_at |
string | When certification was granted |
expires_at |
string | When certification expires |
scope |
array | What the certification covers |
4. Promotion Rules
4.1 Promotion Path
Trust levels follow a linear promotion path:
untested → generated → validated → community_reviewed → certified
Adapters MUST NOT skip levels during promotion. Each level builds on the requirements of previous levels.
4.2 Promotion Triggers
| Transition | Trigger | Requirements |
|---|---|---|
| untested → generated | Schema validation | YAML parses, required fields present, valid structure |
| generated → validated | Test harness pass | All read ops succeed, representative create/update tested |
| validated → community_reviewed | Community review | N reviewers approve, no security flags |
| community_reviewed → certified | Vendor attestation | Signed certificate from recognized authority |
4.3 Demotion Rules
Trust levels MAY be demoted when:
- Validation failure - Re-validation against API fails
- Security issue - Vulnerability discovered in adapter
- API change - Target API changed, adapter no longer valid
- Certificate expiry - Certification has expired
Demotion behavior:
- Demotion MUST be recorded in
promotion_historywith negative transition - Systems SHOULD notify users when adapter trust is demoted
- Demoted adapters retain their
validated_attimestamp for audit purposes
promotion_history:
- from: "validated"
to: "generated"
at: "2026-02-01T08:00:00Z"
by: "mcpaql-test-harness-v2.0.0"
reason: "API endpoint /users deprecated, 3 operations failing"4.4 Re-validation
Adapters SHOULD be periodically re-validated to maintain trust level:
| Trust Level | Recommended Re-validation |
|---|---|
| generated | On each use (schema check) |
| validated | Weekly or on API version change |
| community_reviewed | Monthly |
| certified | Per certification terms |
5. Permission Gating
5.1 Trust-to-Operation Gating
Systems SHOULD enforce minimum trust levels for operations based on risk:
| Operation Category | Minimum Trust Level |
|---|---|
| Introspection | untested |
| Read operations | generated |
| Safe create operations | validated |
| Update operations | validated |
| Delete operations | community_reviewed |
| Dangerous operations | certified |
5.2 Trust-to-Danger Matrix
The complete trust-to-danger gating matrix is defined in the Dangerous Operation Classification specification. The matrix determines which operations are allowed, require confirmation, or are denied based on the combination of adapter trust level and operation danger level.
Behavior summary:
allow- Operation executes without additional gatesconfirm- Operation requires explicit user confirmationdeny- Operation blocked with error responseintrospect_only- Only introspection operations permitted; all other operations are blocked
5.3 Configuration Override
Systems MAY allow administrators to override default gating:
# System configuration
trust_policy:
minimum_trust_for_writes: validated
minimum_trust_for_deletes: community_reviewed
allow_untested_introspection: true
require_confirmation_below: validated5.4 Error Response
When an operation is denied due to insufficient trust:
{
"success": false,
"error": {
"code": "PERMISSION_TRUST_LEVEL_INSUFFICIENT",
"message": "Operation 'delete_user' requires trust level 'community_reviewed', adapter has 'validated'",
"details": {
"operation": "delete_user",
"required_trust": "community_reviewed",
"actual_trust": "validated",
"danger_level": 2
}
}
}Note: The
PERMISSION_TRUST_LEVEL_INSUFFICIENTerror code is introduced by this specification and should be added to the Error Codes Specification as a future extension under thePERMISSION_category.
6. Implementation Requirements
6.1 MUST Requirements
Implementations supporting trust levels MUST:
- Default to
untestedwhen trust block is missing - Validate trust level enum values
- Reject invalid trust metadata gracefully
- Record trust level in audit logs for security operations
6.2 SHOULD Requirements
Implementations supporting trust levels SHOULD:
- Enforce the trust-to-operation gating matrix
- Provide introspection of current trust level
- Support trust level promotion workflows
- Preserve promotion history for audit
6.3 MAY Requirements
Implementations supporting trust levels MAY:
- Implement custom gating policies
- Support automatic re-validation
- Integrate with external certification authorities
- Provide trust level comparison across adapters
6.4 Introspection Support
Trust information SHOULD be available via introspection:
{
operation: "introspect",
params: { query: "adapter_info" }
}
// Response
{
success: true,
data: {
name: "github-api",
version: "1.0.0",
trust: {
level: "validated",
validated_at: "2026-01-15T12:00:00Z",
validation_report: {
tests_passed: 47,
tests_total: 47
}
}
}
}7. Future Extensions
7.1 Scoped Trust Levels
Future versions may support per-operation trust levels:
trust:
level: validated
operation_overrides:
delete_repo:
level: certified
reason: "Destructive operation requires higher trust"7.2 Trust Delegation
Organizations may delegate trust decisions:
trust:
level: community_reviewed
delegated_from:
authority: "acme-corp"
scope: "internal-apis"7.3 Composite Trust
For adapters aggregating multiple APIs:
trust:
composite: true
components:
- api: "github"
level: certified
- api: "slack"
level: validated
effective_level: validated # Minimum of components7.4 Trust Attestation Protocol
A future specification may define a protocol for trust attestation exchange between systems.