Skip to main content

MCP: Reporting Data Dictionary

This article lists Level Access reporting data that you can reach through Level Access MCP. It provides the basic vocabulary for describing how the pieces connect.

Note: This is a logical model, not the physical Mongo schema. 

On this page:

Tool inventory

The following table lists 12 MCP tools available in an organization, with their inputs and output shapes.

Tool Purpose Input parameters Output structure
lap_get_workspaces List workspaces the user can access and the digital assets within each (none) workspaces[]: id, name, digitalAssets[] (id, name, propertyKey, type, authorizedDomains[], noDomainRestrictions)
lap_get_scans List automated scans for a digital asset digitalAssetId (req); createdAtFrom/To (opt); status (opt); title/url (opt); page/limit (opt, default 5) total; scans[]: _id, createdAt, title, url, status, scanningType, scanOrigin, scheduledAt, customLinks[], viewport, completedAt
lap_get_scan_summary Score + findings-by-rule for one scan/tool digitalAssetId (req); scanId (req); tool (opt, default access-engine) scanSummary: scanId, toolName, score, scoringAlgorithm, findingsByRule[] (ruleDescription, successCriteria*, severity, count, scoreImpact); total; totalBySeverity
lap_get_scan_findings Paginated flaw detail for one scan, grouped by rule digitalAssetId (req); scanId (req); severities[], standards[], statuses[], tools[], identifiers[] (opt); page/limit (opt, default 20) flawsByRule[]: ruleId, ruleTitle, ruleDescription, severity, successCriteria[], flaws[] (flawId, issueId, status, element, elementReference, pageUrl, auditRuleId, platformLink), toolName; _total
lap_get_digital_asset_issues Issues across all scans for one digital asset digitalAssetId (req); severity (opt); status (opt); page/limit (opt) Indexed map of sampled issues (issueId, issueTitle, severity) + summary (totalIssues, returnedIssues, filters, showing)
lap_get_digital_asset_issue_details Full detail for one automated issue issueId (req); digitalAssetId (opt — auto-resolved from issueId prefix) issueId, issueTitle, scanId, ruleDetails (severity, ruleId), tool, element, elementReference, platformLink
lap_get_digital_asset_monitoring_overview Monitoring configuration / status for a digital asset digitalAssetId (req) monitoringSettings (enabled, occurrence, conformanceLevel, viewport, startAt, scanAuthenticationType, crawler, runFirstScanImmediately, nextScheduledAt); recentMonitoringScans (latestScan, previousScan)
lap_get_evaluations List manual evaluations for a digital asset digitalAssetId (req); createdAtFrom/To (opt); status (opt, default completed); title (opt); page/limit (opt) total; evaluations[]: id, title, status, createdAt, updatedAt, origin, lastUploadDate, conformanceLevel, conformanceScores[]
lap_get_evaluation_findings Rich per-finding detail for one specific evaluation digitalAssetId (req); evaluationId (req); severity[], status[] (opt); page/limit (opt) total; findings[]: id, evaluationId, title, severity, disabilitiesAffected[], status, effort, stepsToReproduce, actualResult, recommendation, url, issueId, xpath, rule (description, category, successCriteria[])
lap_get_all_evaluation_findings Consolidated findings across all evaluations for a digital asset digitalAssetId (req); evaluationStatus[] (opt, default completed); findingStatus[] (opt); severity[] (opt); page/limit (opt) findings[]: id, evaluationId, issueId, title, severity, disabilitiesAffected[], status, effort, url, rule (successCriteria[]) — no narrative fields; summary (totalFindings, returnedFindings, filters)
lap_get_platform_metrics Severity-bucketed findings metrics over time at digitalProperty / workspace / tenant level entityType (opt, default digitalPropertyId); entityIds[] (req unless tenantId); dataSource[] (opt); frequency (opt, default month); timeframe or startDate/endDate; severity[] (opt); standards[] (opt); tool (opt) Array of snapshots: timestamp, findingsCounts.countsBySeverity.{auto,manual}.{severity} (new, resolved, unresolved, cumulativeNew, cumulativeResolved, cumulativeUnresolved)
lap_get_rules Rule metadata: description, severity, success criteria ruleIds[] (req, max 25); tool (opt, default access-engine) Array of: id, ruleId, title, description, severity, toolName, whatToDo, whyItMatters

How the entities connect

The reporting domain follows a clear hierarchy (with the Metrics layer rolling up across all levels):

  • Workspace → Digital Asset → Scans & Evaluations → Findings → Rules

In plain terms:

  • A workspace owns digital assets. 

  • Each asset runs automated scans (which produce flaws, scored by a scan summary) and manual evaluations (which produce manual findings). 

  • Flaws are issues returned by the lap_get_digital_asset_issues and lap_get_digital_asset_issue_details APIs. Based on the ScanId, flaws are identified across all scans for the digital asset.
  • Both flaws and findings violate rules. 

Note: Metrics snapshots aggregate findings by severity at the asset, workspace, or organization level.

The following diagram illustrates the relationship among the entities. 

Note: In this diagram, PK indicates a primary key and FK indicates a foreign key.

MCP Reporting Entities Relationship.png

Data dictionary

Review the field-by-field reference for each entity.  

Workspace

Field Type Description Example Source MCP tool Notes
id string (24-hex) Workspace identifier 650bd31c00677367c9907d05 lap_get_workspaces Primary key; joins to Digital Asset only via nesting (no reverse lookup tool)
name string Workspace display name Gov&Rep 3 lap_get_workspaces
digitalAssets[] array Digital assets owned by this workspace lap_get_workspaces Embedded, not a separate call
Workspace field-by-field reference

 

Digital asset 

Note: Digital assets might also be referred to as digital properties. 

Field Type Description Example Source MCP tool Notes
id string (24-hex) Digital asset identifier 650bd31c006773848c907d0c lap_get_workspaces Primary key; used as digitalAssetId everywhere downstream
name string Display name ME+Monitoring lap_get_workspaces
propertyKey string Short prefix used in human-readable issue IDs ASW lap_get_workspaces Prefixes issueId (e.g. ASW-70866); lets issue_details auto-resolve digitalAssetId
type string Asset type Website, Android app, iOS app lap_get_workspaces
authorizedDomains[] array<string> Domains this asset is scoped to ["abcweb.com","*.abcweb.com"] lap_get_workspaces Empty for native apps
noDomainRestrictions boolean Whether domain scoping is disabled false lap_get_workspaces
Digital asset field-by-field reference

Scan (automated)

Field Type Description Example Source MCP tool Notes
_id string (24-hex) Scan identifier 6a4da1aa96a4ebe66e5ed09a lap_get_scans Primary key; used as scanId downstream
title / url string Scanned page/site title and URL abcweb.com lap_get_scans
status enum Scan lifecycle status completed_with_errors lap_get_scans cancelled, completed, completed_with_errors, error, failed, pending, processing, removed, scheduled
scanningType enum Scope of the scan. Values: singlePage, entireSite, customLinks, sitemap, manualAudit, ciTool, automatedUserFlow, mobile entireSite lap_get_scans
scanOrigin enum What triggered the scan. Values: quick_scan, advanced, monitoring, rerun, public_api, developer_tools, browser_extension, pages. For mobile scans: mobile_sdk, mobile_emulator, mobile_xml, mobile_engine_desktop, mobile_engine_sdk, mobile_engine_crawling monitoring lap_get_scans
scheduledAt / completedAt ISO date Schedule and completion timestamps 2026-07-22T01:02:31.846Z lap_get_scans
viewport object Viewport used for the scan {type: desktop, height:1080, width:1920} lap_get_scans
customLinks array Contains the links scanned when scanningType is customLinks (i.e. not crawl, single page, or Automated User Flow) lap_get_scans Only populated for customLinks scan type
Automated scan field-by-field reference

Scan summary

Field Type Description Example Source MCP tool Notes
scanId string Scan this summary belongs to 6a4da1aa96a4ebe66e5ed09a lap_get_scan_summary FK → Scan
toolName enum Testing tool used access-engine lap_get_scan_summary access-engine, axe, ibm, wave
score number (float) Overall accessibility score for the scan 80.77 lap_get_scan_summary 0–100 scale (algorithm-dependent)
scoringAlgorithm string How the score was computed average lap_get_scan_summary
findingsByRule[].severity enum Severity of the rule's findings high lap_get_scan_summary critical, high, low, custom1, custom2, info
findingsByRule[].count number Count of findings for that rule 875 lap_get_scan_summary
findingsByRule[].scoreImpact number Points deducted per-occurrence for this rule 0.7 lap_get_scan_summary
total number Total findings in the scan 2391 lap_get_scan_summary
totalBySeverity object Findings broken out by severity {critical:26, high:397, low:995, info:973} lap_get_scan_summary
Scan summary field by field 

