Shop Camden Tools with your AI assistant

Camden Tools is built for AI assistants. An MCP server, an A2A agent and in-browser tools let Claude, ChatGPT, Perplexity and browser agents search the catalogue, quote live prices and stock, check delivery and hand you a ready-made basket. You always pay yourself at checkout.
MCP serverA2A agentIn-browser tools (WebMCP)v1.2.0+db1d1f2

What your assistant can do here

Everything an assistant needs to research a purchase and prepare it for you, straight from the live shop data.

Find and compare

Search the whole catalogue, open full product details and compare up to five products side by side.

Live prices

Prices ex and inc VAT with bulk breaks and sale prices, in your currency.

Stock right now

Warehouse availability checked live, so nothing is recommended that cannot ship.

Delivery and Website Express

Shipping to your country, delivery estimates and whether same-day dispatch is still open.

Offers and bundles

Current promotions, free gifts and curated kits, plus which offers apply to a basket.

Track orders

Any order by number and postcode; your own order history in the browser after you allow it.

Policies and help

Delivery, returns, payment options, FAQs, the London collection point and the blog.

A basket, ready to pay

Get one link that fills your basket, or let a browser agent do it on the page. Opening a link twice never doubles your order, and you always pay yourself.

Connect your assistant

One server URL works everywhere a custom MCP connector is accepted. No account, key or sign-in is needed for the catalogue tools.
Claude
Free, Pro and Max plans โ€” claude.ai, desktop and mobile
  1. Open Claude โ†’ Customize โ†’ Connectors (or Settings โ†’ Connectors).
  2. Choose Add custom connector, name it Camden Tools and paste the server URL.
  3. Authentication: No sign-in. Save, then enable the connector in a chat.
ChatGPT
Paid plans, with Developer mode switched on
  1. Settings โ†’ Security and login โ†’ turn on Developer mode.
  2. Settings โ†’ Plugins (Apps & Connectors) โ†’ + โ†’ name Camden Tools, paste the server URL, no authentication.
  3. In a chat, enable Camden Tools under Tools and ask away. Purchases finish on camdentools.com.
Perplexity
Custom connectors on paid plans (Mac app); answers cite camdentools.com for everyone
  1. Perplexity for Mac โ†’ Settings โ†’ Connectors โ†’ Add custom connector.
  2. Paste the server URL and save.
  3. Or simply ask Perplexity about Camden Tools products: it reads the site directly.
Gemini
Custom MCP connectors in Gemini Spark (Connected apps) and Gemini Business
  1. Gemini Spark โ†’ Connected apps โ†’ Add โ†’ paste the server URL.
  2. Consumer Gemini has no custom connectors yet; ask it about Camden Tools products and it will use the siteโ€™s public pages.

Googleโ€™s shopping agents will use the Merchant Center feed when the Universal Commerce Protocol reaches the UK.

Microsoft Copilot
No custom connectors in the consumer app; Copilot Studio can add MCP servers
  1. Copilot Studio (Microsoft 365): add the server URL as an MCP connector for your agents.
  2. Shopping inside Copilot arrives through Stripeโ€™s agentic commerce programme; the catalogue tools already work from any MCP-capable client.
Browser agents
Chrome with WebMCP, Claude in Chrome, ChatGPT Atlas, Perplexity Comet
  1. Nothing to install: every page on camdentools.com registers its tools with the browser.
  2. In Chrome, enable the WebMCP flag in chrome://flags and use an agent that speaks WebMCP; other agent browsers read the page directly.
  3. The agent can fill your basket, switch VAT display and pre-fill checkout; you see a notice for every action and pay yourself.
Your orders inside your assistant

Signing in to your account from an assistant is planned. Today, account tools (your profile and orders) work when an agent runs in your own browser on camdentools.com and you allow AI agent access on your account page.

Buying with an assistant

Assistants research and prepare; you review and pay. That split is deliberate.
What an assistant can do
  • Research: search, compare, read the specification sheets and safety documents.
  • Check the practical bits: stock, delivery to your address, Website Express cutoff, offers that apply.
  • Prepare the basket: hand you a link that fills it, or add items in the page when it runs in your browser.
  • Track an order with its number and postcode, and read your order history in the browser once you allow it.
