Skip to main content
Glama
CSOAI-ORG

Planthire AI MCP

MCP Scorecard: 86/100

Planthire Ai MCP

MEOK AI Labs GSPC License PyPI

planthire-ai-mcp MCP — AI-powered automation tool

planthire-ai-mcp MCP — AI-powered automation tool. MIT.


🚀 Quick Start

PlantHire AI is an MCP server for UK construction equipment rental, built by MEOK AI Labs. It provides intelligent search across a plant hire catalog, rental quote calculation, real-time availability checking, booking creation, HSE-compliant pre-use safety checklists, and transport cost estimation for equipment delivery and collection.

Use cases: excavator/dumper/roller hire quotation, site equipment availability checks, LOLER/PUWER safety compliance, transport planning for heavy plant, and multi-item rental booking workflows.

Related MCP server: Env Manager AI MCP

Tools

Tool

Description

search_equipment

Search the construction equipment catalog by type, capacity, or keyword. Returns matching plant with specs and daily/weekly rates.

get_rental_quote

Calculate rental pricing for a piece of equipment over a given hire period, including delivery and collection costs.

check_availability

Check whether specific equipment is available for a requested date range across depots.

create_booking

Create an equipment rental booking with delivery address, hire dates, and contact details.

get_safety_checklist

Get an HSE-compliant pre-use safety inspection checklist tailored to the equipment type (e.g. excavator, telehandler).

calculate_transport

Estimate transport costs for delivery and/or collection of hired equipment based on site postcode and equipment dimensions.

Installation

# Install via pip
pip install planthire_ai_mcp

# Or install via Smithery
npx -y @smithery/cli@latest install planthire-ai-mcp --client claude

✨ Features

  • MCP protocol compliant

  • Easy installation

  • Well-documented API

  • Production-ready

  • Active maintenance

📖 Documentation

🛡️ Compliance

This MCP server is built with EU AI Act compliance built-in:

  • ✅ Article 9 — Risk Management System

  • ✅ Article 13 — Transparency & Instructions for Use

  • ✅ Article 15 — Bias Detection & Testing

  • ✅ Article 26 — FRIA Support (where applicable)

  • ✅ Article 50 — AI Content Watermarking (where applicable)

Need help getting compliant? Book a free 15-min diagnostic →

🏢 Enterprise

Need custom development, SLA guarantees, or white-label deployment?

  • Pro: $99/mo — Full MCP suite + EU AI Act tracking

  • Enterprise: $499/mo — Custom dev + SLA + Dedicated support

View Pricing → | Contact Sales →

🤝 Part of the MEOK Ecosystem

This server is part of the MEOK AI Labs ecosystem — 300+ MCP servers for sovereign AI governance.

Domain

Purpose

councilof.ai

EU AI Act compliance marketplace

safetyof.ai

AI safety & monitoring

meok.ai

Sovereign AI platform

cobolbridge.ai

Legacy modernization

📜 License

MIT © CSOAI-ORG



Pairs with MEOK Governance Suite

Build something that touches users? You need compliance. MEOK ships 38 governance MCPs that drop in alongside this tool — EU AI Act, DORA, NIS2, CRA, GDPR, ISO 42001, FDA SaMD, MDR, Basel, MiFID II, MiCA, COPPA, and more.

# One-shot install of the governance pack
npx meok-setup --pack governance

Free tier: 10 calls/day per MCP. Pro tier (£79/mo): unlimited + cryptographically signed compliance attestations your auditor verifies independently.

→ Full catalogue: councilof.ai/catalogue → MEOK AI Labs: meok.ai

💸 Try MEOK in 30 seconds — instant buy ladder

Tier

Price

What you get

Stripe

Smoke test

£1

Signed sample MCP-Hardening report + Article 50 PDF

https://buy.stripe.com/aFa7sNcgAdQS0ZT1Uc8k91t

Quick Kit

£9

EU AI Act Article 50 implementation guide (C2PA + EU-Icon)

