20 days until digital waste tracking is mandatoryThe guide

Documentation

MCP server reference

Everything needed to connect an AI assistant to a LoadSnap account, and what it can read once connected.

Endpoint

https://app.loadsnap.co.uk/api/mcp

A remote Model Context Protocol server using the Streamable HTTP transport: JSON-RPC 2.0 over a single POST. The server is stateless, so there is no session header and no server-initiated event stream, and a GET returns 405.

Add it to Claude, Claude Code, ChatGPT, Cursor or any other MCP-compatible client as a custom or remote connector, using that URL. There is no API key to paste.

Authentication

OAuth 2.1: authorization code with PKCE, plus Dynamic Client Registration, so a client onboards itself with no manual setup. Discovery works the usual way, an unauthenticated request returning 401 with a WWW-Authenticate header pointing at the protected-resource metadata.

Protected resource metadata/.well-known/oauth-protected-resource
Authorization server metadata/.well-known/oauth-authorization-server
Dynamic client registration/api/oauth/register
Authorization/oauth/authorize
Token/api/oauth/token

The person signs in to LoadSnap and approves the connection on a screen naming the client and their organisation. Access tokens last an hour and are renewed with a refresh token, so the connection keeps working without signing in again.

Access is authorised as a person, not as a key. Organisation membership and plan are re-checked on every request, so removing someone from an organisation ends their connector access with it.

Scope of access

Every query is hard-filtered to the authorised user's organisation, resolved server-side from the token. The client never supplies an organisation, so it cannot request another company's data. Row-level security enforces the same boundary in the database underneath.

The server is read-only. There is no tool that creates, edits or deletes anything.

Tools

find_movements

Lists or searches waste movement records (Waste Transfer Notes) and jobs.

nameoptionalProducer, customer or carrier name. Omit to list everything in the date range.
date_fromoptionalISO date (YYYY-MM-DD) lower bound on the collection date.
date_tooptionalISO date (YYYY-MM-DD) upper bound on the collection date.

find_receipts

Lists or searches receipts for waste arriving at the organisation's own site.

nameoptionalCarrier or producer name. Omit to list everything received in the range.
date_fromoptionalISO date (YYYY-MM-DD) lower bound on the received date.
date_tooptionalISO date (YYYY-MM-DD) upper bound on the received date.

count_movements

Counts movements over a period and totals their weight, optionally split by direction.

date_fromoptionalISO date (YYYY-MM-DD) lower bound on the collection date.
date_tooptionalISO date (YYYY-MM-DD) upper bound on the collection date.
directionoptionalinbound, outbound or all. Inbound is waste taken in at the organisation's own site.

defra_filings

Counts and lists DEFRA Digital Waste Tracking submissions, and the records still waiting to be filed.

date_fromoptionalISO date (YYYY-MM-DD) lower bound on the submission date.
date_tooptionalISO date (YYYY-MM-DD) upper bound on the submission date.
include_outstandingoptionalAlso return records not yet filed. Defaults to true.

find_parties

Resolves a company or site name to the organisation's known carriers and sites.

namerequiredCompany or site name.

Limits and formats

Weights are returned in kilograms unless a field name says tonnes. Dates are ISO (YYYY-MM-DD). The two search tools return the 25 most recent matches; count_movements reads up to 1,000 rows and reports count_is_capped when it reaches that ceiling, so a capped figure is never presented as an exact total. Records seeded as samples are excluded from every result.

Requirements

A LoadSnap account on the Pro plan or above, and a login that belongs to a LoadSnap organisation. Everyone connecting uses their own login, because the connection is authorised as them.

Questions about the connector? Email info@loadsnap.co.uk, or read the connector overview.