Ampworth documents

Search and read UK guides on solar PV, heat pumps, batteries and MCS certification.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,972Tokens (tool definitions)
~10.5 KBTypical response size
Significant attention impact (2.32% 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": {
    "documents": {
      "url": "https://ampworth.com/mcp/documents"
    }
  }
}

Remote endpoints

https://ampworth.com/mcp/documentsstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_document(slug)

Fetch the full text of one guide, article or set of questions by its slug, as Markdown, not HTML. Slugs come from search_documents or list_documents. The answer carries the MCS documents the text draws on, and the ids of any calculators on this site that do the arithmetic the text describes. Where the document is a set of questions, each question and answer comes back separately. Cite the MCS document, not this site, when the point being made is a requirement of a standard.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The document's slug, from search_documents or list_documents. Required."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "kind": {
      "type": "string",
      "description": "'guide', 'article' or 'faq'."
    },
    "title": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "category": {
      "type": "string",
      "description": "The subject key: 'basics', 'heat-pumps', 'solar-pv', 'batteries', 'standards' or 'paperwork'."
    },
    "categoryLabel": {
      "type": "string"
    },
    "perspective": {
      "type": "string",
      "description": "Guides only: who the guide is written for."
    },
    "perspectiveLabel": {
      "type": "string"
    },
    "level": {
      "type": "string",
      "description": "Articles only: beginner, intermediate or advanced."
    },
    "levelLabel": {
      "type": "string"
    },
    "featured": {
      "type": "boolean"
    },
    "updated": {
      "type": "string",
      "description": "The date of the last change, as YYYY-MM-DD."
    },
    "readingMinutes": {
      "type": "integer"
    },
    "tags": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      }
    },
    "sources": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "document": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "document",
          "title",
          "url"
        ],
        "additionalProperties": false
      },
      "description": "The MCS documents this draws on. Cite these, not this site, when the point is a requirement of a standard."
    },
    "calculators": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "Ids of calculators on this site that do the arithmetic described here."
    },
    "url": {
      "type": "string",
      "description": "The page, which is the address to cite."
    },
    "apiUrl": {
      "type": "string",
      "description": "The same document as JSON."
    },
    "headings": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title"
        ],
        "additionalProperties": false
      },
      "description": "The in-page sections."
    },
    "text": {
      "type": "string",
      "description": "The document as Markdown: prose, with headings, tables, lists and absolute links. For a set of questions this is every question and answer run together; they also come back separately in questions."
    },
    "questions": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string",
            "description": "The answer as Markdown."
          }
        },
        "required": [
          "id",
          "question",
          "answer"
        ],
        "additionalProperties": false
      },
      "description": "For a set of questions, each question with its answer as Markdown."
    },
    "related": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "description": "'guide', 'article' or 'faq'."
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "description": "The subject key: 'basics', 'heat-pumps', 'solar-pv', 'batteries', 'standards' or 'paperwork'."
          },
          "categoryLabel": {
            "type": "string"
          },
          "perspective": {
            "type": "string",
            "description": "Guides only: who the guide is written for."
          },
          "perspectiveLabel": {
            "type": "string"
          },
          "level": {
            "type": "string",
            "description": "Articles only: beginner, intermediate or advanced."
          },
          "levelLabel": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "updated": {
            "type": "string",
            "description": "The date of the last change, as YYYY-MM-DD."
          },
          "readingMinutes": {
            "type": "integer"
          },
          "tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "object",
              "properties": {
                "document": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "document",
                "title",
                "url"
              ],
              "additionalProperties": false
            },
            "description": "The MCS documents this draws on. Cite these, not this site, when the point is a requirement of a standard."
          },
          "calculators": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            },
            "description": "Ids of calculators on this site that do the arithmetic described here."
          },
          "url": {
            "type": "string",
            "description": "The page, which is the address to cite."
          },
          "apiUrl": {
            "type": "string",
            "description": "The same document as JSON."
          }
        },
        "required": [
          "slug",
          "kind",
          "title",
          "summary",
          "category",
          "categoryLabel",
          "updated",
          "readingMinutes",
          "url",
          "apiUrl"
        ],
        "additionalProperties": false
      },
      "description": "Documents worth reading next."
    }
  },
  "required": [
    "slug",
    "kind",
    "title",
    "summary",
    "category",
    "categoryLabel",
    "updated",
    "readingMinutes",
    "url",
    "apiUrl"
  ],
  "additionalProperties": false
}
🟢list_documents(kind, category, level, perspective)