https://buy.stripe.com/aFa7sNcgAdQS0ZT1Uc8k91t

Founder Call

£29

30-min 1-on-1 with the founder

https://buy.stripe.com/aFa7sNcgAdQS0ZT1Uc8k91t

Refundable. UK Stripe — VAT-clean. Builds on the 81-MCP MEOK fleet. Verify any signed report at https://meok.ai/verify.

Configuration

Add to your claude_desktop_config.json (Claude Desktop) or your MCP client config:

{
  "mcpServers": {
    "planthire-ai-mcp": {
      "command": "uvx",
      "args": ["planthire-ai-mcp"]
    }
  }
}

Or: pip install planthire-ai-mcp then run the planthire-ai-mcp command (stdio transport).

Examples

Once configured, ask your assistant, for example:

  • "Use search_equipment to …"

  • "Use get_rental_quote to …"

  • "Use check_availability to …"

Available Tools

7 tools
calculate_transportA

Estimate transport costs for equipment delivery/collection.

Pricing based on equipment size/weight class and distance.

Args: equipment_id: Equipment ID from catalog. distance_miles: One-way distance in miles from depot to site. depot: Collection depot. return_trip: Include return collection cost (default True).

Returns: Transport cost estimate with vehicle type.

Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.

When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.

When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

ParametersJSON Schema
NameRequiredDescriptionDefault
depotNolondon
api_keyNo
return_tripNo
equipment_idYes
distance_milesYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and excels: it explicitly states read-only, idempotent, no side effects, authentication needs, rate limits, error handling, and data privacy. No contradictions.

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

Conciseness3/5

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

Well-structured with clear sections, but has redundancy between 'Behavior' and 'Behavioral Transparency' sections, repeating read-only and idempotent information. Could be more concise.

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?

Given no output schema, the description includes return value hint, input descriptions, behavior, and constraints. It covers error handling and rate limits. However, the return format could be more detailed. Overall adequate for the tool's complexity.

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

Parameters4/5

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

Schema description coverage is 0%, so description compensates well. It explains equipment_id, distance_miles, depot, and return_trip with context. The api_key is not in the Args list but is described in the authentication section. Overall adds meaningful semantics beyond schema.

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

Purpose5/5

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

The description clearly states it estimates transport costs for equipment delivery/collection, using specific verbs and resources. It distinguishes from sibling tools like get_rental_quote and search_equipment by focusing on transport cost estimation.

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

Usage Guidelines4/5

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

Explicit 'When to use' and 'When NOT to use' sections provide context and exclusions, though the 'When to use' could be more specific to transport cost estimation rather than generic analysis. Alternatives are not explicitly named but differentiation is clear.

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

check_availabilityA

Check equipment availability for a date range.

Args: equipment_id: Equipment ID from catalog. start_date: Start date (YYYY-MM-DD). end_date: End date (YYYY-MM-DD). depot: Depot location (london, birmingham, manchester, bristol, glasgow, leeds, cardiff, edinburgh).

Returns: Availability status and alternative suggestions if unavailable.

Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.

When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.

When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

ParametersJSON Schema
NameRequiredDescriptionDefault
depotNolondon
api_keyNo
end_dateYes
start_dateYes
equipment_idYes

TDQS

A3.9/5.0
Behavior5/5

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

With no annotations, the description thoroughly covers read-only, stateless, idempotent, rate limits, authentication, error handling, and data privacy, exceeding basic requirements.

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

Conciseness3/5

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

The description is verbose with redundant behavioral sections and a generic 'When to use' that adds little value. It front-loads the purpose but could be more concise.

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?

Despite missing output schema and one parameter detail, the description provides extensive context on behavior and error handling, mostly compensating for the lack of annotations.

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

Parameters2/5

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

The 'Args:' section explains four parameters but omits 'api_key', which is in the schema. Though mentioned later in behavioral transparency, the parameter list is incomplete, reducing clarity.

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

Purpose5/5

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

The description clearly states the tool checks equipment availability for a date range, with a specific verb and resource. It distinguishes from sibling tools like create_booking and get_rental_quote.

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?

Explicit 'When to use' and 'When NOT to use' sections are provided, but the guidance is generic (e.g., 'structured analysis') and lacks differentiation from alternatives among siblings.

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

create_bookingD

Create an equipment booking.

Args: equipment_id: Equipment ID from catalog. start_date: Hire start date (YYYY-MM-DD). end_date: Hire end date (YYYY-MM-DD). depot: Collection depot. customer_name: Booking contact name. customer_email: Contact email. customer_phone: Contact phone number. include_insurance: Add damage waiver insurance. operator_required: Book with CPCS operator. delivery_address: If provided, equipment will be delivered (extra cost).

Returns: Booking confirmation with reference number.

Behavior: This tool generates structured output without modifying external systems. Output is deterministic for identical inputs. No side effects. Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.

When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.

When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

ParametersJSON Schema
NameRequiredDescriptionDefault
depotNolondon
api_keyNo
end_dateYes
start_dateYes
equipment_idYes
customer_nameNo
customer_emailNo
customer_phoneNo
delivery_addressNo
include_insuranceNo
operator_requiredNo

TDQS

D1.8/5.0
Behavior1/5

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

The 'Behavioral Transparency' section claims the tool is read-only with no side effects, directly contradicting the tool's apparent purpose of creating a booking (a write operation). This is a critical inconsistency.

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

Conciseness2/5

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

The description is overly long and includes redundant content (e.g., repeated behavioral info) and irrelevant sections like generic 'When to use' text. It should be concise and focused on booking creation.

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

Completeness1/5

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

Despite having 11 parameters and no output schema or annotations, the description fails to coherently explain how to create a booking. The contradictory behavior claims and irrelevant analysis context make it incomplete and unusable.

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

Parameters4/5

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

The description lists 10 out of 11 parameters with short explanations (e.g., 'equipment_id: Equipment ID from catalog'), adding value beyond the schema's minimal titles. However, the api_key parameter is missing from the description.

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

Purpose2/5

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

The description initially states 'Create an equipment booking' but later includes a 'Behavior' section describing a read-only analysis tool with no side effects, which contradicts the tool's name and purpose. This confusion undermines clarity.

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

Usage Guidelines1/5

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

The 'When to use' and 'When NOT to use' sections describe generic 'structured analysis or classification' use cases that are irrelevant to creating bookings, providing no actual guidance on when to use this booking tool.

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

get_rental_quoteA

Calculate rental pricing for equipment.

Applies tiered pricing: daily rate for 1-6 days, weekly rate for 7-27, monthly rate for 28+. Includes optional insurance, fuel, and operator costs.

Args: equipment_id: ID from search_equipment results. duration_days: Number of hire days. include_insurance: Add damage waiver insurance (default True). include_fuel: Include estimated fuel costs. operator_required: Include CPCS-carded operator.

Returns: Detailed pricing breakdown in GBP.

Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.

When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.

When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
equipment_idYes
include_fuelNo
duration_daysYes
include_insuranceNo
operator_requiredNo

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description fully covers behavioral traits: read-only, stateless, idempotent, rate limits, authentication, error handling, side effects, and data privacy. This adds significant value beyond the schema.

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?

The description is well-structured with clear sections (Args, Returns, Behavior, When to use) and front-loaded purpose. However, there is some redundancy (rate limits mentioned in both Behavior and Behavioral Transparency), which slightly reduces conciseness.

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

Completeness5/5

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

Despite no output schema, the description explains returns ('Detailed pricing breakdown in GBP') and covers all necessary aspects: parameters, behavior, error handling, rate limits, and idempotency. It is complete for a complex pricing tool.

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

Parameters4/5

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

Schema description coverage is 0%, so the description compensates well. The 'Args' section explains each parameter's purpose and default values, except for 'api_key' which is omitted. Overall, it adds meaning beyond the schema's type and title.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Calculate rental pricing for equipment.' It details tiered pricing (daily, weekly, monthly) and optional costs (insurance, fuel, operator). This specificity distinguishes it from sibling tools like search_equipment or create_booking.

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

Usage Guidelines5/5

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

The description includes explicit 'When to use' and 'When NOT to use' sections, providing clear guidance. It also contextualizes the equipment_id parameter as coming from search_equipment results, and outlines rate limits and authentication requirements.

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

get_safety_checklistA

Get pre-use safety inspection checklist for equipment type.

Based on HSE, CPCS, and IPAF guidelines. Categories: excavators, dumpers, telehandlers, compaction, access, power, loaders.

Args: equipment_type: Equipment category (e.g. 'excavators', 'telehandlers').

Returns: Detailed checklist with regulatory references.

Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.

When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.

When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
equipment_typeYes

TDQS

A4.5/5.0
Behavior5/5

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

Even without annotations, the description fully discloses side effects (read-only, no side effects), authentication needs, rate limits, error handling, idempotency, and data privacy in a dedicated 'Behavioral Transparency' section.

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?

Well-organized with sections but contains redundancy: the top 'Behavior' paragraph repeats information in the later 'Behavioral Transparency' section. Could be more concise.

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?

No output schema, but description notes return value is a detailed checklist with regulatory references. Parameter coverage is adequate except for api_key. Overall sufficient for this tool's simplicity.

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?

Schema coverage is 0%, so description must compensate. It explains equipment_type with examples but does not explicitly describe the api_key parameter, though authentication is discussed elsewhere. Partial coverage limits clarity.

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

Purpose5/5

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

The description clearly states the tool retrieves a pre-use safety inspection checklist for equipment types, citing specific regulatory frameworks (HSE, CPCS, IPAF) and listing categories. It distinctly separates from sibling tools like rent_equipment or search_equipment.

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

Usage Guidelines5/5

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

Provides explicit 'When to use' and 'When NOT to use' sections, guiding the agent to use it for structured analysis and cautioning against real-time production decisions without human review.

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

rent_equipmentA

AGENT-CALLABLE END-TO-END PLANT HIRE.

Rents a piece of plant equipment in one call: searches the fleet → gets a rental quote → checks availability for the requested date → creates a booking → returns the relevant safety checklist (PUWER/CITB SMSTS).

Args: equipment_type: "mini_excavator", "1t_dumper", "3t_dumper", "telehandler", "roller", "scissor_lift", "boom_lift", "genset", "compactor". postcode: Delivery postcode (UK). hire_days: Number of days to hire (default 1). include_operator: If True, +£420/day for a CPCS-certified operator. requested_start_date_iso: ISO date "YYYY-MM-DD" (optional — default "tomorrow").

Returns: { "status": "ready_to_confirm" | "needs_human_input" | "rejected", "search": {"matched": N, "results": [...]}, "quote": {"equipment": "...", "daily_rate_gbp": N, "total_gbp": N, ...}, "availability": {...}, "booking": {"booking_id": "..."}, "safety": {"checklist": [...], "regulations": ["PUWER 1998", ...]}, "next_action": "...", "agent_metadata": {...} }

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
postcodeYes
hire_daysNo
equipment_typeYes
include_operatorNo
requested_start_date_isoNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description adequately discloses the tool's multi-step behavior including creating a booking and returning a safety checklist. It does not mention authorization needs or reversibility, but it covers the main side effects (booking creation).

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

Conciseness5/5

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

The description is well-structured: a bold header, a concise purpose paragraph, clearly separated arguments with bullet points, and a structured return example. Every sentence adds value without redundancy.

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

Completeness5/5

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

Given no output schema, the description provides a detailed return JSON object covering all steps (search, quote, availability, booking, safety). It also fully explains arguments and workflow, making the tool self-contained.

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

Parameters4/5

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

Despite 0% schema description coverage, the description includes an 'Args:' section that explains each parameter with defaults and constraints (e.g., equipment_type options, postcode meaning). However, it omits the 'api_key' parameter present in the schema.

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

