Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

BuildBatch

REMOTE · BUILDBATCH.CO.UK · SCANNED OCT 7

UK DIY shopping lists for one room: paint, wallpaper, tiles, flooring and more, in real packs.

Available components

70 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security77
Transport & Reachability100
Schema Quality & AI Usability51
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2746 tokens (~1373/item across 2 items; 2 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
  • Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 2 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 3 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the BuildBatch MCP server?

BuildBatch is a hosted endpoint at https://buildbatch.co.uk/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · buildbatch.co.uk

# add to Claude Code
claude mcp add --transport http uk-co-buildbatch-buildbatch 'https://buildbatch.co.uk/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "uk-co-buildbatch-buildbatch": {
      "url": "https://buildbatch.co.uk/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "uk-co-buildbatch-buildbatch": {
      "type": "http",
      "url": "https://buildbatch.co.uk/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.uk-co-buildbatch-buildbatch]
url = "https://buildbatch.co.uk/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "uk-co-buildbatch-buildbatch": {
      "type": "remote",
      "url": "https://buildbatch.co.uk/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add uk-co-buildbatch-buildbatch --url 'https://buildbatch.co.uk/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  uk-co-buildbatch-buildbatch:
    url: "https://buildbatch.co.uk/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "uk-co-buildbatch-buildbatch": {
      "Transport": "http",
      "Url": "https://buildbatch.co.uk/mcp"
    }
  }
}
# add to Vellum
assistant mcp add uk-co-buildbatch-buildbatch -t streamable-http -u 'https://buildbatch.co.uk/mcp'
// mcp.json
{
  "mcpServers": {
    "uk-co-buildbatch-buildbatch": {
      "type": "http",
      "url": "https://buildbatch.co.uk/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 7 Oct 26 +1
    • Schema quality: 1247 → 1373 ▼ functional
    • “plan_room” added an optional parameter “carpet.covering” cosmetic
    • “plan_room” added an optional parameter “concrete” cosmetic
    • “plan_room” added an optional parameter “concrete.extra” cosmetic
    • “plan_room” added an optional parameter “concrete.step” cosmetic
    • “plan_room” added an optional parameter “concrete.supply” cosmetic
    • “plan_room” added an optional parameter “concrete.thickness” cosmetic
    • “plan_room” added an optional parameter “concrete.weight” cosmetic
    • “plan_room” added an optional parameter “concrete.yield” cosmetic
    • “plan_room” reworded the description of “height” cosmetic
  • 4 Oct 26 +1
    • “plan_room” added an optional parameter “bath” cosmetic
    • “plan_room” added an optional parameter “floor.tileh” cosmetic
    • “plan_room” added an optional parameter “floor.tilew” cosmetic
    • “plan_room” added an optional parameter “walltiles.tileh” cosmetic
    • “plan_room” added an optional parameter “walltiles.tilew” cosmetic

    5 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

  • 3 Oct 26 +1
    • Stability: unverified → 0.03 ▲ functional
  • 2 Oct 26 67

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 8 Oct 2026 · Probed https://buildbatch.co.uk/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=buildbatch.co.uk CN=WE1,O=Google Trust Services,C=US 29 Sept 2026 28 Dec 2026 ECDSA 256 ECDSA-SHA256 f380659b18f1da2e13cb74c498ce3585
SANs: buildbatch.co.uk, *.buildbatch.co.uk
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of buildbatch.co.uk. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
uk. present 43876 8 Verified
co.uk. present 11810 8 Verified
buildbatch.co.uk. present 2371 13 Verified
buildbatch.co.uk. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=15552000
content-security-policy default-src 'self'; script-src 'self' https://static.cloudflareinsights.com/beacon.min.js https://www.googletagmanager.com; style-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; font-src 'self'; connect-src 'self' https://cloudflareinsights.com https://www.googletagmanager.com https://*.google-analytics.com https://*.analytics.google.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; object-src 'none'
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), payment=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://buildbatch.co.uk/mcp Verified 200
http (plaintext) http://buildbatch.co.uk/mcp HTTPS enforced 301 https://buildbatch.co.uk/mcp
MCP tools · 4 exposed · ~3,323 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
ask_questions ~50

Returns BuildBatch's full ordered question script (about 24 KB) for a detailed room plan: each question for the person, its allowed answers, which are required and when each applies. Takes no arguments.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

find_guide ~80

Finds BuildBatch's guides for a decorating or flooring question (how long between coats, how many tiles in a square metre, what to buy to lay laminate), and returns up to three with each guide's own short answers and its address. It does not work out quantities for a room.

NameTypeReqDescription
querystringyesThe question, in plain words.

No output schema declared.

No examples provided.

plan_room ~2,718

Works out the whole shopping list for one room, with every option the planner has: exact door and window sizes, a product's own coverage and pack sizes, an L-shaped room, tiling part-way up a wall. Arguments are the named parameters of /plan.json. A job is required. Repeated door, window and opening values are arrays. No price is used; price arguments are ignored and named in the answer. Returns a short shopping list; the structured content has every line, its working and each shop's search link.

NameTypeReqDescription
batharray–A bath or shower tray: a name (bath-1700, tray-900) or its length along the wall x its rim height x how far it comes into the room, in the units. The wall behind it comes off up to the rim, and its f…
boardstring–Whether the plasterboard uses labelled example figures (quick) or figures from the board and system specification (custom). Needed for the keys below to take effect.
board.adhesive––Wall boards one bag of plasterboard adhesive fixes, from its instructions.
board.extra––Percent to add for cuts.
board.finishstring–How the boards will be finished.
board.fixingstring–How the boards will be fixed.
board.layers––Whole layers from the complete system specification.
board.length––Board length in metres.
board.skim––Metres squared one bag of finish plaster covers, from the bag.
board.width––Board width in metres.
carpetstring–Whether the carpet uses the labelled example roll figures (quick) or figures from the carpet and shop (custom). Needed for the keys below to take effect.
carpet.allowance––The trimming allowance in metres, added once to each room measurement.
carpet.coveringstring–What is laid from the roll: carpet (with underlay and gripper) or sheet vinyl (loose laid, taped or glued; no underlay). Sheet vinyl is sold in 2, 3 and 4 m widths; its quick example is a 3 m roll.
carpet.directionstring–Which way the pile or pattern must run. Not decided lets the planner show the smaller one-piece cut that fits.
carpet.step––The step in metres in which the shop sells the cut length.
carpet.underlay––Metres squared covered by one chosen underlay roll or pack.
carpet.width––The fixed width of the carpet roll in metres.
ceilingstring–What the ceiling gets: paint, board or none.
ceilingpaintstring–Whether the ceiling paint uses the labelled example figures (quick) or figures read off the tin (custom). Needed for the keys below to take effect.
ceilingpaint.coats––Coats on the tin, for the ceiling paint. Custom only.
ceilingpaint.coverage––Metres squared covered by one litre in one coat, from the tin, for the ceiling paint. Custom only.
ceilingpaint.examplesstring–Which of coats, coverage, extra and tins are still the labelled example figures. Leave it out unless the planner wrote it.
ceilingpaint.extra––Percent to add for waste and touch-ups, for the ceiling paint. Custom only.
ceilingpaint.tinsstring–Tin sizes in litres, comma separated, for the ceiling paint. A size may carry a price after "@": the price is accepted and ignored.
checkstring–Line ids, comma separated, to mark Check first before the list is made. The ids are in the answer's lines. Rarely needed.
concretestring–Whether the concrete slab uses labelled example figures (quick) or the thickness decided for the job and figures read off the bag (custom). Needed for the keys below to take effect. The room is the s…
concrete.extra––Percent to add for an uneven base and spillage.
concrete.step––The step in cubic metres the supplier sells ready-mixed concrete in. Ready-mixed only; optional.
concrete.supplystring–Bags of dry mix, or ready-mixed concrete delivered by the cubic metre.
concrete.thickness––Slab thickness in millimetres, decided for the job. BuildBatch suggests none.
concrete.weight––The weight of one bag in kilograms. Bags only.
concrete.yield––Cubic metres one bag makes, as printed on the bag. Bags only.
doorarray–One per door, the value repeated for more. A typical size by name (int-762 is a standard internal door) or width x height in the units. *2 after it means two the same.
end––Written by the planner as the last pair of a list link: the number of pairs before it. Leave it out of a call.
fittingstring–How the floor is fitted. Default unsure. Used by flooring jobs.
floorstring–Whether the flooring uses the labelled example figures (quick) or figures read off the pack (custom). Needed for the keys below to take effect.
floor.adhesive––Floor tiles: metres squared one bag of adhesive covers.
floor.coveringstring–What the floor is. Default laminate.
floor.examplesstring–Which of extra and packs are still the labelled example figures. Leave it out unless the planner wrote it.
floor.extra––Percent to add for cuts. Custom only.
floor.grout––Floor tiles: metres squared one bag of grout covers.
floor.packsstring–Metres squared in one pack or box, comma separated for several sizes. A size may carry a price after "@": the price is accepted and ignored.
floor.tileh––Floor tiles: the other side of a tile, in millimetres (with floor.tilew).
floor.tilew––Floor tiles: one side of a tile, in millimetres, for a count of tiles (with floor.tileh). Optional; the boxes are still counted by area.
floor.underlaystring–Whether underlay is needed.
floor.underlay.price––Accepted and ignored: this interface uses no prices.
floor.underlay.roll––Metres squared in one roll of underlay.
groundstring–Whether the floor is on the ground floor. Default unsure. Used by flooring jobs.
havestring–Line ids, comma separated, to mark Already have before the list is made. The ids are in the answer's lines. Rarely needed.
heightstring–Floor to ceiling, in the units. Needed when walls are painted, papered, tiled or boarded (paint-carpet too); not for flooring, carpet, loft insulation, concrete or skirting alone.
jobstringyesThe job. Required. wallpaper is the paint job with papered walls and no ceiling; tiles is the paint job with tiled walls and no ceiling; both is paint and a new floor; paint-carpet is paint and one u…
lengthstring–One side of the floor, in the units. A length may carry its own unit (360cm, 4200mm). Not needed when plan is given.
lengthsstring–Whether the skirting and architrave lengths are the labelled examples (quick) or the lengths the shop sells (custom). Needed for the keys below to take effect.
lengths.architrave––Length the architrave is sold in, in metres.
lengths.architrave.price––Accepted and ignored: this interface uses no prices.
lengths.skirting––Length the skirting is sold in, in metres.
lengths.skirting.price––Accepted and ignored: this interface uses no prices.
loftstring–Whether the loft insulation uses labelled example figures (quick) or figures measured in the loft and read from the chosen roll (custom). Needed for the keys below to take effect.
loft.depth––Thickness of one new mineral-wool layer in millimetres, from the chosen roll.
loft.existing––Existing insulation depth in millimetres.
loft.extra––Percent to add for cuts and fitting.
loft.pack––Square metres covered by one chosen roll or pack.
loft.target––Chosen target insulation depth in millimetres.
namestring–What the room is called. Optional. It is carried into the links the answer gives, where the person can also add it themselves.
needstring–Line ids, comma separated, to mark Need before the list is made. The ids are in the answer's lines. Rarely needed.
not-neededstring–Line ids, comma separated, to mark Not needed before the list is made. The ids are in the answer's lines. Rarely needed.
openingarray–Any other opening to take off the walls (a garage door, an archway), as width x height or a name. The key may be repeated.
paperstring–Whether the wallpaper is the labelled example roll (quick) or read off the label (custom). Needed for the keys below to take effect.
paper.length––Roll length in metres.
paper.matchstring–How the pattern lines up.
paper.paste––Rolls one packet of paste does.
paper.price––Accepted and ignored: this interface uses no prices.
paper.repeat––Pattern repeat in centimetres. 0 or left out for none.
paper.width––Roll width in centimetres.
planstring–A room that is not a rectangle: its corners in turn, in metres whatever units says, as x,y pairs separated by ";". Replaces length and width. Up to 24 corners.
subfloorstring–What is under a new floor. Default unsure. Used by flooring jobs.
surfacestring–What the painted surfaces are like now. Default sound, the planner's own default. Used by painting jobs.
trimstring–New skirting, architrave or both, with any job. Default skirting for the skirting job, else none.
unitsstring–What length, width, height and the doors are measured in. Default m. In ft write 13ft9in, or 13 for whole feet.
v––The version of the format. 1. Left out, 1 is assumed and the answer says so.
wallpaintstring–Whether the wall paint uses the labelled example figures (quick) or figures read off the tin (custom). Needed for the keys below to take effect.
wallpaint.coats––Coats on the tin, for the wall paint. Custom only.
wallpaint.coverage––Metres squared covered by one litre in one coat, from the tin, for the wall paint. Custom only.
wallpaint.examplesstring–Which of coats, coverage, extra and tins are still the labelled example figures. Leave it out unless the planner wrote it.
wallpaint.extra––Percent to add for waste and touch-ups, for the wall paint. Custom only.
wallpaint.tinsstring–Tin sizes in litres, comma separated, for the wall paint. A size may carry a price after "@": the price is accepted and ignored.
wallsstring–What the walls get. The job sets it, so it is rarely needed: paint, wallpaper, tiles, board or none.
walltilesstring–Whether the wall tiles are the labelled example box (quick) or read off the box (custom). Needed for the keys below to take effect.
walltiles.adhesive––Metres squared one bag of adhesive covers.
walltiles.box––Metres squared in one box. Custom only.
walltiles.extra––Percent to add for cuts.
walltiles.grout––Metres squared one bag of grout covers.
walltiles.height––Metres up the wall the tiles go. Left out: to the ceiling.
walltiles.price––Accepted and ignored: this interface uses no prices.
walltiles.tileh––The other side of a wall tile, in millimetres (with walltiles.tilew).
walltiles.tilew––One side of a wall tile, in millimetres, for a count of tiles (with walltiles.tileh). Optional; the boxes are still counted by area.
widthstring–The other side of the floor, in the units. Not needed when plan is given.
windowarray–One per window, the key repeated for more. A typical size by name or width x height in the units. Add *2 for two the same.

No output schema declared.

No examples provided.

quick_room_list ~475

Works out how much paint, wallpaper, wall tiles, flooring, carpet, skirting, loft insulation, plasterboard or concrete one room needs, and everything else to buy for the job (preparation, tools, safety), in real UK pack sizes. Takes the job and either the room's length, width and height, or a typical room by name for a room that has not been measured; the answer then states that the measurements are typical. Returns a short shopping list and a link to the whole list. It does not take exact door sizes, a product's own coverage or pack size, tiling part-way up a wall or an L-shaped room.

NameTypeReqDescription
doorsinteger–How many doors. Each is taken off the wall area at a typical size.
heightnumber–Floor to ceiling, in the units. Needed for paint, wallpaper and wall tiles. 2.4 m is a typical UK ceiling height.
jobstringyesThe job. Required. wallpaper is the paint job with papered walls and no ceiling; tiles is the paint job with tiled walls and no ceiling; both is paint and a new floor; paint-carpet is paint and one u…
lengthnumber–The room's length, in the units.
roomstring–A typical room, for a person who has not measured: bedroom-small (3 m × 2.5 m), bedroom-large (4 m × 3.5 m), living-small (4 m × 3 m), living-large (5.5 m × 4 m), kitchen-small (3 m × 2 m), kitchen-l…
unitsstring–What the measurements are in. Metres if left out.
widthnumber–The room's width, in the units.
windowsinteger–How many windows. Each is taken off the wall area at a typical size.

No output schema declared.

No examples provided.

Common questions

What is the BuildBatch MCP server?

BuildBatch is an MCP server listed in the public MCP registry as uk.co.buildbatch/buildbatch. UK DIY shopping lists for one room: paint, wallpaper, tiles, flooring and more, in real packs. This page covers its hosted endpoint (https://buildbatch.co.uk/mcp).

Is the BuildBatch MCP server safe to use?

BuildBatch scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the BuildBatch MCP server expose?

BuildBatch exposes 4 tools: quick_room_list, plan_room, find_guide, ask_questions. Their descriptions and schemas cost roughly 3,323 tokens of context every time the server is loaded.

Does the BuildBatch MCP server require authentication?

No. We connected to BuildBatch without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the BuildBatch MCP server still maintained?

BuildBatch is still listed as active in the MCP registry. We last reached this channel on 7 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.