What it cannot do
  • Pay or place an order โ€” checkout is always yours, on Stripe-hosted payment.
  • Log in, register or change your details on your behalf.
  • See card details: the tools never handle payment data.
  • Read your account from outside your browser: account tools are not offered to remote clients.

Checkout inside assistants (Microsoft Copilot, Google shopping agents and others) is arriving through Stripeโ€™s agentic commerce programme. Until it is switched on, every purchase finishes on camdentools.com.

Things to ask

Copy a prompt into your assistant once the connector is enabled.
Compare two drills

โ€œCompare the DeWalt DCD796 and the Makita DHP485 at Camden Tools: price inc VAT, weight, and which one is in stock.โ€

Delivery to Ireland

โ€œCan Camden Tools deliver a Makita DHP485 to Dublin, what would it cost and how long would it take?โ€

Track an order

โ€œTrack my Camden Tools order CT-102938, delivery postcode NW2 7JW.โ€

Safety data sheet

โ€œGet the safety data sheet and COSHH hazard codes for the adhesive you just found me at Camden Tools.โ€

Same-day dispatch

โ€œIs Website Express same-day dispatch available at Camden Tools right now, and what is the cutoff?โ€

Build a basket

โ€œBuild me a Camden Tools basket with an 18V combi drill, a set of masonry bits and a pack of 40 mm wall plugs, and give me the link to check out.โ€

For developers and agents

The machine-readable side: endpoints, every tool with its input schema, resources, prompts, skills and the rules of the road. This reference is generated from the server itself.

Endpoints and discovery documents

Connect any MCP client

Streamable HTTP, stateless, JSON responses. Paste the server URL as a remote MCP server; no authentication for the public tools. Browser GETs of the endpoint land on this page.

Server URL

https://camdentools.com/mcp

MCP Inspector

npx @modelcontextprotocol/inspector --transport http --server-url https://camdentools.com/mcp

curl

curl -s https://camdentools.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

A2A

curl -s https://camdentools.com/a2a -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"messageId":"m1","role":"ROLE_USER","parts":[{"text":"cordless drill"}]}}}'

Tools by category (32)

Every tool returns a short text summary plus structured JSON, and every link carries attribution parameters. Prices come back both ex and inc VAT. Browser-session tools are only offered to same-origin calls from the shopperโ€™s own browser.

