Serveur MCP

Drivings

com.drivings/driving-test-study
Éducation Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Provides driving guides, study-plan previews, and source-backed UK and U.S. test-centre searches.

build_study_plan_preview
Build a study-plan preview
Compute a deterministic, bounded study schedule. The preview is not saved and does not create an account, learner session, purchase or message.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['region', 'course'], 'properties': {'weeks': {'type': 'integer', 'default': 4, 'maximum': 16, 'minimum': 1}, 'course': {'enum': ['car', 'motorcycle', 'lgv', 'pcv', 'adi', 'cdl'], 'type': 'string'}, 'region': {'enum': ['uk', 'us'], 'type': 'string'}, 'daysPerWeek': {'type': 'integer', 'default': 5, 'maximum': 7, 'minimum': 1}, 'minutesPerDay': {'type': 'integer', 'default': 20, 'maximum': 120, 'minimum': 10}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['schemaVersion', 'kind', 'persisted', 'region', 'course', 'schedule', 'weeks', 'nextStep', 'disclaimer'], 'properties': {'kind': {'type': 'string', 'const': 'study_plan_preview'}, 'weeks': {'type': 'array', 'items': {'type': 'object', 'required': ['week', 'stage', 'focus', 'sessions'], 'properties': {'week': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'focus': {'type': 'string'}, 'stage': {'enum': ['baseline', 'coverage', 'timed-practice', 'readiness'], 'type': 'string'}, 'sessions': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'minutes', 'activity'], 'properties': {'day': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'minutes': {'type': 'integer', 'maximum': 120, 'minimum': 10}, 'activity': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'maxItems': 16, 'minItems': 1}, 'course': {'enum': ['car', 'motorcycle', 'lgv', 'pcv', 'adi', 'cdl'], 'type': 'string'}, 'region': {'enum': ['uk', 'us'], 'type': 'string'}, 'nextStep': {'type': 'object', 'required': ['url', 'kind', 'requiresHumanConfirmation', 'note'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string', 'const': 'browser'}, 'note': {'type': 'string'}, 'requiresHumanConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'schedule': {'type': 'object', 'required': ['weeks', 'daysPerWeek', 'minutesPerDay', 'totalMinutes'], 'properties': {'weeks': {'type': 'integer', 'maximum': 16, 'minimum': 1}, 'daysPerWeek': {'type': 'integer', 'maximum': 7, 'minimum': 1}, 'totalMinutes': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'minutesPerDay': {'type': 'integer', 'maximum': 120, 'minimum': 10}}, 'additionalProperties': False}, 'persisted': {'type': 'boolean', 'const': False}, 'disclaimer': {'type': 'string'}, 'schemaVersion': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
find_test_centres
Find verified driving test centres
Search the source-backed UK or US test-centre directory by name, locality, address, postcode/ZIP, alias or identifier. Returns evidence and optional confirmation-required official browser handoffs. Never books or changes a test.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['region'], 'properties': {'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 100, 'minLength': 2}, 'region': {'enum': ['uk', 'us'], 'type': 'string'}, 'service': {'enum': ['theory', 'practical'], 'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['schemaVersion', 'query', 'matchMethod', 'count', 'totalMatches', 'results', 'coverage', 'safetyNotice'], 'properties': {'count': {'type': 'integer', 'maximum': 10, 'minimum': 0}, 'query': {'type': 'object', 'required': ['region', 'query', 'service'], 'properties': {'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'region': {'enum': ['uk', 'us'], 'type': 'string'}, 'service': {'anyOf': [{'enum': ['theory', 'practical'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'pageTitle', 'canonicalUrl', 'address', 'jurisdiction', 'coordinates', 'operationalStatus', 'classification', 'services', 'official', 'lastVerifiedAt', 'evidence'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'address': {'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'publisher', 'url', 'retrievedAt', 'sourceUpdatedAt', 'claims'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}, 'claims': {'type': 'array', 'items': {'type': 'string'}}, 'publisher': {'type': 'string'}, 'retrievedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T'}, 'sourceUpdatedAt': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 8}, 'official': {'type': 'object', 'required': ['centreUrl', 'locatorUrl', 'authority'], 'properties': {'authority': {'type': 'string'}, 'centreUrl': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'locatorUrl': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'services': {'type': 'object', 'required': ['theory', 'practical'], 'properties': {'theory': {'type': 'object', 'required': ['availability', 'categories', 'lastVerifiedAt', 'bookingHandoff'], 'properties': {'categories': {'type': 'array', 'items': {'type': 'string'}}, 'availability': {'enum': ['available', 'temporarily_unavailable', 'discontinued', 'not_offered', 'unknown'], 'type': 'string'}, 'bookingHandoff': {'anyOf': [{'type': 'object', 'required': ['url', 'phone', 'appointmentRequired', 'notes', 'kind', 'requiresHumanConfirmation', 'warning'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string', 'const': 'external_browser'}, 'notes': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'phone': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'warning': {'type': 'string'}, 'appointmentRequired': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'requiresHumanConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, {'type': 'null'}]}, 'lastVerifiedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T'}}, 'additionalProperties': False}, 'practical': {'type': 'object', 'required': ['availability', 'categories', 'lastVerifiedAt', 'bookingHandoff'], 'properties': {'categories': {'type': 'array', 'items': {'type': 'string'}}, 'availability': {'enum': ['available', 'temporarily_unavailable', 'discontinued', 'not_offered', 'unknown'], 'type': 'string'}, 'bookingHandoff': {'anyOf': [{'type': 'object', 'required': ['url', 'phone', 'appointmentRequired', 'notes', 'kind', 'requiresHumanConfirmation', 'warning'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string', 'const': 'external_browser'}, 'notes': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'phone': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'warning': {'type': 'string'}, 'appointmentRequired': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'requiresHumanConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, {'type': 'null'}]}, 'lastVerifiedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'pageTitle': {'type': 'string'}, 'coordinates': {'anyOf': [{'type': 'object', 'required': ['latitude', 'longitude', 'accuracy'], 'properties': {'accuracy': {'enum': ['rooftop', 'parcel', 'street', 'locality', 'unknown'], 'type': 'string'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}}, 'additionalProperties': False}, {'type': 'null'}]}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'jurisdiction': {'type': 'object', 'required': ['name', 'subdivisionCode', 'countryCode'], 'properties': {'name': {'type': 'string'}, 'countryCode': {'enum': ['GB', 'US'], 'type': 'string'}, 'subdivisionCode': {'type': 'string'}}, 'additionalProperties': False}, 'classification': {'enum': ['theory', 'practical', 'both', 'neither', 'unknown'], 'type': 'string'}, 'lastVerifiedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T'}, 'operationalStatus': {'enum': ['open', 'temporarily_closed', 'closed', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 10}, 'coverage': {'type': 'object', 'required': ['status', 'title', 'description', 'verifiedAt', 'sources'], 'properties': {'title': {'type': 'string'}, 'status': {'enum': ['complete_official_snapshot', 'partial_jurisdiction_coverage'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'verifiedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T'}, 'description': {'type': 'string'}}, 'additionalProperties': False}, 'matchMethod': {'type': 'string'}, 'safetyNotice': {'type': 'string'}, 'totalMatches': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'schemaVersion': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_driving_guide
Get a published driving guide
Retrieve one published Drivings guide by slug, including bounded Markdown content, update metadata and primary-source review details when available. It does not access private learner data.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['region', 'slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 120, 'minLength': 1}, 'region': {'enum': ['uk', 'us'], 'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['schemaVersion', 'region', 'guide', 'independenceNotice'], 'properties': {'guide': {'type': 'object', 'required': ['slug', 'title', 'excerpt', 'category', 'publishedAt', 'updatedAt', 'readMinutes', 'canonicalUrl', 'contentMarkdown', 'contentTruncated', 'review'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'review': {'anyOf': [{'type': 'object', 'required': ['reviewedAt', 'reviewedBy', 'reviewerUrl', 'sources'], 'properties': {'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'publisher', 'url', 'supports'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}, 'supports': {'type': 'string'}, 'publisher': {'type': 'string'}}, 'additionalProperties': False}}, 'reviewedAt': {'type': 'string'}, 'reviewedBy': {'type': 'string'}, 'reviewerUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'excerpt': {'type': 'string'}, 'category': {'type': 'string'}, 'updatedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'publishedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'readMinutes': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'contentMarkdown': {'type': 'string', 'maxLength': 12000}, 'contentTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'region': {'enum': ['uk', 'us'], 'type': 'string'}, 'schemaVersion': {'type': 'string'}, 'independenceNotice': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_my_learning_overview
Get my Drivings learning overview
Read the connected learner's Drivings profile, study target and recent learning activity. Requires Drivings sign-in and explicit OAuth consent. It never changes learner or account data.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['schemaVersion', 'generatedAt', 'learner', 'study', 'progress', 'privacy'], 'properties': {'study': {'type': 'object', 'required': ['course', 'examDate'], 'properties': {'course': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'examDate': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'learner': {'type': 'object', 'required': ['displayName', 'region'], 'properties': {'region': {'anyOf': [{'enum': ['uk', 'us'], 'type': 'string'}, {'type': 'null'}]}, 'displayName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'privacy': {'type': 'object', 'required': ['source', 'persistedByThisTool'], 'properties': {'source': {'type': 'string', 'const': 'authenticated Drivings account'}, 'persistedByThisTool': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'progress': {'type': 'object', 'required': ['completedEvents', 'recentActivity'], 'properties': {'recentActivity': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'xp', 'score', 'occurredAt'], 'properties': {'xp': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'kind': {'type': 'string'}, 'score': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'occurredAt': {'type': 'string'}}, 'additionalProperties': False}}, 'completedEvents': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'generatedAt': {'type': 'string'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-22'}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_study_options
List Drivings study options
List the study courses Drivings publishes for the UK or US. Returns canonical pages and a confirmation-required onboarding browser handoff; it does not start or save onboarding.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['region'], 'properties': {'region': {'enum': ['uk', 'us'], 'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['schemaVersion', 'region', 'regionName', 'options', 'independenceNotice'], 'properties': {'region': {'enum': ['uk', 'us'], 'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'courseUrl', 'onboardingHandoff'], 'properties': {'id': {'enum': ['car', 'motorcycle', 'lgv', 'pcv', 'adi', 'cdl'], 'type': 'string'}, 'name': {'type': 'string'}, 'courseUrl': {'type': 'string', 'format': 'uri'}, 'onboardingHandoff': {'type': 'object', 'required': ['url', 'kind', 'requiresHumanConfirmation', 'note'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string', 'const': 'browser'}, 'note': {'type': 'string'}, 'requiresHumanConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'regionName': {'type': 'string'}, 'schemaVersion': {'type': 'string'}, 'independenceNotice': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_driving_guides
Search published driving guides
Search published Drivings guides by topic or question. Returns concise metadata, update dates and canonical URLs; it does not access private learner data.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['region', 'query'], 'properties': {'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 100, 'minLength': 2}, 'region': {'enum': ['uk', 'us'], 'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['schemaVersion', 'region', 'query', 'count', 'totalMatches', 'results', 'retrievalNotice'], 'properties': {'count': {'type': 'integer', 'maximum': 10, 'minimum': 0}, 'query': {'type': 'string'}, 'region': {'enum': ['uk', 'us'], 'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'excerpt', 'category', 'publishedAt', 'updatedAt', 'readMinutes', 'canonicalUrl'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'excerpt': {'type': 'string'}, 'category': {'type': 'string'}, 'updatedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'publishedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'readMinutes': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'maxItems': 10}, 'totalMatches': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'schemaVersion': {'type': 'string'}, 'retrievalNotice': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Ajouté
get_my_learning_overview
17 September 2026 12:34
Ajouté
build_study_plan_preview
17 September 2026 12:34
Ajouté
find_test_centres
17 September 2026 12:34
Ajouté
list_study_options
17 September 2026 12:34
Ajouté
get_driving_guide
17 September 2026 12:34
Ajouté
search_driving_guides
17 September 2026 12:34