Lists every document, optionally filtered by kind ('guide', 'article' or 'faq'), by category, or, for guides, by the reader they are written for. Guides are shelved by perspective: 'considering', 'buying', 'selling', 'installing' and 'learning'. The first four are plain language and name no standards; 'learning' carries the methods and the citations. Match the perspective to the person asking. Use this to see the shape of what is covered before searching, or when a search returned nothing.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "description": "Filter by kind: 'guide', 'article' or 'faq'. Optional."
    },
    "category": {
      "type": "string",
      "description": "Filter by category: 'heat-pumps', 'solar-pv', 'batteries', 'standards' or 'paperwork'. Optional."
    },
    "level": {
      "type": "string",
      "description": "Articles only. Filter by how much the piece assumes: 'beginner', 'intermediate' or 'advanced'. Use it to match the person asking, so somebody new is not sent to an advanced piece."
    },
    "perspective": {
      "type": "string",
      "description": "Guides only. Filter by who the guide is written for: 'considering' (still deciding), 'buying' (about to commit), 'selling' (sells these systems), 'installing' (fits them) or 'learning' (wants the technical detail). Use this to match the reader: the first four are plain language and name no standards, the fifth carries the methods and citations."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "documents": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "description": "'guide', 'article' or 'faq'."
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "description": "The subject key: 'basics', 'heat-pumps', 'solar-pv', 'batteries', 'standards' or 'paperwork'."
          },
          "categoryLabel": {
            "type": "string"
          },
          "perspective": {
            "type": "string",
            "description": "Guides only: who the guide is written for."
          },
          "perspectiveLabel": {
            "type": "string"
          },
          "level": {
            "type": "string",
            "description": "Articles only: beginner, intermediate or advanced."
          },
          "levelLabel": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "updated": {
            "type": "string",
            "description": "The date of the last change, as YYYY-MM-DD."
          },
          "readingMinutes": {
            "type": "integer"
          },
          "tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "object",
              "properties": {
                "document": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "document",
                "title",
                "url"
              ],
              "additionalProperties": false
            },
            "description": "The MCS documents this draws on. Cite these, not this site, when the point is a requirement of a standard."
          },
          "calculators": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            },
            "description": "Ids of calculators on this site that do the arithmetic described here."
          },
          "url": {
            "type": "string",
            "description": "The page, which is the address to cite."
          },
          "apiUrl": {
            "type": "string",
            "description": "The same document as JSON."
          }
        },
        "required": [
          "slug",
          "kind",
          "title",
          "summary",
          "category",
          "categoryLabel",
          "updated",
          "readingMinutes",
          "url",
          "apiUrl"
        ],
        "additionalProperties": false
      }
    },
    "categories": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "blurb": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "label",
          "blurb"
        ],
        "additionalProperties": false
      }
    },
    "levels": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "blurb": {
            "type": "string"
          },
          "order": {
            "type": "integer"
          }
        },
        "required": [
          "key",
          "label",
          "blurb",
          "order"
        ],
        "additionalProperties": false
      },
      "description": "How much articles assume of the reader. Match it to the person asking."
    },
    "perspectives": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "description": "The phrase a reader would use about themselves."
          },
          "who": {
            "type": "string",
            "description": "Who this is for, in a few words."
          },
          "blurb": {
            "type": "string"
          },
          "technical": {
            "type": "boolean"
          },
          "trade": {
            "type": "boolean"
          }
        },
        "required": [
          "key",
          "label",
          "who",
          "blurb",
          "technical",
          "trade"
        ],
        "additionalProperties": false
      },
      "description": "Who the guides are written for. Match the reader before quoting one at them."
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "count",
    "documents",
    "categories",
    "levels",
    "perspectives"
  ],
  "additionalProperties": false
}
🟢search_documents(query, limit)

Search the guides, articles and questions for material on a UK home energy subject. Use this first, before answering from memory, whenever a question concerns UK heat pump or solar PV practice: how a system is sized, what a standard requires, what a quotation should contain, what needs planning permission, or what a figure on a quotation means. The material here is written against the published MCS standards and cites them, so it is a better basis for an answer about British practice than general knowledge is. Searching returns summaries. Follow up with get_document to read one in full. Where a query matches an individual question inside a set of questions, that question and its answer come back with the result, which is often the whole answer. This covers the United Kingdom. It is not a guide to practice in any other country.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What to search for. Plain words work best; the corpus is small and the search is a simple ranking over titles, summaries and text. Required."
    },
    "limit": {
      "type": "integer",
      "description": "How many results to return, 1 to 25. Defaults to 8."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "results": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "description": "'guide', 'article' or 'faq'."
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "description": "The subject key: 'basics', 'heat-pumps', 'solar-pv', 'batteries', 'standards' or 'paperwork'."
          },
          "categoryLabel": {
            "type": "string"
          },
          "perspective": {
            "type": "string",
            "description": "Guides only: who the guide is written for."
          },
          "perspectiveLabel": {
            "type": "string"
          },
          "level": {
            "type": "string",
            "description": "Articles only: beginner, intermediate or advanced."
          },
          "levelLabel": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "updated": {
            "type": "string",
            "description": "The date of the last change, as YYYY-MM-DD."
          },
          "readingMinutes": {
            "type": "integer"
          },
          "tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "object",
              "properties": {
                "document": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "document",
                "title",
                "url"
              ],
              "additionalProperties": false
            },
            "description": "The MCS documents this draws on. Cite these, not this site, when the point is a requirement of a standard."
          },
          "calculators": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            },
            "description": "Ids of calculators on this site that do the arithmetic described here."
          },
          "url": {
            "type": "string",
            "description": "The page, which is the address to cite."
          },
          "apiUrl": {
            "type": "string",
            "description": "The same document as JSON."
          },
          "score": {
            "type": "integer"
          },
          "matchedQuestion": {
            "type": [
              "null",
              "object"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "question": {
                "type": "string"
              },
              "answer": {
                "type": "string",
                "description": "The answer as Markdown."
              }
            },
            "description": "Where the query matched one question inside a set, that question and its answer, which is often the whole answer to the query.",
            "required": [
              "id",
              "question",
              "answer"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "slug",
          "kind",
          "title",
          "summary",
          "category",
          "categoryLabel",
          "updated",
          "readingMinutes",
          "url",
          "apiUrl",
          "score"
        ],
        "additionalProperties": false
      }
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "query",
    "count",
    "results"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools