company_search
Search Companies House for a company by name.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Search Companies House for a company by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / properties / nameAdded value: +{
+ "type": "string"
+}Input schema / properties / queryRemoved value: -{
- "description": "Company name to search (e.g. \"Tesco\", \"Rightmove plc\")",
- "type": "string"
-}Input schema / requiredPrevious value: -[
- "query"
-]New value: +[
+ "name"
+]Input schema / properties / query / descriptionPrevious value: -"Company name to search (e.g. 'Tesco'). For direct lookup by number, use the company://{company_number} resource."New value: +"Company name to search (e.g. \"Tesco\", \"Rightmove plc\")"Input schema / properties / query / descriptionPrevious value: -"Company name to search (e.g. \"Tesco\", \"Rightmove plc\")"New value: +"Company name to search (e.g. 'Tesco'). For direct lookup by number, use the company://{company_number} resource."Output schema / (root)Previous value: -nullNew value: +{
+ "additionalProperties": true,
+ "type": "object"
+}Input schema / properties / query / descriptionAdded value: +"Company name to search (e.g. \"Tesco\", \"Rightmove plc\")"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already conveys that this is a safe read operation. The description adds no additional behavioral context (e.g., return format, matching behavior, rate limits) but also does not contradict the annotation. Given the low bar with annotations present, a neutral score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loading the essential action and resource. It contains no filler or redundant information, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter) and has an output schema and a read-only annotation, so the description's minimalism is acceptable. It covers the basic purpose (search by name) and is complete for a simple lookup use case. However, it could have added a note on matching behavior or result limits, which prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has only one parameter 'name' with 0% description coverage. The description, by saying 'by name,' clarifies that the parameter refers to the company name, which adds some semantic meaning beyond the schema. However, it doesn't specify expected format, partial/full match, or any constraints, so it only partially compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Search Companies House for a company by name.' It uses a specific verb ('Search'), a specific resource ('Companies House'), and a specific scope ('by name'), which distinguishes it from the sibling tools related to property, planning, and transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any exclusions or alternative tools, and the sibling tools have clearly distinct domains, so an agent must infer usage from the name alone. This lacks the explicit when/when-not guidance that a higher score would require.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
EPC coverage is split across property_epc, property_epc_summaries, epc_certificate, and the deprecated property_epc_search, but each has a distinct role (aggregate lookup, candidate list, direct certificate, legacy). Land Registry data is similarly split between ppd_transactions and property_comps with clear output differences; no two tools are truly interchangeable.
Names are readable and consistently lowercase snake_case, but they mix resource nouns (epc_certificate, stamp_duty), prefixed nouns (property_epc_summaries, rightmove_listing), and noun-verb forms (company_search, planning_search). The 'search' suffix is used for different actions, and there is no uniform verb_noun pattern across the set.
14 tools is within the appropriate range for a multi-source property data API. The count is slightly padded by the deprecated property_epc_search and the narrowly scoped planning_search/company_search, but most tools cover distinct data products.
The set covers the core property workflows: Rightmove listing discovery/detail, EPC search/detail, Land Registry transactions/comps, yield/rent analysis, stamp duty, and planning portal lookup. Minor gaps exist (no planning application details, no property-level title/ownership lookup), but agents can complete common research tasks without dead ends.