Camden Tools
officialOfficial MCP server for Camden Tools. Live prices, Stock levels and delivery estimates for power tools, hand tools, among a lot of more items available worldwide. Worldwide delivery in 2-7 days, with UPS express. No API Key needed.
What can you do with Camden Tools MCP?
- Search and compare products — Ask for a cordless drill under £200 and get live prices, stock, and side-by-side comparisons of up to five items via
https://camdentools.com/mcp. - Check delivery and same-day dispatch — Verify shipping to your country, get delivery estimates, and see if Website Express same-day dispatch is still available for your basket.
- Build a ready-to-pay basket — Request a basket link with specific items and quantities; the assistant checks stock and hands you one link to review and pay yourself at checkout.
- Track any order — Provide an order number and delivery postcode to get status, tracking info, and line items without signing in.
- Find offers and safety docs — Ask about current promotions, free gifts, or request a product's safety data sheet and COSHH hazard codes.
Hosted MCP Server
npx add-mcp 'https://camdentools.com/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
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.
Connect your assistant Developer reference
MCP serverA2A agentIn-browser tools (WebMCP)v1.4.1+5758e47
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
Copy server URL Open Claude connectors(opens in a new tab) Try a prompt(opens in a new tab)
- Open Claude → Customize → Connectors (or Settings → Connectors).
- Choose Add custom connector, name it Camden Tools and paste the server URL.
- Authentication: No sign-in. Save, then enable the connector in a chat.
ChatGPT
Paid plans, with Developer mode switched on
Copy server URL Try a prompt(opens in a new tab)
- Settings → Security and login → turn on Developer mode.
- Settings → Plugins (Apps & Connectors) → + → name Camden Tools, paste the server URL, no authentication.
- 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
Copy server URL Ask Perplexity(opens in a new tab)
- Perplexity for Mac → Settings → Connectors → Add custom connector.
- Paste the server URL and save.
- 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
Copy server URL
- Gemini Spark → Connected apps → Add → paste the server URL.
- 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
Copy server URL
- Copilot Studio (Microsoft 365): add the server URL as an MCP connector for your agents.
- 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
Copy server URL
- Nothing to install: every page on camdentools.com registers its tools with the browser.
- Chrome runs WebMCP on camdentools.com as an origin trial, so there is no flag to enable in versions that support it; use an agent that speaks WebMCP. Other agent browsers read the page directly.
- 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
Copy account URL
Add a second connector with the account URL below. Your assistant will ask you to sign in to Camden Tools once; it can then read your profile and order history (never place orders or pay). Disconnect it at any time from your account page.
- Claude: Add custom connector → paste the account URL → Save. ChatGPT (Developer mode): add the account URL with OAuth.
- Your browser opens camdentools.com/connect: sign in there, check the assistant's name and return address, and allow the profile and orders permissions.
- Ask “show my recent Camden Tools orders” or “where is my order CT-…”.
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
Copy prompt
“On camdentools.com, compare the DeWalt DCD796 and the Makita DHP485: price inc VAT, weight, and which one is in stock. Search the web for site:camdentools.com DeWalt DCD796 and site:camdentools.com Makita DHP485. Use only camdentools.com for this, not other shops.”
Delivery to Ireland
Copy prompt
“Can camdentools.com deliver a Makita DHP485 to Dublin, what would it cost and how long would it take? Search the web for site:camdentools.com Makita DHP485; delivery rules: https://camdentools.com/deliveries Use only camdentools.com for this, not other shops.”
Track an order
Copy prompt
“Track my camdentools.com order CT-102938, delivery postcode NW2 7JW. (Needs the Camden Tools connector; without it, use the track order page on camdentools.com.)”
Safety data sheet
Copy prompt
“Find a grab adhesive on camdentools.com and give me its safety data sheet and COSHH hazard codes. Search the web for site:camdentools.com grab adhesive. Use only camdentools.com for this, not other shops.”
Same-day dispatch
Copy prompt
“Is Website Express same-day dispatch available on camdentools.com right now, and what is the cutoff? (Needs the Camden Tools connector; without it, see the deliveries page on camdentools.com.)”
Build a basket
Copy prompt
“Build me a camdentools.com 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. With the Camden Tools connector, give me one basket link; without it, search the web with site:camdentools.com and list the product pages. Use only camdentools.com for this, not other shops.”
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
-
MCP server https://camdentools.com/mcp
POST JSON-RPC 2.0 (Streamable HTTP, stateless, JSON responses): initialize, ping, tools/*, resources/*, prompts/*.
-
MCP server (account) https://camdentools.com/mcp/account
Same server with an OAuth bearer token: the account tools become available. Answers 401 with a WWW-Authenticate challenge that starts sign-in; 404 until OAuth is enabled.
-
A2A agent https://camdentools.com/a2a
POST JSON-RPC: SendMessage (message/send), GetTask, CancelTask. Deterministic shopping skills.
-
Plain GET for assistants https://camdentools.com/api/agent
For assistants with no connector: /api/agent/search?q=, /api/agent/product/{slug} and /api/agent/basket?items=id:qty answer Markdown (format=json for JSON) with live prices, stock and basket links.
-
Capabilities catalogue https://camdentools.com/api/agent-capabilities
This document: tools by category with JSON Schema inputs, resources, prompts, skills, in-page tools, changelog.
-
MCP server card https://camdentools.com/.well-known/mcp/server-card.json
Server identity, endpoint and capabilities.
-
A2A agent card https://camdentools.com/.well-known/agent-card.json
A2A v1.0 card with skills.
-
API catalog https://camdentools.com/.well-known/api-catalog
RFC 9727 linkset.
-
OpenAPI https://camdentools.com/.well-known/openapi.json
OpenAPI 3.1 for the public endpoints.
-
Agent skills https://camdentools.com/.well-known/agent-skills/index.json
Agent Skills discovery index and the generated SKILL.md.
-
ai-catalog https://camdentools.com/.well-known/ai-catalog.json
ARD capability manifest.
-
Key directory https://camdentools.com/.well-known/http-message-signatures-directory
Web Bot Auth: Ed25519 public keys that verify requests signed by Camden Tools.
-
ACP discovery https://camdentools.com/.well-known/acp.json
Agentic Commerce Protocol discovery document; 404 until agentic checkout is enabled.
-
OAuth protected resource https://camdentools.com/.well-known/oauth-protected-resource/mcp/account
RFC 9728 metadata for the account endpoint (authorization server, scopes); 404 until OAuth is enabled.
-
auth.md https://camdentools.com/auth.md
Authentication and registration rules for agents.
-
llms.txt https://camdentools.com/llms.txt
Site overview for language models; llms-full.txt adds policies and the tool catalogue.
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
Copy
https://camdentools.com/mcp
MCP Inspector
Copy
npx @modelcontextprotocol/inspector --transport http --server-url https://camdentools.com/mcp
curl
Copy
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
Copy
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"}]}}}'
No connector? Plain URLs
Most conversations have no connector installed, and a browsing tool can only open URLs. These answer compact Markdown with the same live prices, stock and basket links as the tools; add format=json for JSON. Claude and Perplexity open them from a prompt. ChatGPT only opens URLs that OpenAI's web index already knows, so in a ChatGPT prompt name camdentools.com and ask for a site:camdentools.com search, or give it a product page URL without tracking parameters.
-
Guide
https://camdentools.com/api/agentThe instructions below as a page an assistant can open.
-
Search
https://camdentools.com/api/agent/search?q=cordless+combi+drillProducts with price inc and ex VAT, stock, id, links and a ready basket link for each in-stock product. Optional: page, locale.
-
One product
https://camdentools.com/api/agent/product/<slug>The slug is the last part of a product page URL. Specifications, variants, quantity prices and documents.
-
Basket link
https://camdentools.com/api/agent/basket?items=<id>:<quantity>,<id>:<quantity>Checks stock and answers one link that fills the shopper's basket. Nothing is bought: the shopper pays on the site.
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.
Catalogue (12)
Search and browse products, full product details, live stock, side-by-side comparisons, documents, categories and brands.
-
search_productsSearch productsread-only
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.
| Parameter | Type | Description |
|---|---|---|
| query* (required) | string | What the shopper is looking for, e.g. 'cordless combi drill 18v'. |
| express | boolean | Only products eligible for Website Express same-day dispatch (UK). |
| page | integer | Page number, starting at 1. |
| per_page | integer | Results per page: 15, 30, 50 or 100 (default 15). |
| sort | string | Sort order: price_low, price_high, name_asc, name_desc or newest. Omit for the default (most popular) order. |
| brand | string | Brand slug to filter by. |
| min_price | number | Minimum price in the locale currency. |
| max_price | number | Maximum price in the locale currency. |
| locale | string | Storefront 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 productsread-only
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.
| Parameter | Type | Description |
|---|---|---|
| collection* (required) | popular | new | on-sale | express | category | Which collection to list. |
| category_slug | string | Required when collection is 'category'. |
| min_discount | number | Minimum discount percentage (on-sale listings). |
| page | integer | Page number, starting at 1. |
| per_page | integer | Results per page: 15, 30, 50 or 100 (default 15). |
| sort | string | Sort order: price_low, price_high, name_asc, name_desc or newest. Omit for the default (most popular) order. |
| brand | string | Brand slug to filter by. |
| min_price | number | Minimum price in the locale currency. |
| max_price | number | Maximum price in the locale currency. |
| locale | string | Storefront 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 productread-only
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.
| Parameter | Type | Description |
|---|---|---|
| slug | string | Product slug from a product URL (…/product/<slug>). |
| sku | string | Product SKU. |
| id | integer | Numeric product id. |
| locale | string | Storefront 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 productsread-only
Look up up to 50 products at once by SKU or by numeric id. Returns compact products (name, price ex/inc VAT, stock, link).
| Parameter | Type | Description |
|---|---|---|
| skus | array of string | |
| ids | array of integer | |
| locale | string | Storefront 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 levelread-only
Live availability check for a SKU (is it available now and how many are in the London warehouse).
| Parameter | Type | Description |
|---|---|---|
| sku* (required) | string | Product SKU exactly as shown on the site. |
-
compare_productsCompare productsread-only
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.
| Parameter | Type | Description |
|---|---|---|
| skus* (required) | array of string | |
| locale | string | Storefront 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_related_productsGet related productsread-only
Variants, similar products, recommendations and 'you may also like' items for a product (by slug or SKU). Useful for alternatives when something is out of stock.
| Parameter | Type | Description |
|---|---|---|
| slug | string | Product slug from a product URL (…/product/<slug>). |
| sku | string | Product SKU. |
| locale | string | Storefront 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 documentsread-only
Safety data sheets, specification sheets and COSHH hazard codes for a product (by slug or SKU). Returns document URLs.
| Parameter | Type | Description |
|---|---|---|
| slug | string | Product slug from a product URL (…/product/<slug>). |
| sku | string | Product SKU. |
| locale | string | Storefront 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 categoriesread-only
Product categories with slugs and links. Use popular_only for the curated set shown on the site; otherwise the full list.
| Parameter | Type | Description |
|---|---|---|
| popular_only | boolean | Only the popular categories (default false). |
| limit | integer | Maximum categories to return (default 100). |
| locale | string | Storefront 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 categoryread-only
A category's name, description and its products (paged) by category slug.
| Parameter | Type | Description |
|---|---|---|
| slug* (required) | string | Category slug from list_categories. |
| page | integer | Page number, starting at 1. |
| per_page | integer | Results per page: 15, 30, 50 or 100 (default 15). |
| sort | string | Sort order: price_low, price_high, name_asc, name_desc or newest. Omit for the default (most popular) order. |
| locale | string | Storefront 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 brandsread-only
Brands sold by Camden Tools (DeWalt, Makita, Milwaukee, Bosch, Stanley …). Without a query returns the popular brands; with a query searches brand names.
| Parameter | Type | Description |
|---|---|---|
| query | string | Brand name search text. |
| page | integer | Page number, starting at 1. |
| per_page | integer | Results per page: 15, 30, 50 or 100 (default 15). |
| sort | string | Sort order: price_low, price_high, name_asc, name_desc or newest. Omit for the default (most popular) order. |
-
get_brand_productsGet brand productsread-only
A brand's details, its active promotions and its products (paged) by brand slug.
| Parameter | Type | Description |
|---|---|---|
| slug* (required) | string | Brand slug from list_brands. |
| page | integer | Page number, starting at 1. |
| per_page | integer | Results per page: 15, 30, 50 or 100 (default 15). |
| locale | string | Storefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices. |
Offers and bundles (4)
Current promotions, per-product deals, curated bundles and basket-level promotion checks.
-
list_offersList offersread-only
Current storefront promotions (percentage/fixed discounts and free gifts), optionally grouped by brand or category. Also points at the /offers page.
| Parameter | Type | Description |
|---|---|---|
| group_by | all | brand | category | Grouping (default all). |
| locale | string | Storefront 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_promotionsGet product promotionsread-only
Active promotions that apply to one SKU (discounts, free gifts, end dates).
| Parameter | Type | Description |
|---|---|---|
| sku* (required) | string | Product SKU exactly as shown on the site. |
| locale | string | Storefront 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_bundlesList bundlesread-only
Curated product bundles (kits) with their items and prices.
| Parameter | Type | Description |
|---|---|---|
| locale | string | Storefront 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_cart_promotionsGet basket promotionsread-only
Evaluate a prospective basket for a destination country: whether it can be fulfilled, which promotions apply (including free-delivery style offers and free gifts) and the adjusted basket value. Same check the checkout runs.
| Parameter | Type | Description |
|---|---|---|
| country_code* (required) | string | Destination country (ISO alpha-2). |
| items* (required) | array of object { id, quantity } | Basket lines as product ids with quantities. |
| has_tax_id | boolean | Whether the buyer has a VAT/tax id (business purchase). |
| locale | string | Storefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices. |
Delivery (6)
Website Express same-day dispatch, shipping availability by country, country pricing, delivery estimates and UK postcode lookup.
-
get_express_delivery_statusGet Website Express statusread-only
Whether Website Express (free same-working-day dispatch for eligible UK orders) is available right now, the order-by cutoff and the promised dispatch date.
| Parameter | Type | Description |
|---|---|---|
| locale | string | Storefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices. |
-
check_express_eligibilityCheck Website Express eligibilityread-only
Whole-basket Website Express verdict for a set of product ids and quantities: every line must be eligible (no split shipments).
| Parameter | Type | Description |
|---|---|---|
| items* (required) | array of object { id, quantity } | Basket lines as product ids with quantities. |
| locale | string | Storefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices. |
-
check_shipping_availabilityCheck shipping availabilityread-only
Whether Camden Tools ships to a country, with any restriction message.
| Parameter | Type | Description |
|---|---|---|
| country_code* (required) | string | ISO 3166-1 alpha-2 country code, e.g. GB, IE, DE, US. |
| locale | string | Storefront 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_prices_for_countryGet prices for a countryread-only
Country-specific pricing for a set of products (the checkout applies the destination country's currency and pricing). Returns unit, sale and final prices plus the subtotal.
| Parameter | Type | Description |
|---|---|---|
| shipping_country* (required) | string | ISO 3166-1 alpha-2 country code, e.g. GB, IE, DE, US. |
| items* (required) | array of object { id, quantity } | Basket lines as product ids with quantities. |
| locale | string | Storefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices. |
-
estimate_deliveryEstimate deliveryread-only
Delivery services, charges and transit times for a basket to a destination (country plus postcode/ZIP and city). This is an estimate using placeholder contact details; exact rates are confirmed at checkout.
| Parameter | Type | Description |
|---|---|---|
| country_code* (required) | string | ISO 3166-1 alpha-2 country code, e.g. GB, IE, DE, US. |
| postcode | string | Destination postcode / ZIP. |
| city | string | Destination city. |
| items* (required) | array of object { id, quantity } | Basket lines as product ids with quantities. |
| locale | string | Storefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices. |
-
lookup_uk_postcodeLook up a UK postcoderead-only
Addresses for a UK postcode (rate limited upstream). Returns matching addresses or suggestions when the postcode is incomplete.
| Parameter | Type | Description |
|---|---|---|
| postcode* (required) | string | UK postcode, e.g. NW2 7JW. |
Basket (1)
Prepare a basket the shopper opens on the site, reviews and pays for at checkout.
-
create_basket_linkCreate a basket linkread-only
Turn product ids and quantities into one link that fills the shopper's basket on camdentools.com. Opening the link makes sure the basket holds at least those quantities (opening it twice does not double them); the shopper reviews the basket and pays at checkout themselves. The result says which lines are out of stock: those cannot be bought, so offer an alternative before sharing the link. Use it to finish a shopping conversation. Ids come from search_products, list_products or get_product.
| Parameter | Type | Description |
|---|---|---|
| items* (required) | array of object { id, quantity } | Basket lines as product ids with quantities. |
| locale | string | Storefront locale such as en-GB (default), en-US, de, fr-FR, es-ES, it-IT, nl-NL, pl. Controls product names, slugs and prices. |
Orders (1)
Track any order with its order number and delivery postcode.
-
track_guest_orderTrack an orderread-only
Order status, tracking number/URL, shipping method and line items for any order, given the order number and the delivery postcode (no sign-in needed).
| Parameter | Type | Description |
|---|---|---|
| order_number* (required) | string | Order number from the confirmation email. |
| postcode* (required) | string | Delivery postcode / ZIP on the order. |
Account (browser session) (3)
The signed-in shopper's profile and order history. Only from the shopper's own browser on camdentools.com, after they allow AI agent access.
-
get_my_profileGet my profilebrowser sessionread-only
The signed-in shopper's name, email and saved addresses. Needs the shopper's browser session with AI agent access, or an OAuth token with the profile:read scope.
No parameters.
-
list_my_ordersList my ordersbrowser sessionread-only
The signed-in shopper's order history (most recent first). Needs the shopper's browser session with AI agent access, or an OAuth token with the orders:read scope.
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
-
get_my_orderGet my orderbrowser sessionread-only
One of the signed-in shopper's orders by order number, with status, tracking and line items. Needs the shopper's browser session with AI agent access, or an OAuth token with the orders:read scope.
| Parameter | Type | Description |
|---|---|---|
| order_number* (required) | string |
Store and help (5)
Store facts, policies, the London collection point and the blog.
-
get_site_infoGet store informationread-only
Who Camden Tools is, how to contact them, VAT display rules, key page links, current announcements and a summary of each policy (delivery, returns, payment, FAQs). Call get_policy for the full text of a policy.
| Parameter | Type | Description |
|---|---|---|
| locale | string | Storefront 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_policyGet policy textread-only
Full text (markdown) of a store policy: delivery, returns, payment-options, faqs or contact.
| Parameter | Type | Description |
|---|---|---|
| policy* (required) | delivery | returns | payment-options | faqs | contact | |
| locale | string | Storefront 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_collection_point_infoGet collection point inforead-only
The London Click & Collect warehouse: address, opening hours, whether it is open right now (Europe/London, bank holidays respected) and when it next opens.
No parameters.
-
search_blog_postsSearch blog postsread-only
Guides and articles from the Camden Tools blog (how-tos, buying guides, brand news).
| Parameter | Type | Description |
|---|---|---|
| query | string | Search text; omit for the latest posts. |
| page | integer | Page number, starting at 1. |
-
get_blog_postGet blog postread-only
A blog post's full text (plain text) by slug.
| Parameter | Type | Description |
|---|---|---|
| slug* (required) | string | |
| locale | string | Storefront 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 18vproduct-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, M18FPD2create-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 7JWshipping-availability— Whether Camden Tools ships to a country (ISO alpha-2 code).Example:IEexpress-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 (document.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 basketcart_add_itemAdd to basketcart_update_itemUpdate basket linecart_remove_itemRemove from basketcart_clearEmpty basketcart_apply_promoApply promo codecart_remove_promoRemove promo codewishlist_addAdd to wishlistwishlist_removeRemove from wishlistpage_get_contextGet page contextpage_navigateNavigatepage_set_vat_displaySet VAT displaypage_select_variantSelect variantproduct pagepage_prefill_checkout_addressPre-fill checkout addresscheckout pagepage_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.
- Remote account access uses OAuth 2.1 (authorization code with PKCE) issued by the Camden Tools authorization server; /mcp/account answers 401 with an RFC 9728 resource_metadata challenge, tokens are validated for issuer, audience, expiry and scope, and are never logged. https://camdentools.com/.well-known/oauth-protected-resource/mcp/account
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.
- https://camdentools.com/.well-known/http-message-signatures-directory
- Key id:
iVuMkdK3A8DRGTiIkpemeEDzvwhDUm3Qo8frb5p_DCU
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
-
2026-09-22v1.4.1
The server description and instructions now cover international delivery: orders typically arrive in 2–7 days, with premium UPS services (Worldwide Saver, Express, Express Plus). Agents are asked to quote estimate_delivery's services and transit times for an address rather than the general range. No tool changes.
-
2026-09-19v1.4.0
The MCP endpoints also speak the stateless 2026-07-28 revision: server/discover, per-request protocol version in _meta with the MCP-Protocol-Version, Mcp-Method and Mcp-Name headers, resultType on every result and cache hints on list and read results. Clients using initialize keep the 2025 revisions. New discovery documents: /.well-known/agents.json (every agent endpoint) and /.well-known/oauth-authorization-server (the authorization server's metadata, mirrored on this origin). In-page tools use document.modelContext, and the newsletter form on the homepage is a declarative WebMCP tool (newsletter_subscribe) that fills in the email and leaves consent and submitting to the shopper.
-
2026-09-18v1.3.0
The shop over plain GET, for assistants with no connector installed: /api/agent (guide), /api/agent/search?q=, /api/agent/product/{slug} and /api/agent/basket?items=id:qty answer compact Markdown (or JSON) with the same live prices, stock and basket links as the MCP tools. llms.txt now opens with these instructions, and they are in SKILL.md and the OpenAPI document.
-
2026-09-17v1.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.
-
2026-09-17v1.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).
-
2026-09-16v1.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
- MCP server card
- A2A agent card
- Capabilities catalogue (JSON)
- API catalog (RFC 9727)
- OpenAPI 3.1
- Agent skills index
- SKILL.md
- ai-catalog (ARD)
- Web Bot Auth key directory
- ACP discovery
- auth.md
- llms.txt
- llms-full.txt
Building something with Camden Tools?
Partnerships, higher rate limits and commercial integrations: get in touch.

{"@context":"https://schema.org","@graph":[{"@id":"https://camdentools.com/#website","@type":"WebSite","description":"Camden Tools is a UK online shop selling power tools, hand tools, accessories and safety equipment from brands such as DeWalt, Makita, Milwaukee, Bosch and Stanley to trade professionals and DIY customers. Prices in GBP, delivery across the UK and worldwide, and Click & Collect in London.","name":"Camden Tools","url":"https://camdentools.com","inLanguage":["en-GB"],"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://camdentools.com/shop/search/1?q={search_term_string}"},"query-input":"required name=search_term_string"}],"publisher":{"@id":"https://camdentools.com#organization"},"workTranslation":[{"@id":"https://camdentools.com/cs-CZ#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/de#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/el-GR#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/en-AU#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/en-CA#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/en-US#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/es-ES#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/fr-CA#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/fr-FR#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/ga-IE#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/he-IL#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/it-IT#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/ja-JP#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/ko-KR#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/ms-MY#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/nl-NL#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/pl#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/pt-PT#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/zh-CN#website","translationOfWork":{"@id":"https://camdentools.com#website"}},{"@id":"https://camdentools.com/zh-HK#website","translationOfWork":{"@id":"https://camdentools.com#website"}}]},{"@id":"https://camdentools.com#logo","@type":"ImageObject","caption":"Camden Tools","contentUrl":"https://camdentools.com/logo.png","inLanguage":"en-GB","url":"https://camdentools.com/logo.png"},{"@id":"https://camdentools.com#organization","alternateName":"Camden Tools LTD","areaServed":"Worldwide","description":"Camden Tools is a leading online retailer of high-quality tools and equipment, serving professionals and DIY enthusiasts worldwide. We offer a wide range of products, including power tools, hand tools, and accessories from top brands.","duns":"223119564","email":"info@camdentools.com","foundingDate":"2017-07-25","legalName":"CAMDEN TOOLS LIMITED","name":"Camden Tools","priceRange":"£5 - £5,000","slogan":"Building your world","taxID":"GB273897154","telephone":"+442037930837","url":"https://camdentools.com","@type":["Organization","Store","OnlineStore"],"address":{"@type":"PostalAddress","streetAddress":"Unit 2, Wellington Park Ind Est, Waterloo Rd","addressLocality":"London","postalCode":"NW2 7JW","addressCountry":"GB"},"contactPoint":{"@type":"ContactPoint","telephone":"+442037930837","email":"info@camdentools.com","contactType":"Customer Service","areaServed":["CZ","DE","GR","AU","CA","GB","US","ES","FR","IE","IL","IT","JP","KR","MY","NL","PL","PT","CN","HK"],"availableLanguage":["cs-CZ","de","el-GR","en-AU","en-CA","en-GB","en-US","es-ES","fr-CA","fr-FR","ga-IE","he-IL","it-IT","ja-JP","ko-KR","ms-MY","nl-NL","pl","pt-PT","zh-CN","zh-HK"],"hoursAvailable":{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"17:00"}},"currenciesAccepted":["GBP","EUR","USD","CAD","AUD","JPY","CZK","DKK","HKD","HUF","ILS","MXN","NOK","NZD","PLN","SEK","SGD","CHF"],"identifier":[{"@type":"PropertyValue","propertyID":"UK EORI","value":"GB273897154000"},{"@type":"PropertyValue","propertyID":"NL EORI","value":"NL826323030"},{"@type":"PropertyValue","propertyID":"CZ VAT ID","value":"CZ684967958"},{"@type":"PropertyValue","propertyID":"DE VAT ID","value":"DE328202047"},{"@type":"PropertyValue","propertyID":"ES VAT ID","value":"ESN0028025E"},{"@type":"PropertyValue","propertyID":"FR VAT ID","value":"FR81882414261"},{"@type":"PropertyValue","propertyID":"IT VAT ID","value":"IT00246359996"},{"@type":"PropertyValue","propertyID":"PL VAT ID","value":"PL5263296957"}],"image":{"@type":"ImageObject","url":"https://camdentools.com/images/storefront-wh.jpeg","contentUrl":"https://camdentools.com/images/storefront-wh.jpeg","caption":"The Camden Tools warehouse and office in London.","inLanguage":"en-GB"},"knowsLanguage":["cs-CZ","de","el-GR","en-AU","en-CA","en-GB","en-US","es-ES","fr-CA","fr-FR","ga-IE","he-IL","it-IT","ja-JP","ko-KR","ms-MY","nl-NL","pl","pt-PT","zh-CN","zh-HK"],"logo":{"@type":"ImageObject","@id":"https://camdentools.com#logo","url":"https://camdentools.com/logo.png","contentUrl":"https://camdentools.com/logo.png","caption":"Camden Tools","inLanguage":"en-GB"},"numberOfEmployees":{"@type":"QuantitativeValue","minValue":10,"maxValue":20},"paymentAccepted":["Credit Card","Debit Card","PayPal","Apple Pay","Google Pay","Klarna","Afterpay","Clearpay","Alipay","WeChat Pay","iDEAL","Bancontact"],"sameAs":["https://www.facebook.com/people/CamdenTools/61560446352103/","https://www.instagram.com/camdentools/","https://www.linkedin.com/company/camdentools/","https://x.com/CamdenTools","https://www.tiktok.com/@camdentools","https://www.pinterest.co.uk/camdentools"]},{"@id":"https://camdentools.com/developers#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://camdentools.com/","position":1},{"@type":"ListItem","name":"Developers","item":"https://camdentools.com/developers","position":2}]}]}