Search and browse products, full product details, live stock, side-by-side comparisons, documents, categories and brands.

  • search_productsSearch products

    Full-text search of the Camden Tools catalogue (hand tools, power tools, accessories, safety equipment). Returns compact products with prices ex/inc VAT, stock and a link. Use page/per_page to paginate and brand/min_price/max_price to narrow down.

    ParameterTypeDescription
    query (required)stringWhat the shopper is looking for, e.g. 'cordless combi drill 18v'.
    expressbooleanOnly products eligible for Website Express same-day dispatch (UK).
    pageintegerPage number, starting at 1.
    per_pageintegerResults per page: 15, 30, 50 or 100 (default 15).
    sortstringSort order: price_low, price_high, name_asc, name_desc or newest. Omit for the default (most popular) order.
    brandstringBrand slug to filter by.
    min_pricenumberMinimum price in the locale currency.
    max_pricenumberMaximum price in the locale currency.
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
  • list_productsList products

    Browse a product collection: most popular, newest, on sale, Website Express eligible, or a category by slug (see list_categories). Supports paging, sorting and brand/price filters.

    ParameterTypeDescription
    collection (required)popular | new | on-sale | express | categoryWhich collection to list.
    category_slugstringRequired when collection is 'category'.
    min_discountnumberMinimum discount percentage (on-sale listings).
    pageintegerPage number, starting at 1.
    per_pageintegerResults per page: 15, 30, 50 or 100 (default 15).
    sortstringSort order: price_low, price_high, name_asc, name_desc or newest. Omit for the default (most popular) order.
    brandstringBrand slug to filter by.
    min_pricenumberMinimum price in the locale currency.
    max_pricenumberMaximum price in the locale currency.
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
  • get_productGet product

    Full details for one product by slug, SKU or id: description, specifications, prices ex/inc VAT with bulk breaks, stock, variants, safety/spec documents and the canonical page URL. Provide exactly one of slug, sku or id.

    ParameterTypeDescription
    slugstringProduct slug from a product URL (โ€ฆ/product/<slug>).
    skustringProduct SKU.
    idintegerNumeric product id.
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
  • get_productsGet several products

    Look up up to 50 products at once by SKU or by numeric id. Returns compact products (name, price ex/inc VAT, stock, link).

    ParameterTypeDescription
    skusarray of string
    idsarray of integer
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
  • get_stock_levelGet stock level

    Live availability check for a SKU (is it available now and how many are in the London warehouse).

    ParameterTypeDescription
    sku (required)stringProduct SKU exactly as shown on the site.
  • compare_productsCompare products

    Side-by-side comparison of 2 to 5 products by SKU: price ex/inc VAT, stock, brand, weight and the specification bullet points, so an agent can recommend between options.

    ParameterTypeDescription
    skus (required)array of string
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
  • get_product_documentsGet product documents

    Safety data sheets, specification sheets and COSHH hazard codes for a product (by slug or SKU). Returns document URLs.

    ParameterTypeDescription
    slugstringProduct slug from a product URL (โ€ฆ/product/<slug>).
    skustringProduct SKU.
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
  • list_categoriesList categories

    Product categories with slugs and links. Use popular_only for the curated set shown on the site; otherwise the full list.

    ParameterTypeDescription
    popular_onlybooleanOnly the popular categories (default false).
    limitintegerMaximum categories to return (default 100).
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
  • get_categoryGet category

    A category's name, description and its products (paged) by category slug.

    ParameterTypeDescription
    slug (required)stringCategory slug from list_categories.
    pageintegerPage number, starting at 1.
    per_pageintegerResults per page: 15, 30, 50 or 100 (default 15).
    sortstringSort order: price_low, price_high, name_asc, name_desc or newest. Omit for the default (most popular) order.
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.
  • list_brandsList brands

    Brands sold by Camden Tools (DeWalt, Makita, Milwaukee, Bosch, Stanley โ€ฆ). Without a query returns the popular brands; with a query searches brand names.

    ParameterTypeDescription
    querystringBrand name search text.
    pageintegerPage number, starting at 1.
    per_pageintegerResults per page: 15, 30, 50 or 100 (default 15).
    sortstringSort order: price_low, price_high, name_asc, name_desc or newest. Omit for the default (most popular) order.
  • get_brand_productsGet brand products

    A brand's details, its active promotions and its products (paged) by brand slug.

    ParameterTypeDescription
    slug (required)stringBrand slug from list_brands.
    pageintegerPage number, starting at 1.
    per_pageintegerResults per page: 15, 30, 50 or 100 (default 15).
    localestringStorefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices.

Resources

  • camdentools://policies/delivery โ€” Camden Tools delivery policy as markdown.
  • camdentools://policies/returns โ€” Camden Tools returns policy as markdown.
  • camdentools://policies/payment-options โ€” Camden Tools payment options policy as markdown.
  • camdentools://policies/faqs โ€” Camden Tools faqs policy as markdown.
  • camdentools://policies/contact โ€” Camden Tools contact policy as markdown.
  • camdentools://store/facts โ€” Company details, contact points, collection point and VAT display rules.
  • camdentools://llms.txt โ€” Site overview for language models (same content as https://camdentools.com/llms.txt).

Prompts

  • find_the_right_tool โ€” Help a shopper choose a product for a task, within a budget and brand preference, and hand them a basket link.Arguments: task, budget?, brand?
  • check_delivery โ€” Work out delivery options, cost and timing for a basket to a destination.Arguments: country_code, postcode?
  • compare โ€” Compare a few SKUs side by side and recommend one.Arguments: skus

A2A skills

