Skip to main content
Glama
eutech-directory

Ligis-Link-mcp

Legis-Link MCP — Construction Compliance AI

npm version License: MIT Glama Score

Instant construction compliance answers on mobile. Free. No install. Any phone.

Ask any compliance question in plain English. Get the exact standard, clause, and table reference back in seconds.

Live Demo

Try it now: https://legis-link-mcp-production-3e9b.up.railway.app/app

No account required. 50 free queries/day.


Related MCP server: Fetch MCP Server

9 Tools

Free Tier (50 queries/day, no account)

Tool

What it does

Compliance check

COMPLIANT / NON-COMPLIANT verdict with exact clause

Code reference

Look up any standard, clause, or table

Toolbox talks

Daily trade-specific safety briefing (10 trades, 70 topics)

Pro Tier ($199/year — 1,000 queries/day)

Tool

What it does

Technical calculations

Cable sizing, pipe sizing, voltage drop, heat load

Safety checklist

PPE + hazard controls with regulation per item

RAMS generator

Full Risk Assessment + Method Statement in 60 seconds

Material compliance

COMPLIANT / NON-COMPLIANT before ordering

Inspection requirements

Hold points, sign-off authority, form numbers

Visual compliance

Upload a site photo — AI compliance assessment (unique in market)


Coverage — 87 Regions, 10 Trades

Region

Coverage

Standards

Australia

8 states + territories

AS/NZS 3000:2018, NCC 2022, WHS Acts

United States

All 50 states + DC

NEC NFPA 70, IBC, OSHA 29 CFR 1926

Canada

10 provinces

CEC CSA C22.1, NBC, NPC

United Kingdom

England, Scotland, Wales, N.Ireland

BS 7671:2018, CDM 2015, Gas Safe

European Union

14 countries

EN standards, IEC 60364

10 Trades: Electrical, Plumbing, HVAC, Gas fitting, Welding, Solar/Battery, Fire protection, Carpentry, Concrete, Roofing


MCP Integration

Use Legis-Link from Claude Desktop, Cursor, Windsurf, or any MCP-compatible AI tool.

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "legis-link": {
      "url": "https://legis-link-mcp-production-3e9b.up.railway.app/sse"
    }
  }
}

Cursor / Windsurf

{
  "mcpServers": {
    "legis-link": {
      "url": "https://legis-link-mcp-production-3e9b.up.railway.app/sse"
    }
  }
}

Example queries via MCP

"What cable size for 45A, 30m run, 240V single phase, NSW?"
"Generate a RAMS for electrical switchboard installation in NSW"
"Is 6mm2 XLPE cable compliant for underground installation in NSW?"
"What are the inspection hold points for a timber frame in NSW?"
"Wire size for 60A circuit, 50 feet run, 240V, California?"

Self-Host

Requirements

  • Python 3.11+

  • Anthropic API key

Install

git clone https://github.com/eutech-directory/legis-link-mcp.git
cd legis-link-mcp
pip install -r requirements.txt

Configure

cp legis_link.env.example legis_link.env
# Edit legis_link.env with your API keys

Run

python legis_link_mcp_server.py

Server runs on http://localhost:8080


API

Health check

GET /health

Compliance query

POST /api/query
{
  "trade": "Electrical",
  "region": "NSW",
  "question": "Wire size for 45A load, 30m run?",
  "api_key": ""
}

Daily toolbox talk

GET /toolbox?trade=Electrical

Toolbox PDF (Pro)

GET /toolbox/pdf?trade=Electrical&region=NSW&api_key=ll_p_xxx

Pricing

Tier

Price

Queries/day

Tools

Free

$0

50

3

Pro

$199/year

1,000

9

Get Pro: https://rickyfarmer.gumroad.com/l/Legis-LinkPro



Results are preliminary compliance references. Always verify against the full published standard before proceeding with any installation.

Available Tools

8 tools
calculate_technical_specA

[PRO] Performs numerical technical calculations for construction trades with code-compliant results. Use this tool when a specific measurement, size, rating, or capacity needs to be calculated — not just checked for compliance. Returns the calculated value with units, the method or formula used, relevant derating or correction factors, and the code reference that governs the calculation. Supports: cable/conductor sizing (mm2 or AWG), voltage drop (%), pipe sizing (mm or inches), HVAC duct sizing (CFM/L/s), heat load calculations, load current calculations, and more. Example inputs: 'Cable size for 32A circuit, 25m run, 240V single phase, clipped direct', 'Pipe size for 40 fixture units copper hot water supply', 'Duct size for 1200 CFM round duct'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeYesThe trade for this calculation. Determines the applicable standard and units.
regionYesJurisdiction. Affects which standard and units apply (e.g. mm2 for AU/UK, AWG for USA).
calculationYesDescribe the calculation needed with all relevant parameters. Include: load/flow value, distance/length, voltage/pressure, installation method, ambient conditions. Example: 'Cable size for 45A, 30m run, 240V, single phase, in conduit, 35 degrees ambient'.
roleNoUser role. Affects detail level of the output.Journeyman
api_keyNoPro API key required. Get at https://rickyfarmer.gumroad.com/l/Legis-LinkPro

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It describes the return value composition (value with units, method, factors, code reference) but does not mention the required API key or any limitations. However, the description is sufficiently transparent for safe invocation.

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 concise (5-6 sentences) and well-structured: purpose, usage guidance, return value description, and examples. Every sentence adds value, with no unnecessary information.

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 the tool's complexity (multi-trade, multi-calculation type), the description thoroughly covers what the tool does, when to use it, what outputs to expect, and example inputs. No output schema exists, but the description adequately explains the return format.

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 100%, so the baseline is 3. The description adds value by providing example input formats and listing supported trades, which aids the agent in formulating the 'calculation' parameter. This extra context justifies a score of 4.

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 explicitly states the tool performs numerical technical calculations for construction trades with code-compliant results, listing supported areas and providing example inputs. This clearly differentiates it from sibling tools like check_compliance, which only checks compliance.

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 explicitly states when to use the tool ('when a specific measurement, size, rating, or capacity needs to be calculated — not just checked for compliance'), providing clear guidance on use vs. alternatives. This meets the 'explicit when/when-not/alternatives' criteria.

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

check_complianceA

Answers construction trade compliance questions with exact code references and clause citations. Use this tool when a tradesperson or engineer asks whether a specific installation, practice, or configuration is compliant with local regulations. Returns a COMPLIANT, NON_COMPLIANT, or REQUIRES_VERIFICATION status with the precise standard (e.g. AS/NZS 3000:2018 Clause 3.2.4) and any critical caveats. Covers electrical, plumbing, HVAC, welding, carpentry, roofing, gas fitting, solar, fire protection, and concrete trades across Australia, UK, USA, Canada, and EU. Do NOT use this tool for numerical calculations (use calculate_technical_spec instead) or for generating safety checklists or RAMS documents.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeYesThe construction trade relevant to the question. Must match a supported trade exactly.
regionYesJurisdiction for the compliance check. Examples: 'NSW', 'England', 'Texas', 'Ontario', 'Germany'. Determines which standard applies.
questionYesThe compliance question in plain English. Be specific: include voltages, distances, materials, or load values where relevant. Example: 'Is 2.5mm2 TPS cable compliant for a 20A circuit in a wall cavity?'
roleNoThe role of the person asking. Affects the depth and terminology of the answer.Journeyman
api_keyNoLegis-Link API key. Use 'dev_local' for testing. Get a free key at https://legis-link-mcp-production-3e9b.up.railway.app

TDQS

A4.5/5.0
Behavior4/5

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

Despite no annotations, the description discloses return status types and that results include exact code references. It could mention that the tool is read-only and does not modify anything, but overall good.

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?

Single paragraph, well-structured and front-loaded with purpose. Could be slightly more concise, but every sentence adds value without redundancy.

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 the tool's complexity (multiple trades, regions, output types), the description covers key aspects. No output schema, but the return status types are described. Could mention that answers include clause citations and caveats.

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?

Input schema has 100% coverage with descriptions. The tool description adds value by listing trade enum values and providing example question phrasing, though it does not repeat parameter docs.

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 answers compliance questions with exact code references, specifying supported trades and regions. It distinguishes itself from sibling tools like calculate_technical_spec.

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?

Explicitly tells when to use (construction compliance queries) and when not to use (numerical calculations, safety checklists), naming alternative tools. Provides clear usage context.

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

generate_ramsA

