Skip to main content
Glama

HostDirect hosting comparison

Zoek hosting, e-mail en opslag

search_providers
Read-onlyIdempotent

Search the finite public HostDirect catalogue by provider/package name and category. Returns all matches (at most the catalogue size), original price status, source dates and limitations. No ranking or live price guarantee. No pagination.

Input Schema

NameRequiredDescriptionDefault
queryNoOptional case-insensitive text in provider name, package or description.
categoryNo

Output Schema

NameRequiredDescriptionDefault
countYes
providersYes
disclosureYes
limitationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / providers / items
      Previous value: -{
      -  "additionalProperties": false,
      -  "description": "",
      -  "properties": {
      -    "category": {
      -      "description": "Service category.",
      -      "type": "string"
      -    },
      -    "description": {
      -      "description": "Public summary.",
      -      "type": "string"
      -    },
      -    "id": {
      -      "description": "Stable provider ID.",
      -      "type": "string"
      -    },
      -    "location": {
      -      "additionalProperties": false,
      -      "description": "",
      -      "properties": {
      -        "backup": {
      -          "description": "Backup evidence and uncertainties.",
      -          "type": "string"
      -        },
      -        "documented": {
      -          "description": "Primary location evidence only, not proof for all subprocessors or backups.",
      -          "type": "boolean"
      -        },
      -        "limitations": {
      -          "description": "Limits of the location evidence.",
      -          "type": "string"
      -        },
      -        "passport": {
      -          "description": "Absolute public URL.",
      -          "format": "uri",
      -          "type": "string"
      -        },
      -        "primary": {
      -          "description": "Primary data location.",
      -          "type": "string"
      -        },
      -        "region": {
      -          "description": "eu, eu-ch or unknown; Switzerland is separate from the EU.",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "region",
      -        "documented",
      -        "primary",
      -        "backup",
      -        "limitations",
      -        "passport"
      -      ],
      -      "type": "object"
      -    },
      -    "migration": {
      -      "description": "",
      -      "items": {
      -        "additionalProperties": false,
      -        "description": "",
      -        "properties": {
      -          "refs": {
      -            "description": "",
      -            "items": {
      -              "description": "ID in this provider sources array.",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "text": {
      -            "description": "Public editorial claim.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "text",
      -          "refs"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "name": {
      -      "description": "Provider name.",
      -      "type": "string"
      -    },
      -    "package": {
      -      "description": "Exact selected package.",
      -      "type": "string"
      -    },
      -    "price": {
      -      "additionalProperties": false,
      -      "description": "",
      -      "properties": {
      -        "checked": {
      -          "description": "Original source review date; not export time.",
      -          "format": "date",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "conditions": {
      -          "description": "Displayed price conditions, including historic status.",
      -          "type": "string"
      -        },
      -        "label": {
      -          "description": "Public displayed price.",
      -          "type": "string"
      -        },
      -        "offer": {
      -          "additionalProperties": false,
      -          "description": "Selected price basis only; other contract options may be explained on the profile.",
      -          "properties": {
      -            "billingMonths": {
      -              "description": "Billing interval in months, not necessarily the minimum contract duration.",
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "conditions": {
      -              "description": "Scope, billing unit, assumptions and limitations.",
      -              "type": "string"
      -            },
      -            "currency": {
      -              "description": "Currency of source amounts.",
      -              "enum": [
      -                "EUR"
      -              ],
      -              "type": "string"
      -            },
      -            "extras": {
      -              "description": "",
      -              "items": {
      -                "description": "Excluded or unconfirmed additional cost.",
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "introCents": {
      -              "description": "Source monthly or usage-unit introductory amount in eurocents, before VAT conversion.",
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "introMonths": {
      -              "description": "Months at the introductory rate; zero means no introductory period.",
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "kind": {
      -              "description": "Products with different billing models are not interchangeable.",
      -              "enum": [
      -                "subscription",
      -                "usage",
      -                "free"
      -              ],
      -              "type": "string"
      -            },
      -            "promo": {
      -              "description": "Whether the recorded offer is promotional.",
      -              "type": "boolean"
      -            },
      -            "promoEnd": {
      -              "description": "Recorded promotion end date YYYY-MM-DD, or empty if not specified.",
      -              "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
      -              "type": "string"
      -            },
      -            "regularCents": {
      -              "description": "Source monthly or usage-unit renewal amount in eurocents; not a future price guarantee.",
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "setupCents": {
      -              "description": "One-time source setup fee; null means unconfirmed, not zero.",
      -              "minimum": 0,
      -              "type": [
      -                "integer",
      -                "null"
      -              ]
      -            },
      -            "term": {
      -              "description": "Contract, prepayment and renewal conditions.",
      -              "type": "string"
      -            },
      -            "vat": {
      -              "description": "gross: VAT included; net21: exclude 21 percent VAT; assumed_gross: inclusion assumed, not confirmed.",
      -              "enum": [
      -                "gross",
      -                "net21",
      -                "assumed_gross",
      -                "unknown"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "currency",
      -            "kind",
      -            "vat",
      -            "introCents",
      -            "introMonths",
      -            "regularCents",
      -            "billingMonths",
      -            "setupCents",
      -            "promo",
      -            "promoEnd",
      -            "term",
      -            "conditions",
      -            "extras"
      -          ],
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "renewalLabel": {
      -          "description": "Public renewal description.",
      -          "type": "string"
      -        },
      -        "sources": {
      -          "description": "Official evidence for the selected price basis.",
      -          "items": {
      -            "description": "Absolute public URL.",
      -            "format": "uri",
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "status": {
      -          "description": "checked: approved within validity rules; historical: last approved basis, not confirmed current; unknown: no publishable basis.",
      -          "enum": [
      -            "checked",
      -            "historical",
      -            "unknown"
      -          ],
      -          "type": "string"
      -        },
      -        "term": {
      -          "description": "Contract and billing conditions.",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "label",
      -        "renewalLabel",
      -        "conditions",
      -        "term",
      -        "status",
      -        "checked",
      -        "offer",
      -        "sources"
      -      ],
      -      "type": "object"
      -    },
      -    "profile": {
      -      "description": "Absolute public URL.",
      -      "format": "uri",
      -      "type": "string"
      -    },
      -    "purchase": {
      -      "additionalProperties": false,
      -      "description": "",
      -      "properties": {
      -        "affiliateAvailable": {
      -          "description": "Profile may contain a disclosed affiliate link.",
      -          "type": "boolean"
      -        },
      -        "checkout": {
      -          "description": "Orders and payments occur with the provider, not HostDirect.",
      -          "type": "string"
      -        },
      -        "profile": {
      -          "description": "Absolute public URL.",
      -          "format": "uri",
      -          "type": "string"
      -        },
      -        "providerUrl": {
      -          "description": "Absolute public URL.",
      -          "format": "uri",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "profile",
      -        "providerUrl",
      -        "affiliateAvailable",
      -        "checkout"
      -      ],
      -      "type": "object"
      -    },
      -    "sources": {
      -      "description": "",
      -      "items": {
      -        "additionalProperties": false,
      -        "description": "",
      -        "properties": {
      -          "checked": {
      -            "description": "Original source review date; not export time.",
      -            "format": "date",
      -            "type": "string"
      -          },
      -          "id": {
      -            "description": "Stable source reference.",
      -            "type": "string"
      -          },
      -          "label": {
      -            "description": "Source title.",
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "Absolute public URL.",
      -            "format": "uri",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "label",
      -          "url",
      -          "checked"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "specifications": {
      -      "description": "",
      -      "items": {
      -        "additionalProperties": false,
      -        "description": "",
      -        "properties": {
      -          "refs": {
      -            "description": "",
      -            "items": {
      -              "description": "ID in this provider sources array.",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "text": {
      -            "description": "Public editorial claim.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "text",
      -          "refs"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "suitable": {
      -      "description": "",
      -      "items": {
      -        "additionalProperties": false,
      -        "description": "",
      -        "properties": {
      -          "refs": {
      -            "description": "",
      -            "items": {
      -              "description": "ID in this provider sources array.",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "text": {
      -            "description": "Public editorial claim.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "text",
      -          "refs"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "unsuitable": {
      -      "description": "",
      -      "items": {
      -        "additionalProperties": false,
      -        "description": "",
      -        "properties": {
      -          "refs": {
      -            "description": "",
      -            "items": {
      -              "description": "ID in this provider sources array.",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "text": {
      -            "description": "Public editorial claim.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "text",
      -          "refs"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    }
      -  },
      -  "required": [
      -    "id",
      -    "name",
      -    "package",
      -    "category",
      -    "description",
      -    "profile",
      -    "price",
      -    "location",
      -    "suitable",
      -    "unsuitable",
      -    "specifications",
      -    "migration",
      -    "sources",
      -    "purchase"
      -  ],
      -  "type": "object"
      -}New value: +null
  2. First observed

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/closed-world annotations, it discloses the key behavioral traits: results are exhaustive up to the catalogue size, there is no ranking, no live price guarantee and no pagination, and results carry original price status, source dates and limitations. That is exactly the context an agent needs before trusting the output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with no filler. The only minor redundancy is 'finite' paired with 'at most the catalogue size', which say the same thing twice.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be spelled out, and the description still flags the caveats an agent should carry (no ranking, no live prices, completeness bounds). It could have noted how query and category combine, but that is a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description restates that searching is done by provider/package name and category, which the schema already conveys, and it omits the fact that the free-text query also matches the description field. With only 50% schema description coverage, it does not fully compensate, though the enum for category is self-documenting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb and resource ('Search the finite public HostDirect catalogue') and scopes it to 'provider/package name and category'. That makes it distinguishable from get_provider and compare_providers by inference, but it never explicitly contrasts itself with those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: you search the catalogue by name or category. There is no explicit guidance on when to prefer compare_providers or get_provider, nor on what to do when no match is found, so the agent must infer routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources