site

Roofing Quotes UK: the site's own MCP server — dataset, enquiry, entities (enquiry = a human...

Should I use this

Quality & Safety

B
Description quality
98%
Schema completeness
64%
Naming quality
81%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'entities_in' description lacks action verbin entities_in

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,741Tokens (tool definitions)
~695 BTypical response size
Moderate attention impact (1.36% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "site": {
      "url": "https://roofingquotesuk.com/mcp"
    }
  }
}

Remote endpoints

https://roofingquotesuk.com/mcpstreamable-http

What it can do

Tool inventory

Tools (15)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢dataset_columns

The columns, which of them are numeric, the row count and the provenance banner of the Roofing Quotes UK dataset. Call this first to learn the schema.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢dataset_search(query, limit)

Rows of the Roofing Quotes UK dataset whose cells contain the query (case-insensitive), up to 50.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "text to look for in any cell"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪dataset_row(column, value)

The rows of the Roofing Quotes UK dataset where a column equals a value exactly (case-insensitive).

Input Schema

{
  "type": "object",
  "properties": {
    "column": {
      "type": "string",
      "minLength": 1
    },
    "value": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "column",
    "value"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪dataset_compare(column, values)

The rows of the Roofing Quotes UK dataset whose column is any of the given values, in the order given — for "X vs Y" questions.

Input Schema

{
  "type": "object",
  "properties": {
    "column": {
      "type": "string",
      "minLength": 1
    },
    "values": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "minItems": 2,
      "maxItems": 10
    }
  },
  "required": [
    "column",
    "values"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪dataset_stats(column)

count, min, max, mean, median and sum of a numeric column of the Roofing Quotes UK dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).

Input Schema

{
  "type": "object",
  "properties": {
    "column": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "column"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪dataset_top(column, limit, ascending)

The highest (or lowest) rows of the Roofing Quotes UK dataset by a numeric column — "which is the most/least X".

Input Schema

{
  "type": "object",
  "properties": {
    "column": {
      "type": "string",
      "minLength": 1
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "ascending": {
      "type": "boolean",
      "description": "true for the lowest first; default highest first"
    }
  },
  "required": [
    "column"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢dataset_provenance

The source, the date it was computed, the licence and the citation for the Roofing Quotes UK dataset. Read this to attribute a figure correctly.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪entities_schema

Which fields the Roofing Quotes UK register register carries and on how many entities, the regions and services, the identifier schemes, and how to cite it. Call this first.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪entity_lookup(scheme, value, slug)

The Roofing Quotes UK register entry for a firm, by its register identifier (scheme + value, e.g. lei) or by the slug of its page. Exact match; returns the whole record with its page.

Input Schema

{
  "type": "object",
  "properties": {
    "scheme": {
      "type": "string",
      "minLength": 2,
      "maxLength": 24,
      "description": "identifier scheme, e.g. lei, fca_frn, tdlr_license"
    },
    "value": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢entities_search(q, region, service, limit)

Entities of Roofing Quotes UK register whose name, commercial name, website, address or authority contains the query, optionally within a region (id or name) and a service (slug or name). Up to 50 rows.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 120
    },
    "region": {
      "type": "string",
      "maxLength": 60
    },
    "service": {
      "type": "string",
      "maxLength": 80
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪entities_in(region, service, page, pageSize)

The Roofing Quotes UK register entities in one region (a state or a jurisdiction, by id or name), optionally for one service, 50 a page.

Input Schema

{
  "type": "object",
  "properties": {
    "region": {
      "type": "string",
      "minLength": 2,
      "maxLength": 60
    },
    "service": {
      "type": "string",
      "maxLength": 80
    },
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "pageSize": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "region"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢entities_export(page, pageSize)

Every entity of Roofing Quotes UK register, 200 a page, with provenance. Needs an access key (Authorization: Bearer); export pages are metered per key per day. Without a key the answer says how to get one.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "pageSize": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡enquiry_describe

Read first. States plainly what submit_enquiry does on Roofing Quotes UK: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡enquiry_fields

Every field of the Roofing Quotes UK enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡submit_enquiry(answers, consent, confirmation)

Submits an enquiry to Roofing Quotes UK — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "By submitting you agree Roofing Quotes UK passes your details to roofing contractors covering your area."

Input Schema

{
  "type": "object",
  "properties": {
    "answers": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean"
        ]
      },
      "description": "the person's answers, keyed by field key"
    },
    "consent": {
      "type": "boolean",
      "description": "true only when the person has agreed to: By submitting you agree Roofing Quotes UK passes your details to roofing contractors covering your area."
    },
    "confirmation": {
      "type": "string",
      "description": "the confirmation token from step 1, after the person has approved the summary"
    }
  },
  "required": [
    "answers",
    "consent"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded15 tools
verifiedversion not recorded15 tools