[PRO] Generates a complete Risk Assessment and Method Statement (RAMS) document — called a Job Hazard Analysis (JHA) in the USA or Safe Work Method Statement (SWMS) in Australia. Use this tool when a foreman or PM needs a formal safety document before a high-risk task. Output includes: Section 1 — Hazard Register (tabular, with severity/likelihood/risk rating/controls/regulations), Section 2 — Method Statement (numbered sequential steps), Section 3 — Required Qualifications and Certifications. The document is formatted for printing or inclusion in a site safety file. This tool produces a longer output than other tools — expect 800-1500 words. Example tasks: 'Electrical switchboard installation in commercial building NSW', 'Gas line installation in residential kitchen UK', 'Roof framing timber frame residential NSW'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeYesThe trade performing the work.
regionYesJurisdiction. Determines applicable WHS/CDM/OSHA legislation cited in the document.
taskYesFull description of the task requiring the RAMS. Include: what work, where, at what height or voltage, any confined space, any hot work. The more detail, the more accurate the hazard register.
company_nameNoOptional. Company name to include in the document header.
site_addressNoOptional. Site address to include in the document header.
roleNoRole of the person generating the RAMS. Foreman or PM recommended.Foreman
api_keyNoPro API key required.

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the output is 800-1500 words and mentions it is a PRO tool, but does not address mutation, auth requirements beyond the api_key parameter, or any side effects. Adequate but not robust.

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 four sentences, front-loads purpose, then usage, output structure, and examples. Every sentence adds value with no 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?

Despite no output schema, the description explains the three-section output format, formatting for printing, and expected word count. It covers the tool's purpose, usage, output structure, and provides examples, making it complete for the tool's complexity.

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?

Input schema covers all 7 parameters with descriptions (100% coverage). Description adds marginal value, noting that more detail in the task parameter improves accuracy, but does not elaborate on parameter semantics beyond 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 the tool generates a complete RAMS/JHA/SWMS document, lists specific sections (Hazard Register, Method Statement, Qualifications), and provides examples, distinguishing it from siblings like generate_safety_checklist which are lighter.

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?

Explicitly says to use 'when a foreman or PM needs a formal safety document before a high-risk task,' providing strong contextual guidance. Lacks explicit when-not or alternative naming but context is clear.

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

generate_safety_checklistA

[PRO] Generates a numbered safety checklist for a specific construction task with PPE requirements, hazard controls, and regulatory citations for each item. Use this tool when a foreman or safety officer needs a task-specific checklist before work begins. Each checklist item includes: the safety requirement, the specific control measure, and the regulation or standard that mandates it (e.g. WHS Act 2011, CDM 2015, OSHA 29 CFR 1926). Do NOT use this tool to generate a full RAMS document — use generate_rams for that. Example tasks: 'working at height on a residential roof', 'hot work near fuel lines', 'isolating and working on a 415V switchboard'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeYesThe trade performing the task.
regionYesJurisdiction. Determines which WHS/HSE regulations and codes of practice apply.
taskYesSpecific task description. Be precise about the activity, location, and any known hazards. Example: 'Installing 415V switchboard in an occupied commercial building, working at 3m height'.
roleNoRole of the person who will use the checklist.Journeyman
api_keyNoPro API key required.

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, so description handles disclosure. It explains each checklist item includes safety requirement, control measure, and regulatory citation. Does not mention auth or side effects, but the structure is clearly described.

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?

Two concise sentences plus a list and a warning. Front-loads the main purpose. Every element serves a purpose 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 fully explains the checklist contents. Combined with high schema coverage and clear guidelines, it provides a complete picture for an AI agent.

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 100%, but the description adds value by giving guidance on parameter usage, especially for 'task' parameter with a concrete example. It reinforces the meaning of parameters in context.

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 uses a specific verb 'Generates' and resource 'safety checklist' for construction tasks. It clearly distinguishes from sibling tool 'generate_rams' by stating it should not be used for RAMS documents.

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?

Explicitly states when to use (foreman/safety officer needs task-specific checklist before work) and when not to use (for RAMS, use generate_rams). Provides example tasks, giving clear context for appropriate invocation.

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

get_code_referenceA

Retrieves specific code sections, standards, and regulatory references for a construction trade topic. Use this tool when you need to cite the exact standard document, clause number, table reference, or regulatory instrument — without asking a yes/no compliance question. Returns the standard name, edition year, specific clause or table, and a plain-English summary of what that clause requires. Useful for pre-populating compliance documents, RAMS, or certificates. Examples: 'AS/NZS 3008 cable sizing tables', 'CDM 2015 notification thresholds', 'NEC Article 210 branch circuits'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeYesThe construction trade for which you need a code reference.
regionYesJurisdiction. Determines which edition of the standard applies. Examples: 'NSW', 'England', 'California'.
topicYesThe specific topic or subject to look up. Example: 'cable sizing for final sub-circuits', 'maximum water heater temperature', 'roof pitch minimums'.
api_keyNoLegis-Link API key. Use 'dev_local' for testing.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses return format (standard name, edition year, clause, summary) and use case (pre-populating documents). No side effects mentioned, but appropriate for a read-only retrieval tool.

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 concise, front-loaded with purpose, and includes relevant examples in a single paragraph. Every sentence adds value with no 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 absence of output schema, description sufficiently details return format. Parameters are fully documented, and the use case is clear. No gaps for typical retrieval operation.

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 100% with clear descriptions for each parameter. The description adds example values and context but does not significantly enhance meaning beyond schema. Baseline score of 3 is appropriate.

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 retrieves code sections and standards for construction trades, using specific verbs and resource. It explicitly distinguishes from yes/no compliance questions, separating it from sibling tool check_compliance.

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 says when to use (cite exact standard, without compliance question) and provides examples. It implies alternatives exist but does not name them explicitly. Good but not exhaustive.

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

get_inspection_requirementsA

[PRO] Returns all mandatory inspection hold points, sign-off authorities, certificates to be issued, and notification requirements for a construction installation in a specific jurisdiction. Use this tool when a foreman or PM needs to know: who must inspect, at what stage work must stop, what certificate is issued, and which regulation mandates the inspection. Prevents costly rework caused by covering work before mandatory inspection. Returns a numbered list of inspection stages with: inspector role/authority, certificate type and form number, regulatory reference, and notification timing. Example installations: 'residential electrical installation NSW', 'timber frame residential build NSW', 'gas fitting domestic kitchen UK'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeYesThe trade performing the installation.
regionYesJurisdiction. Inspection authorities and certificate types vary significantly by region.
installationYesDescription of the installation requiring inspection. Be specific about scope. Example: 'new 3-bedroom residential electrical installation including switchboard, circuits, and solar inverter connection, NSW'.
roleNoRole of the person requesting the inspection requirements.Journeyman
api_keyNoPro API key required.

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It describes the output format and mentions preventing rework, but omits details on permissions, side effects, or error handling.

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?

Description is focused and front-loaded with purpose. It is reasonably concise, though could be slightly tighter without losing clarity.

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?

For a tool with 5 parameters and no output schema, the description covers purpose, usage, output format, and examples. Lacks details on error scenarios or API key usage.

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 100% with good descriptions. The description adds value by providing example installations, but does not significantly enhance parameter meaning 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 the tool returns mandatory inspection hold points, sign-off authorities, certificates, and notification requirements for a construction installation. It distinguishes from siblings like calculate_technical_spec and check_compliance by focusing on inspection stages.

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?

Explicitly says 'Use this tool when a foreman or PM needs to know...' providing clear context. However, it does not specify when not to use or directly compare with sibling tools.

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

list_supported_regionsA

Lists all jurisdictions and regions supported by Legis-Link for a specific trade. Use this tool before calling other tools to confirm that the target region is supported, or to discover available regions when the user has not specified one. Returns a structured list of countries and their sub-regions (states, provinces, nations) along with the primary standards that apply in each region.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeYesThe trade for which to list supported regions.
api_keyNoLegis-Link API key. Use 'dev_local' for testing.

TDQS

A4.1/5.0
Behavior3/5

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

The description explains the output type (structured list with countries, sub-regions, and standards), but does not explicitly state that the tool is read-only, has no side effects, or mention authentication or rate limits. With no annotations, the description carries the burden; it adds value but lacks full transparency.

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 three sentences, front-loaded with purpose, then usage guidance, then output description. Every sentence adds value; no fluff.

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?

For a simple list tool with one required parameter and no output schema, the description sufficiently covers when to use, what input is needed, and what output looks like. It is complete for its complexity.

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 100%, so baseline is 3. The description mentions 'for a specific trade' which aligns with the trade parameter, but does not add new meaning beyond the schema's enum and description for trade or api_key. No additional param guidance given.

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 lists jurisdictions and regions for a specific trade, using specific verb 'Lists' and resource 'jurisdictions and regions'. It distinguishes itself from siblings by positioning as a precursor to other tools.

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 tells agents to use this tool before calling others to confirm region support or discover available regions, providing clear context for use. However, it does not explicitly state when not to use or mention alternative tools.

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

