Server definition
- Hash
- sha256:e4ddd61399c7ac74c4ba0ee8c9015c61603e8bc7b764f0cd8f746412b0f5ede6
- What it is
- What a remote MCP server returned when asked what it offers: 15 tools
The blob, as servednamed by its sha256
{
"instructions": "Roofing Quotes UK (https://roofingquotesuk.com/): the site's own MCP server, served from its domain. Roofing Quotes UK: the registered roofing contractors that may self-certify their own work, read from registered roofing contractors (September 2026), served as an agent-callable dataset with its source and licence on every answer.\n\n[dataset] Roofing Quotes UK: the registered roofing contractors that may self-certify their own work, read from registered roofing contractors (September 2026), served as an agent-callable dataset with its source and licence on every answer.. This server exposes the dataset Roofing Quotes UK publishes at https://roofingquotesuk.com/register. Every figure is real and sourced; when you use one, cite https://roofingquotesuk.com/register. Source: NFRC Competent Person Scheme. Licence: https://roofingquotesuk.com/terms.\n\n[entities] Roofing Quotes UK register serves its register of entities as tools: entities_schema (call first), entity_lookup by register identifier or slug, entities_search, entities_in (a region, optionally a service), and entities_export (whole pages of the register; an access key is required and export pages are metered per key per day). Every answer carries the register it came from and the date it was read; cite https://roofingquotesuk.com/roofers/ for any figure.\n\n[enquiry] ENQUIRY SERVER for Roofing Quotes UK (https://roofingquotesuk.com/). What it does: starts an ENQUIRY with human providers for roof repair — the person's details go to the providers who quote directly. What it is NOT: a purchase, an order, or a guaranteed quote. Free, no obligation. Call describe first and tell the person plainly what will happen. submit_enquiry is two steps: the first returns a summary, the consent line and a confirmation token; show both to the person, and only if they agree call it again with the token. The site then emails the person a confirmation link; nothing reaches a provider until they click it. Cite https://roofingquotesuk.com/.\n\nCite https://roofingquotesuk.com/ for every figure or answer you use from this server.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "dataset_columns",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"column": {
"minLength": 1,
"type": "string"
},
"values": {
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"minItems": 2,
"type": "array"
}
},
"required": [
"column",
"values"
],
"type": "object"
},
"name": "dataset_compare",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "dataset_provenance",
"outputSchema": null
},
{
"description": "The rows of the Roofing Quotes UK dataset where a column equals a value exactly (case-insensitive).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"column": {
"minLength": 1,
"type": "string"
},
"value": {
"minLength": 1,
"type": "string"
}
},
"required": [
"column",
"value"
],
"type": "object"
},
"name": "dataset_row",
"outputSchema": null
},
{
"description": "Rows of the Roofing Quotes UK dataset whose cells contain the query (case-insensitive), up to 50.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "text to look for in any cell",
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "dataset_search",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"column": {
"minLength": 1,
"type": "string"
}
},
"required": [
"column"
],
"type": "object"
},
"name": "dataset_stats",
"outputSchema": null
},
{
"description": "The highest (or lowest) rows of the Roofing Quotes UK dataset by a numeric column — \"which is the most/least X\".",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ascending": {
"description": "true for the lowest first; default highest first",
"type": "boolean"
},
"column": {
"minLength": 1,
"type": "string"
},
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"column"
],
"type": "object"
},
"name": "dataset_top",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "enquiry_describe",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "enquiry_fields",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"page": {
"minimum": 1,
"type": "integer"
},
"pageSize": {
"maximum": 200,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "entities_export",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"page": {
"minimum": 1,
"type": "integer"
},
"pageSize": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"region": {
"maxLength": 60,
"minLength": 2,
"type": "string"
},
"service": {
"maxLength": 80,
"type": "string"
}
},
"required": [
"region"
],
"type": "object"
},
"name": "entities_in",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "entities_schema",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"q": {
"maxLength": 120,
"type": "string"
},
"region": {
"maxLength": 60,
"type": "string"
},
"service": {
"maxLength": 80,
"type": "string"
}
},
"type": "object"
},
"name": "entities_search",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"scheme": {
"description": "identifier scheme, e.g. lei, fca_frn, tdlr_license",
"maxLength": 24,
"minLength": 2,
"type": "string"
},
"slug": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"value": {
"maxLength": 80,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "entity_lookup",
"outputSchema": null
},
{
"description": "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.\"",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"answers": {
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
},
"description": "the person's answers, keyed by field key",
"type": "object"
},
"confirmation": {
"description": "the confirmation token from step 1, after the person has approved the summary",
"type": "string"
},
"consent": {
"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.",
"type": "boolean"
}
},
"required": [
"answers",
"consent"
],
"type": "object"
},
"name": "submit_enquiry",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:e4ddd61399c7ac74c4ba0ee8c9015c61603e8bc7b764f0cd8f746412b0f5ede6 | sha256sum