Flaw (automated finding, scan-scoped)

Field Type Description Example Source MCP tool Notes
flawId string (24-hex) Unique flaw identifier 69f158d271e9bd8e99e13035 lap_get_scan_findings
issueId string Human-readable issue key ({propertyKey}-{n}) ASW-62593 lap_get_scan_findings FK → Issue; links flaw occurrences across scans to a persistent issue
status enum QA status of the flaw reOpen lap_get_scan_findings closed, dismissed, open, reOpen
element / elementReference string Offending DOM snippet / CSS-like path <button …> / body>section:nth-of-type(1)>… lap_get_scan_findings
pageUrl string Page the flaw was found on https://abcweb.com/online lap_get_scan_findings
auditRuleId string Numeric rule ID (matches lap_get_rules ruleId) 205 lap_get_scan_findings FK → Rule
platformLink string (URL) Deep link into the LA platform UI lap_get_scan_findings
(grouping) ruleId, ruleTitle, ruleDescription, severity, successCriteria[] Rule metadata inlined at the group level lap_get_scan_findings Duplicates a subset of lap_get_rules output
Flaw field by field reference

Issue (persistent automated-issue record, digital-asset-scoped)

Field Type Description Example Source MCP tool Notes
issueId string {propertyKey}-{n} key ASW-70866 lap_get_digital_asset_issues / _issue_details Primary key; stable across scans (unlike flawId)
issueTitle string Human-readable title (= rule title) A elements without an href or tabindex >=0 are not in the focus order lap_get_digital_asset_issues
severity enum Severity high lap_get_digital_asset_issues
scanId string Scan the detail record resolves to (latest occurrence) 6a4da1aa96a4ebe66e5ed09a lap_get_digital_asset_issue_details FK → Scan
ruleDetails.ruleId string Rule violated 1119 lap_get_digital_asset_issue_details FK → Rule
element / elementReference string Offending element / path lap_get_digital_asset_issue_details
platformLink string (URL) Deep link into the LA platform UI lap_get_digital_asset_issue_details
summary.totalIssues number Total issue count for the asset 9021 lap_get_digital_asset_issues
Issue field by field reference

Monitoring overview (per digital asset)

Field Type Description Example Source MCP tool Notes
monitoringSettings.enabled boolean Whether monitoring is active true lap_get_..._monitoring_overview
monitoringSettings.occurrence string Scan cadence Week lap_get_..._monitoring_overview
monitoringSettings.conformanceLevel string WCAG target level WCAG_v22_AA lap_get_..._monitoring_overview
monitoringSettings.crawler object Crawl configuration {discoveryMethod: crawl, limitCrawlingPagesTo: 50, crawlDeepLevel: 3, …} lap_get_..._monitoring_overview
monitoringSettings.nextScheduledAt ISO date Next scheduled scan 2026-07-29T01:00:00.000Z lap_get_..._monitoring_overview
recentMonitoringScans.latestScan / .previousScan object Pointers to recent scans {scanId, totalScannedPages: 50} lap_get_..._monitoring_overview FK → Scan
Monitoring overview field by field reference

Manual evaluation 

Field Type Description Example Source MCP tool Notes
id string (24-hex) Evaluation identifier 650bd46d946a5a09ebc9ffb7 lap_get_evaluations Primary key; used as evaluationId downstream
title string Evaluation name G&R 3 lap_get_evaluations
status enum Lifecycle status completed lap_get_evaluations completed, inProgress, onHold, pendingReview, readyToStart
origin string Who/what created it staff lap_get_evaluations
createdAt / updatedAt / lastUploadDate ISO date Timestamps 2023-09-21T05:28:13.846Z lap_get_evaluations
conformanceLevel string Target WCAG level WCAG_v21_AA lap_get_evaluations
conformanceScores[] array Score per standard {standard: WCAG_v21_AA, score: 86} lap_get_evaluations
Manual evaluation field by field reference

Manual finding