verify_material_complianceA

[PRO] Checks whether a specific material, product, or component meets the code requirements for a given trade application and jurisdiction. Returns COMPLIANT, NON_COMPLIANT, or REQUIRES_VERIFICATION with the specific clause that governs the material selection, and — if non-compliant — the compliant alternative. Use this tool BEFORE ordering materials to avoid costly substitutions on site. Do NOT use this tool for general compliance questions — use check_compliance instead. Example inputs: '2.5mm2 TPS cable for 20A underground direct burial circuit NSW', 'Class 12 copper pipe for domestic hot water NSW', 'R3.5 glasswool batts for external wall cavity UK Building Regs'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeYesThe trade context for this material check.
regionYesJurisdiction. Determines which product standards and approval schemes apply.
materialYesThe material or product to check. Include: product name or type, specification or rating, and manufacturer if known. Example: '2.5mm2 TPS twin and earth, 450/750V rating, PVC insulation'.
use_caseNoWhere and how the material will be used. Include installation method, environmental conditions, load. Example: 'underground direct burial, 20A circuit, 30m run, clay soil'.standard installation
roleNoRole of the person checking the material.Journeyman
api_keyNoPro API key required.

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description covers return values (COMPLIANT, NON_COMPLIANT, REQUIRES_VERIFICATION) and behavior (returns clause and alternative). It does not disclose detailed error handling or rate limits, but is fairly comprehensive for a read-only check.

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?

Description is somewhat lengthy but well-structured: purpose first, then usage guidance, examples, and parameter hints. Could be slightly tighter but remains effective.

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 explains return values. Covers all parameters implicitly. Lacks details on API key authentication but sufficient for agent invocation.

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 100%, providing baseline 3. Description adds value with example inputs and context for 'material' and 'use_case' parameters, enhancing understanding 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 the tool checks material compliance against code for a specific trade and jurisdiction, returning compliance status, clause, and alternative. It distinguishes from sibling tool 'check_compliance'.

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?

