analyse_site
ChatGPTPerform a geospatial planning analysis for a specific site. Given a site reference, returns all planning-relevant data that intersects or surrounds the site: - Which local planning authority (district) the site falls within - Planning applications on the site (full history) and within a 500m surrounding ring (last 3 years) - Allocations, SHLAA sites, and Local Plan Policies that overlap the site - Planning constraints: AONB, SSSI, flood zones, green belt, conservation areas, listed buildings, scheduled monuments, ancient woodland, TPOs, national parks, SAC, SPA, Ramsar, agricultural land classification, radon, surface water, coal mining, AQMA, and 20+ more layers - Land Registry titles intersecting the site This is the right tool when the user has a specific site in mind and wants to understand its planning context — as opposed to district-level tools which return data for an entire local authority area. GEOMETRY NOTE: All coordinates must be in British National Grid (SRID 27700 / OSGB36), not WGS84 (lat/lng). If the user provides lat/lng coordinates, ask them to convert to BNG first, or use a title number or site_id instead.
get_allocations
ChatGPTGet allocated development sites for a UK district. Returns individual allocated sites from the Local Plan, with address, policy notes, site size, and allocation type. Each site includes: - Site name and address - Allocation type: Adopted (full weight), Draft (limited weight), Withdrawn, or Deallocation - Allocation notes — the policy text describing what development is expected or permitted on the site - Site size (hectares) and units (dwellings) where available A district can have hundreds of allocations. Use keywords to filter to relevant sites, e.g. ['residential', 'housing'] or ['employment'] or a specific road name or area.
get_application_documents
ChatGPTList all documents attached to a planning application, with classification metadata. Given a planning application UUID, returns each document's id, title, category classification, and a direct URL to the document on the Landstack platform. Always share these URLs with the user — they can open the document directly. Document categories include: Officer Report, Decision Notice, Appeal Decision, Design and Access Statement, Planning Supporting Statement, Viability Statement, Transport Assessment, Flood Risk Assessment, Environmental Impact Assessment, Affordable Housing Statement, and 50+ more types. This tool returns metadata only — no document text. Use get_document_text to fetch the full content of a specific document once you've identified which one you want. Optionally filter by category (e.g. 'OFFICER_REPORT') to return only documents of that type.
get_document_text
ChatGPTFetch the full extracted text of a single planning document. Given a planning application UUID and a document_id (obtained from get_application_documents), returns the document's classification, full extracted text content, and a direct URL to the document on the Landstack platform. Always share this URL with the user alongside any analysis. Documents can be very large (50k+ characters). If the document exceeds the response size budget, the text will be truncated and a clear marker included so you know what you're seeing. The original character count is always returned.
get_local_plans
ChatGPTGet the local plans in force for a UK district. Returns all active local plans for the district — there will often be more than one (e.g. an adopted district Local Plan plus one or more Neighbourhood Plans, or an emerging replacement plan alongside the adopted one). Each plan includes: - Name and type (Local Plan / Joint Spatial Plan / Minerals and Waste Plan) - Current stage in the adoption process (Scoping → Issues & Options → Preferred Options → Pre-Submission → Submission → Independent Examination → Adopted) - Status (Current / Emerging) — use this to judge weight in decision-making - Number of policies available (use search_local_plan_policies to retrieve them) - URL to the published plan document Use this first to understand what plans exist before fetching policies.
get_neighbourhood_plan_policies
ChatGPTGet the policies within neighbourhood plans for a UK district. THIS TOOL COVERS NEIGHBOURHOOD PLANS ONLY (parish-level plans). For district Local Plan policies, use search_local_plan_policies instead. Returns individual policies grouped by neighbourhood plan, showing which specific plan each policy comes from, its policy group (e.g. "Village Centre", "Core Shopping Zone", "Strategic Employment Sites"), and the full policy text. Each policy maps to a policy type: - Economy — employment, retail, economic development policies - Transport — highways, cycling, parking policies - Open / Green Space — parks, green infrastructure, amenity policies - Constraints and Conservation — heritage, design, environmental constraints - General Development — general development management policies - Proposed Development — specific site allocations proposed in the NP Use get_neighbourhood_plans first to see which plans are in force for the district and whether they are 'made' (full weight) or 'emerging'. Filter by plan_name to get policies from a specific plan, e.g. 'South Cerney'. Filter by policy_type to see just Economy or Transport policies across all plans.
get_neighbourhood_plans
ChatGPTGet neighbourhood plans for a UK district. Neighbourhood plans are community-led planning documents that set policies for a specific parish or neighbourhood area. Once 'made' (adopted), they carry full weight alongside the district Local Plan. Returns all neighbourhood plans with: - Plan name and the parish/area it covers - Status: 'made' (fully adopted) or 'emerging' (in preparation) - URL to the published plan document A district typically has many neighbourhood plans across different parishes. Use status='made' to return only those carrying full weight. Use alongside get_local_plans for a complete picture of planning policy.
get_shlaa_sites
ChatGPTGet Strategic Housing Land Availability Assessment (SHLAA/SHELAA/HELAA) sites for a UK district. A SHLAA assesses sites put forward by landowners for their potential to deliver housing or employment development. Each assessed site includes: - Site name and address - Assessment type: LAA Positive (suitable/available/achievable), LAA Negative (not deliverable), LAA Not Assessed, Call for Sites, or Ruled Out - Planning notes — the authority's assessment of the site's suitability, constraints, and potential capacity Use keywords to narrow results to specific areas or site types.
lookup_titles_by_address
ChatGPTLook up Land Registry title numbers from a list of addresses or postcodes. Takes a list of address strings or UK postcodes and returns matching title records from the Land Registry dataset. Each result includes the title_no, registered address, postcode, and tenure (Freehold/Leasehold). Use this when: - The user provides one or more property addresses and wants to know the title number - You need a title_no to pass to analyse_site for full planning context - Checking which titles exist at a specific address or postcode Inputs can be mixed — postcodes (e.g. "SW1A 1AA") use an exact match; anything else is matched as a case-insensitive substring against the registered address. Up to 20 titles are returned per input. If the goal is planning context for a specific property, pass the title_no straight to analyse_site without waiting for user confirmation — unless multiple titles are returned and it is genuinely unclear which one the user means.
search_company_ownership
ChatGPTSearch the publicly available HM Land Registry corporate ownership dataset (CCOD/OCOD) to find all titles registered to a company. Search by company name (substring match) and/or company registration number. Returns the matching company details and all their registered title records, including title number, address, tenure, district, region, and price paid. Useful for: - Finding all land/property owned by a developer, housebuilder, or landowner - Checking whether a site is owned by a specific company - Identifying corporate landholdings in an area - Overseas company ownership (OCOD data included) Note: This covers corporate/company ownership only. Private individual ownership is not in the public dataset and requires a title purchase.
search_local_plan_policies
ChatGPTSearch the policies within district-level local plans for a UK district. THIS TOOL COVERS DISTRICT LOCAL PLANS ONLY. For neighbourhood plan policies (parish-level plans like "South Cerney Neighbourhood Plan"), use get_neighbourhood_plan_policies instead. Returns policy summaries grouped by plan. A district typically has multiple plans in force simultaneously — policies from all of them are returned and clearly labelled with their source plan, so you know which plan each policy comes from and what weight to give it (Adopted carries full weight; Emerging plans carry weight proportionate to their stage). Without keywords: returns all policies across all plans for the district. With keywords: returns only policies whose policy number or summary text contains any of the supplied keywords (case-insensitive). Typical workflow: 1. Call get_local_plans to see what plans exist for the district. 2. Call this tool with relevant keywords to find applicable policies, e.g. ["housing", "affordable"] or ["green belt"] or ["heritage"].
search_planning_applications
ChatGPTSearch for UK planning applications with various filters. Use this to find planning applications by: - Application reference number or district/local authority - Keywords in the application description, or phrases in the full text of attached documents (officer reports, decision notices, supporting statements or others) - Decision status (granted, refused, pending, withdrawn etc.) - Submission date ranges (submitted_date_after / submitted_date_before) - Application decision date ranges (decision_date_after / decision_date_before) - Appeal submission date ranges (appeal_submitted_date_after / appeal_submitted_date_before) - Appeal decision date ranges (appeal_decision_date_after / appeal_decision_date_before) - Number of residential units, applicant name, application type, use class Each result includes a uuid, url (direct link to the application on the LPA's own planning portal — always share this with the user), and site_id. Use the uuid with get_application_documents to list documents, then get_document_text to read them. Use site_id or the planning app reference number with analyse_site for full geospatial planning context. Where an appeal exists, appeal_url links to the appeal record on the LPA portal. When document_keywords is supplied, results include a matching_documents array with document_id values and text snippets — pass the document_id directly to get_document_text to read the full document. Note: this tool searches by description text and metadata — it does NOT search by address. If the user asks about planning applications at a specific property address and keyword results are poor or empty, use lookup_titles_by_address to get the title_no, then call analyse_site with it instead.