← Back to search

io.github.CSOAI-ORG/planthire-ai-mcp

CSOAI-ORG Scanned 16d ago

AI-powered planthire ai MCP server for agents. Supports search equipment, get rental quote, ...

B
76.7 / 100

Versions

No versions found.

PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 7

search_equipment
annotations: none low

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.

query string api_key str category string max_daily_rate string min_dig_depth_m string requires_licence string max_weight_tonnes string
get_rental_quote
annotations: none low

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.

api_key str equipment_id str include_fuel bool duration_days int include_insurance bool operator_required bool
check_availability
annotations: none low

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.

depot str api_key str end_date str start_date str equipment_id str
create_booking
annotations: none low

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.

depot str api_key str end_date str start_date str equipment_id str customer_name str customer_email str customer_phone str delivery_address string include_insurance bool operator_required bool
get_safety_checklist
annotations: none low

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.

api_key str equipment_type str
calculate_transport
annotations: none low

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.

depot str api_key str return_trip bool equipment_id str distance_miles float
rent_equipment
annotations: none low

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": {...} }

api_key str postcode str hire_days int equipment_type str include_operator bool requested_start_date_iso str

Permissions 3

network medium
Server uses network capabilities via: urllib
filesystem low
Server uses filesystem capabilities via: os
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 28

info
No dependency files found for SBOM generation sbom_generator · 100%
high
Remote transport without authentication auth_checker · 70%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
low
Tool 'search_equipment' has no annotations annotation_checker · 100%
low
Tool 'get_rental_quote' has no annotations annotation_checker · 100%
low
Tool 'check_availability' has no annotations annotation_checker · 100%
low
Tool 'create_booking' has no annotations annotation_checker · 100%
low
Tool 'get_safety_checklist' has no annotations annotation_checker · 100%
low
Tool 'calculate_transport' has no annotations annotation_checker · 100%
low
Tool 'rent_equipment' has no annotations annotation_checker · 100%
medium
Vulnerable dependency: mcp@1.28.0 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.28.0 (PYSEC-2026-3483) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: search_equipment manifest_parser · 90%
info
Tool: get_rental_quote manifest_parser · 90%
info
Tool: check_availability manifest_parser · 90%
medium
Permission: network access detected permission_analyzer · 80%
low
Permission: filesystem access detected permission_analyzer · 70%
low
Permission: env_vars access detected permission_analyzer · 90%
info
Tool: create_booking manifest_parser · 90%
info
Tool: get_safety_checklist manifest_parser · 90%
info
Tool: calculate_transport manifest_parser · 90%
info
Tool: rent_equipment manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (5) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%