Explicitly advises using before ordering materials and warns against using for general compliance questions, directing to 'check_compliance' instead.

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. 8 tool updatesv3.2.1
    • Changedcalculate_technical_spec5 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Pro API key required. Get at https://rickyfarmer.gumroad.com/l/Legis-LinkPro"
      • addedInput schema / properties / calculation / description
        Added value: +"Describe the calculation needed with all relevant parameters. Include: load/flow value, distance/length, voltage/pressure, installation method, ambient conditions. Example: 'Cable size for 45A, 30m run, 240V, single phase, in conduit, 35 degrees ambient'."
      • addedInput schema / properties / region / description
        Added value: +"Jurisdiction. Affects which standard and units apply (e.g. mm2 for AU/UK, AWG for USA)."
      • addedInput schema / properties / role / description
        Added value: +"User role. Affects detail level of the output."
      • addedInput schema / properties / trade / description
        Added value: +"The trade for this calculation. Determines the applicable standard and units."
    • Changedcheck_compliance5 fields changed
      • changedInput schema / properties / api_key / description
        Previous value: -"Your Legis-Link API key"New value: +"Legis-Link API key. Use 'dev_local' for testing. Get a free key at https://legis-link-mcp-production-3e9b.up.railway.app"
      • addedInput schema / properties / question / description
        Added value: +"The compliance question in plain English. Be specific: include voltages, distances, materials, or load values where relevant. Example: 'Is 2.5mm2 TPS cable compliant for a 20A circuit in a wall cavity?'"
      • addedInput schema / properties / region / description
        Added value: +"Jurisdiction for the compliance check. Examples: 'NSW', 'England', 'Texas', 'Ontario', 'Germany'. Determines which standard applies."
      • addedInput schema / properties / role / description
        Added value: +"The role of the person asking. Affects the depth and terminology of the answer."
      • addedInput schema / properties / trade / description
        Added value: +"The construction trade relevant to the question. Must match a supported trade exactly."
    • Changedgenerate_rams7 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Pro API key required."
      • addedInput schema / properties / company_name / description
        Added value: +"Optional. Company name to include in the document header."
      • addedInput schema / properties / region / description
        Added value: +"Jurisdiction. Determines applicable WHS/CDM/OSHA legislation cited in the document."
      • addedInput schema / properties / role / description
        Added value: +"Role of the person generating the RAMS. Foreman or PM recommended."
      • addedInput schema / properties / site_address / description
        Added value: +"Optional. Site address to include in the document header."
      • addedInput schema / properties / task / description
        Added value: +"Full description of the task requiring the RAMS. Include: what work, where, at what height or voltage, any confined space, any hot work. The more detail, the more accurate the hazard register."
      • addedInput schema / properties / trade / description
        Added value: +"The trade performing the work."
    • Changedgenerate_safety_checklist5 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Pro API key required."
      • addedInput schema / properties / region / description
        Added value: +"Jurisdiction. Determines which WHS/HSE regulations and codes of practice apply."
      • addedInput schema / properties / role / description
        Added value: +"Role of the person who will use the checklist."
      • addedInput schema / properties / task / description
        Added value: +"Specific task description. Be precise about the activity, location, and any known hazards. Example: 'Installing 415V switchboard in an occupied commercial building, working at 3m height'."
      • addedInput schema / properties / trade / description
        Added value: +"The trade performing the task."
    • Changedget_code_reference4 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Legis-Link API key. Use 'dev_local' for testing."
      • addedInput schema / properties / region / description
        Added value: +"Jurisdiction. Determines which edition of the standard applies. Examples: 'NSW', 'England', 'California'."
      • addedInput schema / properties / topic / description
        Added value: +"The specific topic or subject to look up. Example: 'cable sizing for final sub-circuits', 'maximum water heater temperature', 'roof pitch minimums'."
      • addedInput schema / properties / trade / description
        Added value: +"The construction trade for which you need a code reference."
    • Changedget_inspection_requirements5 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Pro API key required."
      • addedInput schema / properties / installation / description
        Added value: +"Description of the installation requiring inspection. Be specific about scope. Example: 'new 3-bedroom residential electrical installation including switchboard, circuits, and solar inverter connection, NSW'."
      • addedInput schema / properties / region / description
        Added value: +"Jurisdiction. Inspection authorities and certificate types vary significantly by region."
      • addedInput schema / properties / role / description
        Added value: +"Role of the person requesting the inspection requirements."
      • addedInput schema / properties / trade / description
        Added value: +"The trade performing the installation."
    • Changedlist_supported_regions2 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Legis-Link API key. Use 'dev_local' for testing."
      • addedInput schema / properties / trade / description
        Added value: +"The trade for which to list supported regions."
    • Changedverify_material_compliance7 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Pro API key required."
      • addedInput schema / properties / material / description
        Added value: +"The material or product to check. Include: product name or type, specification or rating, and manufacturer if known. Example: '2.5mm2 TPS twin and earth, 450/750V rating, PVC insulation'."
      • addedInput schema / properties / region / description
        Added value: +"Jurisdiction. Determines which product standards and approval schemes apply."
      • addedInput schema / properties / role / description
        Added value: +"Role of the person checking the material."
      • addedInput schema / properties / trade / description
        Added value: +"The trade context for this material check."
      • addedInput schema / properties / use_case / default
        Added value: +"standard installation"
      • addedInput schema / properties / use_case / description
        Added value: +"Where and how the material will be used. Include installation method, environmental conditions, load. Example: 'underground direct burial, 20A circuit, 30m run, clay soil'."
  2. 8 tool updatesv0.1.0
    • First observedcalculate_technical_spec
    • First observedcheck_compliance
    • First observedgenerate_rams
    • First observedgenerate_safety_checklist
    • First observedget_code_reference
    • First observedget_inspection_requirements
    • First observedlist_supported_regions
    • First observedverify_material_compliance

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, from calculations to compliance checks to safety documents. The descriptions explicitly differentiate between potentially overlapping tools like check_compliance and verify_material_compliance.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores, e.g., calculate_technical_spec, check_compliance, generate_rams.

Tool Count5/5

With 8 tools, the server is well-scoped for construction trades compliance, covering essential functions without extraneous tools.

Completeness5/5

The tool set covers all major aspects: calculations, compliance, safety documents, code references, inspection requirements, region support, and material verification. No obvious gaps.

Maintenance

ActivityActive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/eutech-directory/legis-link-mcp'

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