Field Type Description Example Source MCP tool Notes
id string (24-hex) Finding identifier 650bd46d946a5a7a2cca0007 lap_get_evaluation_findings / _all_
evaluationId string Parent evaluation 650bd46d946a5a09ebc9ffb7 both FK → Evaluation
issueId string Persistent issue key ASW-11 both Same propertyKey-prefixed pattern as automated Issues; namespace appears shared across auto/manual
title string Finding title Missing information for the image both
severity enum Severity high both critical, high, low, custom1, custom2, info
disabilitiesAffected[] array<string> Disability categories impacted ["visual","auditory"] both
status enum QA workflow status notFixed both open, partiallyFixed, notFixed, cannotBeFixed, fixed, toReview, notReproducible, dismissed, validationRequested
effort string Estimated remediation effort low both
url string Page evaluated https://abcweb.xyz.com/... both
xpath (misnomer — usually a cssSelector) string Element locator 11 lap_get_evaluation_findings only Not present in the _all_ variant
stepsToReproduce / actualResult / recommendation string Narrative detail lap_get_evaluation_findings only Not present in the _all_ variant
rule.description / .category / .successCriteria[] object Inlined rule metadata {description: "Missing image description", category: "Alternative text"} both (category only in per-eval call)
Manual finding field by field reference

Rule

Field Type Description Example Source MCP tool Notes
id string (24-hex) Internal rule document ID 63f02c0916bc4a66ee5bfff3 lap_get_rules
ruleId string Human-facing rule number (matches auditRuleId / ruleDetails.ruleId elsewhere) 1119 lap_get_rules Join key back to Flaw / Issue
title string Rule name A elements without an href or tabindex >=0 are not in the focus order lap_get_rules
description string What the rule checks lap_get_rules
severity enum Default severity high lap_get_rules
toolName enum Owning tool access-engine lap_get_rules access-engine, wave, ace, axe-core
whatToDo / whyItMatters string (HTML) Remediation guidance and rationale lap_get_rules Contains inline HTML tags (e.g. <code>)
Rule field by field reference

Metrics snapshot

Field Type Description Example Source MCP tool Notes
timestamp ISO date Start of the bucket (week / month / quarter) 2026-07-01T00:00:00.000Z lap_get_platform_metrics
...countsBySeverity.{auto|manual}.{severity}.new number New findings opened in this bucket 234 lap_get_platform_metrics Data source split: auto vs manual
...resolved number Findings resolved in this bucket 141 lap_get_platform_metrics
...unresolved number Net open findings from this bucket's cohort 93 lap_get_platform_metrics
...cumulativeNew number All findings ever created, to date 13408 lap_get_platform_metrics Per tool docstring
...cumulativeResolved number Current resolved backlog, to date 10168 lap_get_platform_metrics
...cumulativeUnresolved number Current open backlog, to date 3240 lap_get_platform_metrics NOT cumulativeNew − cumulativeResolved in general (verify before arithmetic)
(request-level) entityType / entityIds enum / array Roll-up level requested digitalPropertyId / ["650bd31c006773848c907d0c"] lap_get_platform_metrics Also supports workspaceId, tenantId (tenantId omits entityIds)
Metrics field by field reference

Relationships and roll-up logic

This section descrtibes how records link, and what is explicit in a tool output versus inferred.

  • Workspace → Digital Asset: Explicit, embedded 1:many in lap_get_workspaces. No reverse “get workspace by digital asset” tool exists.

  • Digital Asset → Scan / Evaluation: Explicit — both lap_get_scans and lap_get_evaluations require digitalAssetId and return records scoped to it.

  • Scan → Flaw: Explicit, via lap_get_scan_findings(digitalAssetId, scanId), grouped by Rule.

  • Flaw → Issue: 

    • Explicit. Every flaw carries an issueId; issue_details returns the persistent record whose scanId points to the most recent originating scan. 

    • Inferred: How repeated occurrences across scans consolidate into one persistent issueId is not shown; only the resulting joined record is observable.

  • Flaw / Issue → Rule: Explicit — auditRuleId and ruleDetails.ruleId match the ruleId from lap_get_rules.

  • Evaluation → Manual Finding: Explicit, via lap_get_evaluation_findings. The _all_ variant denormalizes this across all evaluations, trading narrative detail for breadth.

  • Manual Finding → Rule: Only success-criteria / category metadata is inlined — there is no numeric ruleId, so manual findings cannot be joined to lap_get_rules in the way that automated flaws can. Inferred gap, not explicit.

  • Asset / Workspace / Tenant → Metrics Snapshot: Explicit roll-up via entityType + entityIds. Same shape at every level; the aggregation itself is inferred to be pre-computed (based on response speed and the dedicated tenantId type).

  • Monitoring Overview → Scan: Explicit — latestScan / previousScan.scanId point to real Scan records.

 

 

 
 
 

 

Powered by Zendesk