LoadSnap
официальныйЗапрашивайте свои записи о соответствии требованиям по обращению с отходами в Великобритании из любого ИИ-ассистента. Доступ только для чтения к вашим собственным транспортным накладным на отходы, квитанциям, тоннажу и отправкам в DEFRA Digital Waste Tracking.
Что можно делать с LoadSnap MCP?
- Поиск перемещений отходов — Запросите записи о передаче отходов по клиенту, перевозчику или диапазону дат, например: «что мы собирали у X в мае?»
- Проверка статуса соответствия — Спросите, действительны ли сертификаты, разрешения или регистрации или уже истекли.
- Просмотр счетов и платежей — Спросите, кто должен деньги, что не оплачено или оплачен ли конкретный счет.
- Отслеживание автопарка и транспортных средств — Спросите о сроке действия техосмотра, налога или страховки для любого транспортного средства в автопарке.
- Поиск кодов отходов — Спросите, какой код EWC применяется к материалу или является ли код опасным.
- Добавление записей в разговорном режиме — Попросите добавить клиента, транспортное средство, водителя или заявку на сбор без заполнения форм.
Документация
Справочник MCP-сервера
Всё необходимое для подключения AI-ассистента к аккаунту LoadSnap и то, что он сможет читать после подключения.
Конечная точка
https://app.loadsnap.co.uk/api/mcp
Удалённый сервер Model Context Protocol, использующий транспорт Streamable HTTP: JSON-RPC 2.0 через один POST-запрос. Сервер не хранит состояние, поэтому нет заголовка сессии и нет инициируемого сервером потока событий, а GET-запрос возвращает 405.
Добавьте его в Claude, Claude Code, ChatGPT, Cursor или любой другой MCP-совместимый клиент как пользовательский или удалённый коннектор, используя этот URL. Вставлять API-ключ не нужно.
Аутентификация
OAuth 2.1: код авторизации с PKCE, плюс динамическая регистрация клиента, так что клиент регистрируется сам без ручной настройки. Обнаружение работает обычным образом: неаутентифицированный запрос возвращает 401 с заголовком WWW-Authenticate, указывающим на метаданные защищённого ресурса.
| Метаданные защищённого ресурса | /.well-known/oauth-protected-resource |
|---|---|
| Метаданные сервера авторизации | /.well-known/oauth-authorization-server |
| Динамическая регистрация клиента | /api/oauth/register |
| Авторизация | /oauth/authorize |
| Токен | /api/oauth/token |
Человек входит в LoadSnap и одобряет подключение на экране, где указаны клиент и его организация. Токены доступа действуют час и обновляются с помощью refresh-токена, так что подключение продолжает работать без повторного входа.
Доступ авторизуется для человека, а не для ключа. Членство в организации и тариф проверяются при каждом запросе, поэтому удаление человека из организации прекращает и доступ его коннектора.
Объём доступа
Каждый запрос жёстко фильтруется по организации авторизованного пользователя, которая определяется на стороне сервера из токена. Клиент никогда не указывает организацию, поэтому не может запросить данные другой компании. Построчная безопасность обеспечивает ту же границу в нижележащей базе данных.
15 из 21 инструментов только читают. 6, чьи имена начинаются с create_, добавляют запись и ничего больше: ни один не редактирует, не удаляет, не отправляет файлы в DEFRA, не подписывает transfer note, не выставляет счёт и не выдаёт офисный логин. Каждый помечен как записывающий в своих аннотациях, поэтому клиент спрашивает человека перед выполнением.
Единственное исключение из ограничения по организации — find_waste_codes, который ищет в опубликованном Европейском каталоге отходов — одном национальном списке для всех, а не в чьих-либо собственных данных.
Инструменты
21 инструмент, каждый ограничен авторизованной организацией. Каждый перечислен ниже с описанием, которое видит клиент, и принимаемыми аргументами. Инструмент, помеченный как writes, добавляет запись; остальные только читают.
find_movements
Найти перемещения отходов
Перечислить или найти записи о перемещениях отходов этой организации (Waste Transfer Notes) и задания по имени производителя, заказчика или перевозчика и/или диапазону дат сбора. Используйте для «были ли у нас перемещения для X», «что мы собрали у Y в мае» или «что мы перевезли на прошлой неделе» без указания имени вообще.
| name | optional | Имя производителя, заказчика или перевозчика для поиска. Опустите, чтобы перечислить всё в диапазоне дат. |
|---|---|---|
| date_from | optional | Необязательная нижняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
| date_to | optional | Необязательная верхняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
find_receipts
Найти приёмные квитанции
Перечислить или найти приёмные квитанции этой организации (отходы, поступающие на их собственную площадку) по имени перевозчика или производителя и/или диапазону дат приёма. Опустите имя, чтобы перечислить всё принятое в диапазоне.
| name | optional | Имя перевозчика или производителя. Опустите, чтобы перечислить всё. |
|---|---|---|
| date_from | optional | Необязательная нижняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
| date_to | optional | Необязательная верхняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
count_movements
Подсчитать перемещения отходов
Подсчитать перемещения отходов этой организации за диапазон дат и суммировать их вес, опционально разделив на входящие или исходящие. Используйте для «сколько загрузок мы сделали в прошлом месяце», «сколько отходов мы обработали в этом году», «сколько сборов на этой неделе». Подсчёт по дате сбора.
| date_from | optional | Нижняя граница даты сбора в формате ISO (ГГГГ-ММ-ДД) |
|---|---|---|
| date_to | optional | Верхняя граница даты сбора в формате ISO (ГГГГ-ММ-ДД) |
| direction | optional | inbound = отходы приняты на собственной площадке организации, outbound = отходы вывезены её грузовиком или отправлены. Опустите для всех. |
defra_filings
Отправки в DEFRA
Подсчитать и перечислить отправки в систему отслеживания отходов DEFRA этой организации за диапазон дат, а также перечислить записи, ожидающие отправки. Используйте для «сколько отправок в DEFRA мы сделали на этой неделе», «были ли сбои с DEFRA», «что ещё не отправлено».
| date_from | optional | Нижняя граница даты отправки в формате ISO (ГГГГ-ММ-ДД) |
|---|---|---|
| date_to | optional | Верхняя граница даты отправки в формате ISO (ГГГГ-ММ-ДД) |
| include_outstanding | optional | Также вернуть записи, ещё не отправленные в DEFRA. По умолчанию true. |
find_parties
Найти перевозчиков и площадки
Сопоставить название компании или площадки с известными перевозчиками и площадками организации.
| name | required | Название компании или площадки |
|---|
find_jobs
Найти запланированные задания
Перечислить или найти задания этой организации — забронированные, в работе или завершённые — по имени заказчика и/или диапазону запланированных дат. Используйте для «что мы делаем завтра», «забронировано ли задание Carter», «что ещё не распределено». Читает вперёд от самой ранней даты, потому что список заданий — это дневник.
| name | optional | Имя заказчика для поиска. Опустите, чтобы перечислить всё в диапазоне. |
|---|---|---|
| status | optional | Статус задания для фильтрации, например draft, scheduled, in_progress, completed, cancelled. |
| date_from | optional | Необязательная нижняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
| date_to | optional | Необязательная верхняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
find_invoices
Счета и задолженности
Перечислить счета этой организации и суммировать непогашенную задолженность, опционально только неоплаченные. Используйте для «кто нам должен», «сколько задолженности», «оплачен ли счёт Carter», «что просрочено». Итоги в валюте счёта.
| name | optional | Название компании, которой выставлен счёт. Опустите, чтобы перечислить всё в диапазоне. |
|---|---|---|
| status | optional | Статус счёта для фильтрации, например draft, issued, paid, void. |
| only_unpaid | optional | Только счета с непогашенным остатком. По умолчанию false. |
| date_from | optional | Необязательная нижняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
| date_to | optional | Необязательная верхняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
find_vehicles
Транспортные средства и их документы
Перечислить транспортные средства этой организации с датами истечения MOT, налога и страховки, и отметить те, что уже истекли. Используйте для «что в автопарке», «есть ли просроченный MOT», «когда налог на VX19 ABC». MOT и налог поступают из DVLA и актуальны на момент последней проверки.
| name | optional | Регистрационный номер или описание для поиска. Опустите, чтобы перечислить всё в диапазоне. |
|---|---|---|
| include_inactive | optional | Также вернуть транспортные средства, снятые с автопарка. По умолчанию false. |
find_people
Команда и их доступ
Перечислить людей в команде этой организации и какие из трёх способов входа у каждого есть: офисный логин, приложение водителя, приложение весовой. Используйте для «кто у нас водитель», «есть ли у Дейва приложение водителя», «кто в команде».
| name | optional | Имя или email человека для поиска. Опустите, чтобы перечислить всё в диапазоне. |
|---|---|---|
| drivers_only | optional | Только люди с приложением водителя. По умолчанию false. |
compliance_status
Сертификаты, разрешения и регистрации
Перечислить сертификаты, разрешения и регистрации, записанные у этой организации, с датами истечения, и указать, какие уже истекли. Используйте для «действительна ли наша регистрация перевозчика отходов», «что истекает в этом году», «есть ли у нас сертификат ISO в файлах».
| expired_only | optional | Только уже истёкшие. По умолчанию false. |
|---|
find_documents
Найти документ
Найти сохранённые документы этой организации — waste transfer notes, consignment notes, разрешения, загруженные бумаги — по типу и/или дате, со ссылкой на каждый. Используйте для «пришли мне transfer note для той загрузки», «какие документы у нас по этому заданию».
| document_type | optional | Тип документа для фильтрации, например wtn, hwcn, annex_vii, permit, upload. |
|---|---|---|
| movement_id | optional | Только документы, прикреплённые к этому перемещению отходов. |
| job_id | optional | Только документы, прикреплённые к этому заданию. |
| date_from | optional | Необязательная нижняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
| date_to | optional | Необязательная верхняя граница даты в формате ISO (ГГГГ-ММ-ДД) |
container_stock
Скипы и контейнеры
Какие контейнеры есть у этой организации и где они: отслеживаемые поштучно с инвентарным номером и состоянием, и типы, учитываемые как текущий итог. Используйте для «сколько свободных 8-ярдовых скипов у нас есть», «где скип 214», «что сдано в аренду».
| container_type | optional | Тип контейнера для фильтрации, например skip, roro, bin. |
|---|---|---|
| container_size | optional | Размер контейнера для фильтрации, например 8yd. |
| state | optional | Состояние отдельно отслеживаемого контейнера, например in_yard, on_site, in_transit. |
find_contracts
Контракты и сезонные абонементы
Перечислить постоянные соглашения этой организации: контракты и сезонные абонементы, какие отходы каждый покрывает, даты действия и подписали ли обе стороны. Используйте для «что у нас по контракту», «подписан ли тот сезонный абонемент», «что истекает в этом месяце».
| site_id | optional | Только соглашения для этой площадки. |
|---|---|---|
| active_only | optional | Только действующие соглашения. По умолчанию false. |
consignee_returns
Квартальные отчёты получателя
Квартальные отчёты получателя этой организации по принятым опасным отходам: квартал, что и когда должно быть подано, сколько партий и какой вес, и отправлен ли отчёт. Используйте для «готов ли наш отчёт получателя», «что нужно подать в этом квартале». Только для приёмщиков; у перевозчика их нет.
| quarter | optional | Метка квартала, например "Q1 2026". |
|---|---|---|
| status | optional | Статус для фильтрации: not_started, generated, reviewed или submitted. |
find_waste_codes
Найти код отходов
Искать в Европейском каталоге отходов (EWC) по коду или по описанию отходов, и указать, является ли каждый код опасным или зеркальной записью. Используйте для «какой код у гипсокартона», «опасен ли 17 05 03». Это опубликованный национальный список, а не собственные данные организации.
| query | required | Код или его часть ("17 05"), или слова, описывающие отходы ("гипсокартон"). |
|---|---|---|
| hazardous_only | optional | Только опасные коды. По умолчанию false. |
create_customer
Добавить заказчикаwrites
Добавить заказчика (площадку сбора, с которой организация собирает отходы). Отвечает, чего ещё не хватает, если что-то обязательное отсутствует, и ничего не записывает. Если заказчик с таким именем и почтовым индексом уже существует, возвращает его вместо создания второго.
| name | required | Компания или лицо, которому принадлежат отходы |
|---|---|---|
| address | required | Откуда собираются отходы |
| postcode | required | Почтовый индекс адреса сбора |
| producer_type | optional | Отходы от бизнеса или домохозяйства. По умолчанию business. |
| contact_name | required | Кого спрашивать на площадке |
| contact_email | optional | Их email |
| contact_phone | optional | Их номер телефона |
| sic_code | optional | Код SIC производителя, если известен |
create_receiving_site
Добавить приёмную площадкуwrites
Добавить приёмную площадку (свалку, перегрузочную станцию или предприятие по переработке, куда отходы доставляются). Отвечает, чего ещё не хватает, если что-то обязательное отсутствует, и ничего не записывает.
| name | required | Название площадки |
|---|---|---|
| address | required | Адрес площадки |
| postcode | required | Почтовый индекс площадки |
| permit_number | optional | Номер экологического разрешения или лицензии на исключение |
| contact_name | optional | К кому обращаться на проходной |
| contact_email | optional | Их адрес электронной почты |
| contact_phone | optional | Их номер телефона |
| is_own_site | optional | True только если это собственная площадка организации, а не чья-то ещё. По умолчанию false. |
create_carrier
Добавить перевозчика или брокераwrites
Добавить перевозчика, брокера или дилера, с которым работает организация. Отвечает, чего ещё не хватает, если что-то из обязательного отсутствует, и ничего не записывает.
| company_name | required | Название компании перевозчика или брокера |
|---|---|---|
| registration_number | optional | Их регистрационный номер перевозчика отходов, если известен |
| contact_name | optional | С кем связаться |
| contact_email | optional | Их адрес электронной почты |
| contact_phone | optional | Их номер телефона |
| address | optional | Их адрес |
| postcode | optional | Их почтовый индекс |
| notes | optional | Всё, что стоит о них записать |
create_vehicle
Добавить транспортное средствоwrites
Добавить транспортное средство в автопарк. Отвечает, чего ещё не хватает, если что-то из обязательного отсутствует, и ничего не записывает. Если регистрационный номер уже есть в автопарке, возвращается это транспортное средство вместо создания второго.
| registration | required | Номерной знак |
|---|---|---|
| make | optional | Производитель |
| description | optional | Модель или описание |
| vehicle_type | optional | Тип транспортного средства, например самосвал с крюковым захватом или самосвал с опрокидывающимся кузовом |
| mot_expiry | optional | Когда истекает срок техосмотра (ГГГГ-ММ-ДД) |
| tax_expiry | optional | Когда истекает срок налогового сбора (ГГГГ-ММ-ДД) |
| max_weight_tonnes | optional | Полная масса в тоннах |
create_driver
Добавить водителяwrites
Добавить водителя, чтобы ему можно было назначать задания и подписывать передаточные документы в приложении водителя. Использует одну из квот на водителей тарифа и отказывает, если все они заняты. Никому не выдаёт офисный доступ: его выдаёт владелец или администратор на странице Team. Тот, кто уже есть в команде, получает приложение водителя, добавленное к уже имеющейся записи.
| name | required | Их полное имя |
|---|---|---|
| required | Их адрес электронной почты, на который отправляется приглашение в приложение водителя | |
| phone_number | optional | Их номер телефона |
| role | optional | Чем они занимаются, например водитель HGV |
| address | optional | Их домашний адрес |
| postcode | optional | Их домашний почтовый индекс |
| licence_expiry | optional | Когда истекает срок их водительских прав (ГГГГ-ММ-ДД) |
| emergency_contact_name | optional | Кому звонить в экстренном случае |
| emergency_contact_phone | optional | Номер телефона этого человека |
create_enquiry
Зарегистрировать запрос на вывозwrites
Зарегистрировать запрос на вывоз (обращение) от клиента, чтобы офис мог подготовить котировку. Отвечает, чего ещё не хватает, если что-то из обязательного отсутствует, и ничего не записывает.
| company_name | required | Компания, которая обращается |
|---|---|---|
| contact_name | required | Кто связался |
| contact_email | required | Их адрес электронной почты |
| contact_phone | required | Их номер телефона |
| site_address | required | Где находятся отходы |
| postcode | optional | Почтовый индекс этого адреса |
| waste_description | required | Что это за отходы, их словами |
| service_type | optional | Что они запрашивают, например контейнер или загрузка грейфером |
| estimated_weight | optional | Примерный объём в тоннах |
| preferred_date | optional | Когда им удобно (ГГГГ-ММ-ДД) |
| access_notes | optional | Всё о доступе на площадку |
Запись
Шесть инструментов create_ добавляют клиента, принимающую площадку, перевозчика или брокера, транспортное средство, водителя и запрос на вывоз. Это способ внести данные в LoadSnap, описав их в разговоре, вместо заполнения формы или подготовки таблицы.
Никогда ничего не записывается частично. Если в вызове отсутствует что-то обязательное, ничего не записывается, а в ответе приводится список того, чего ещё не хватает, сформулированный в виде вопросов, чтобы ассистент запросил это и вызвал инструмент снова. Если вызов касается уже существующей записи, возвращается имеющаяся запись, а не создаётся вторая, поэтому повторный запуск одного и того же запроса не может оставить дубликат.
Добавленный таким образом водитель использует одну из квот на водителей тарифа и получает отказ, когда все они заняты, точно так же, как на странице Team, и сопоставляется с людьми, уже состоящими в команде, так что тот, кто уже там работает, получает приложение водителя, добавленное к имеющейся записи. Никому не выдаётся офисный доступ: это платное место и путь в бизнес, и его выдаёт владелец или администратор на странице Team.
Подача отчётности в DEFRA, подписание передаточного документа, выставление счёта и удаление чего-либо намеренно сюда не включены. Это действия, которые человек выполняет в LoadSnap, и они остаются за ним.
Интерактивная панель
Сервер публикует интерактивную панель как ресурс MCP по адресу ui://loadsnap/panel, и каждый инструмент указывает на неё. Клиент, поддерживающий расширение apps, отображает ответ в виде панели в разговоре: таблицу записей, карточку только что добавленной записи или контрольный список того, чего ещё не хватает перед сохранением.
Это один автономный документ без собственных данных, без токена и без обращения к сети. Клиент передаёт в него ответ инструмента. Каждый инструмент также возвращает этот ответ в виде текста, поэтому клиент, не отображающий панели, показывает ровно то, что показывал всегда.
Ограничения и форматы
Вес возвращается в килограммах, если в названии поля не указано tonnes. Даты указываются в формате ISO (ГГГГ-ММ-ДД). Поиск возвращает 25 наиболее релевантных совпадений; count_movements считывает до 1 000 строк и сообщает count_is_capped при достижении этого предела, поэтому ограниченное значение никогда не выдаётся за точный итог. То же самое касается суммы задолженности в find_invoices, которая сообщает totals_are_capped. Записи, добавленные в качестве образцов, исключаются из всех результатов.
Требования
Учётная запись LoadSnap на тарифе Pro или выше и логин, принадлежащий организации LoadSnap. Каждый подключающийся использует свой собственный логин, поскольку соединение авторизуется от его имени.
Вопросы о коннекторе? Напишите на info@loadsnap.co.uk или прочитайте обзор коннектора.