POST a JSON-RPC SendMessage to the A2A endpoint with plain text or a JSON part carrying a skill id. Every message is answered synchronously; there are no tasks to poll.

  • search-products โ€” Find tools and equipment in the Camden Tools catalogue with prices, stock and links.Example: cordless combi drill 18v
  • product-lookup โ€” Full details for a product by SKU or slug: price ex/inc VAT, stock, variants, documents.Example: {"skill":"product-lookup","sku":"DCD796P2"}
  • compare-products โ€” Side-by-side comparison of two to five SKUs.Example: DCD796P2, DHP485Z, M18FPD2
  • create-basket โ€” Turn product ids and quantities into a link that fills the shopper's basket on camdentools.com; they review it and pay at checkout.Example: {"skill":"create-basket","items":[{"id":27155,"quantity":2},{"id":4410,"quantity":1}]}
  • order-status โ€” Track an order with its order number and delivery postcode.Example: order CT-102938 postcode NW2 7JW
  • shipping-availability โ€” Whether Camden Tools ships to a country (ISO alpha-2 code).Example: IE
  • express-delivery-status โ€” Whether same-working-day dispatch is available right now for UK orders.Example: express delivery

In-browser tools (WebMCP) (15)

Every page on camdentools.com registers these tools with the browser through the WebMCP API (navigator.modelContext). They act on the shopperโ€™s own basket and page, show a notice for every action, and account access needs the shopperโ€™s explicit consent.

  • cart_getGet basket
  • cart_add_itemAdd to basket
  • cart_update_itemUpdate basket line
  • cart_remove_itemRemove from basket
  • cart_clearEmpty basket
  • cart_apply_promoApply promo code
  • cart_remove_promoRemove promo code
  • wishlist_addAdd to wishlist
  • wishlist_removeRemove from wishlist
  • page_get_contextGet page context
  • page_navigateNavigate
  • page_set_vat_displaySet VAT display
  • page_select_variantSelect variantproduct page
  • page_prefill_checkout_addressPre-fill checkout addresscheckout page
  • page_request_account_accessRequest account access

Security and privacy

  • Public tools need no credentials. Requests are rate limited per client; a 429 means wait and retry.
  • Browser calls: only same-origin pages can use the shopperโ€™s session; cross-origin browser requests to the endpoints are refused.
  • Account tools run only after the shopper allows AI agent access (30 days, revocable on the account page) and are never offered to remote clients.
  • No card data, no payments: checkout is completed by the shopper on Stripe-hosted payment.
  • Links carry utm_source=ai-agent, utm_medium (channel), utm_campaign (client) and utm_content (tool); keep them intact.
  • Bodies over 64 KB are rejected; the MCP endpoint is stateless and answers with JSON, never streams.

Identity (Web Bot Auth)

Requests sent by Camden Toolsโ€™ own agent layer are signed with Ed25519 HTTP message signatures. Verify them against the public keys in the key directory.

Agentic checkout (ACP)

Not enabled yet The ACP discovery document returns 404 until agentic checkout through Stripe is switched on. Until then, finish with a basket link and the shopper pays on the site.

https://camdentools.com/.well-known/acp.json

Changelog

  • v1.2.0

    OAuth-ready account access for remote clients: POST /mcp/account with RFC 9728 protected resource metadata and a WWW-Authenticate challenge, account tools gated by the profile:read and orders:read scopes, and a generated /auth.md. The shopper signs in and approves the client on camdentools.com/connect; a grant that lacks a scope is reported as such (reconnect and approve it) rather than as a sign-in problem. Served once the Camden Tools authorization server is configured; until then the endpoint and its metadata return 404. create_basket_link now reports stock per line and lists out_of_stock_ids, and its link is idempotent: opening it makes sure the basket holds at least those quantities, so opening it twice never doubles them. Revoked or disconnected access tokens get the 401 invalid_token challenge.

  • v1.1.0

    New create_basket_link tool and A2A create-basket skill: one link fills the shopper's basket on the site (/cart?add=id:qty). Account tools are no longer advertised to remote clients that cannot use them. Capabilities catalogue at /api/agent-capabilities; SKILL.md, OpenAPI and llms-full.txt are generated from it. Web Bot Auth key directory. ACP discovery document (served once agentic checkout is enabled).

  • v1.0.0

    Launch: MCP server with 31 tools, 7 resources and 3 prompts; A2A agent with 6 skills; in-page WebMCP tools for the basket, wishlist, navigation, VAT display, variants, checkout prefill and account consent; discovery documents (API catalog, MCP server card, A2A agent card, OpenAPI, agent skills, ai-catalog, auth.md, llms.txt, llms-full.txt).

Machine-readable documents

Building something with Camden Tools?

Partnerships, higher rate limits and commercial integrations: get in touch.