Purpose5/5

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

The description clearly states it is an 'end-to-end plant hire' tool that rents equipment in one call, performing multiple steps: search, quote, availability, booking, safety checklist. This distinguishes it from sibling tools that handle individual sub-steps.

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

Usage Guidelines4/5

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

The description implies usage when a complete rental workflow is desired ('Rents a piece of plant equipment in one call'). However, it does not explicitly state when not to use it or mention alternatives for partial workflows, but the sibling list makes it clear.

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

search_equipmentA

Search the construction equipment catalog.

Filter by category, weight, capabilities, and price. Categories include: excavators, dumpers, telehandlers, compaction, power, access, loaders.

Args: query: Free-text search (matches name, uses, category). category: Equipment category filter. max_weight_tonnes: Maximum operating weight in tonnes. min_dig_depth_m: Minimum dig depth (excavators only). max_daily_rate: Maximum daily hire rate in GBP. requires_licence: Filter by licence requirement.

Returns: Matching equipment with specs and rates.

Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.

When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.

When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
api_keyNo
categoryNo
max_daily_rateNo
min_dig_depth_mNo
requires_licenceNo
max_weight_tonnesNo

TDQS

A3.6/5.0
Behavior5/5

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

The description provides a dedicated 'Behavior' and 'Behavioral Transparency' section covering side effects (read-only, no modifications), authentication (none for basic, API key for pro), rate limits (10/day free, unlimited pro), error handling (structured errors), idempotency (fully idempotent), and data privacy (no storage). This is thorough and compensates for the absence of annotations.

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

Conciseness3/5

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

The description is verbose and contains redundant sections: 'Behavior' and 'Behavioral Transparency' overlap significantly. The 'When to use' section is off-topic and could be omitted. While the main purpose is front-loaded, extraneous text reduces conciseness and could be streamlined.

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

Completeness3/5

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

The description covers behavioral and parameter details well, but the output description is minimal ('Matching equipment with specs and rates'). Given no output schema, more detail on the return structure would be beneficial. The misaligned usage guideline also detracts from completeness. Overall, adequate but not fully comprehensive.

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

Parameters4/5

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

The 'Args' section describes 6 of the 7 parameters with meaningful details (e.g., units, context like 'excavators only' for min_dig_depth_m). The missing parameter 'api_key' is not described in Args but is mentioned in the behavioral transparency section. Since the schema provides no descriptions, the description adds substantial value, though one parameter is omitted from the structured list.

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 clearly states the tool's main purpose: 'Search the construction equipment catalog' with explicit parameters. However, the later 'When to use' section introduces a generic description about structured analysis that does not align with the equipment search functionality, potentially causing confusion and reducing clarity.

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

Usage Guidelines2/5

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

The 'When to use' and 'When NOT to use' sections are present but vague and not specific to this tool. The 'When to use' mentions 'structured analysis or classification' which is misaligned. There is no guidance on when to use this tool versus sibling tools like 'check_availability' or 'get_rental_quote', leaving the agent without sufficient differentiation.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.0.0
    • First observedcalculate_transport
    • First observedcheck_availability
    • First observedcreate_booking
    • First observedget_rental_quote
    • First observedget_safety_checklist
    • First observedrent_equipment
    • First observedsearch_equipment

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation4/5

Tools have distinct purposes, but rent_equipment subsumes the functionality of search, quote, availability, booking, and safety, creating potential ambiguity for agents whether to use the composite tool or the granular individual tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., calculate_transport, check_availability, create_booking). No mixing of conventions.

Tool Count5/5

7 tools is well within the optimal 3-15 range for a plant hire server. Each tool serves a distinct part of the workflow without being excessive or minimal.

Completeness3/5

Core workflows (search, quote, availability, booking, safety, transport) are covered, but there are notable missing operations such as update/cancel booking or modify transport. The end-to-end tool partially mitigates this but doesn't provide full CRUD.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CSOAI-ORG/planthire-ai-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server