Skip to main content
Glama

Project requirements

project_requirements
Read-onlyIdempotent

The norms that apply to a project profile, 50 per page, filterable by requirement area (e.g. fire, egress, parking, accessibility), by state and by Hebrew words. Texts are clipped; call get_norm for the full text.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "project_requirements"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoHebrew words to filter by
useNoUse code, or several comma-separated for a mixed building, e.g. residential or retail,office. See list_profile_options.
areaNoRequirement area code, e.g. fire, egress, protected-space, parking
bedsNoNumber of beds, e.g. in a hotel, hospital or care home; used for thresholds in norms
cityNoMunicipality slug, e.g. tel-aviv, jerusalem. See list_profile_options.
roleNoShow the norms for one party, e.g. architect, developer, fire (fire safety consultant), authority: a role code from list_profile_options. Omit for all parties
siteNoComma-separated plot condition codes that apply; 'none' = checked and none apply; omit = not checked
roomsNoNumber of rooms; used for thresholds in norms
stageNoProject stage: feasibility (היתכנות ותכנון ראשוני), design (תכנון מפורט), permit (רישוי ובקשה להיתר), execution (ביצוע באתר), completion (גמר וטופס 4), operation (תפעול ותחזוקה). Omit = all stages
stateNoapplies = applies; data = depends on missing project data; review = needs a specialistall
trackNoPermit track: standard, short or fast. Omit if unknown (no norm is excluded)
offsetNoMultiple of 50 for the next page
statusNonew = new building; existing = existing building
storeysNoNumber of storeys; used for thresholds in norms
featuresNoComma-separated project element codes from list_profile_options (features), e.g. pool; 'none' = checked and none apply; omit = not checked
occupancyNoNumber of occupants; used for occupancy thresholds in norms
floor_areaNoFloor area, m²; used for area thresholds in norms
height_classNoBuilding height class: low, high or multistory. Omit if unknown (no norm is excluded)
dwelling_unitsNoNumber of dwelling units (apartments)
building_heightNoBuilding height, m; used for height thresholds in norms

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • addedInput schema / properties / beds / description
      Added value: +"Number of beds, e.g. in a hotel, hospital or care home; used for thresholds in norms"
    • changedInput schema / properties / building_height / description
      Previous value: -"Building height, m"New value: +"Building height, m; used for height thresholds in norms"
    • addedInput schema / properties / dwelling_units / description
      Added value: +"Number of dwelling units (apartments)"
    • changedInput schema / properties / features / description
      Previous value: -"Comma-separated project element codes, e.g. pool; omit = not checked"New value: +"Comma-separated project element codes from list_profile_options (features), e.g. pool; 'none' = checked and none apply; omit = not checked"
    • changedInput schema / properties / floor_area / description
      Previous value: -"Floor area, m²"New value: +"Floor area, m²; used for area thresholds in norms"
    • changedInput schema / properties / height_class / description
      Previous value: -"Building height class"New value: +"Building height class: low, high or multistory. Omit if unknown (no norm is excluded)"
    • changedInput schema / properties / occupancy / description
      Previous value: -"Number of occupants"New value: +"Number of occupants; used for occupancy thresholds in norms"
    • changedInput schema / properties / role / description
      Previous value: -"Whose obligations to show, e.g. a role code from list_profile_options"New value: +"Show the norms for one party, e.g. architect, developer, fire (fire safety consultant), authority: a role code from list_profile_options. Omit for all parties"
    • addedInput schema / properties / rooms / description
      Added value: +"Number of rooms; used for thresholds in norms"
    • changedInput schema / properties / stage / description
      Previous value: -"Project stage"New value: +"Project stage: feasibility (היתכנות ותכנון ראשוני), design (תכנון מפורט), permit (רישוי ובקשה להיתר), execution (ביצוע באתר), completion (גמר וטופס 4), operation (תפעול ותחזוקה). Omit = all stages"
    • changedInput schema / properties / status / description
      Previous value: -"New building or existing building"New value: +"new = new building; existing = existing building"
    • addedInput schema / properties / storeys / description
      Added value: +"Number of storeys; used for thresholds in norms"
    • changedInput schema / properties / track / description
      Previous value: -"Permit track"New value: +"Permit track: standard, short or fast. Omit if unknown (no norm is excluded)"
  2. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), so the bar is lower, and the description still adds useful behavior: fixed 50-per-page paging and clipped result texts. It does not describe ordering, total counts, or how the threshold parameters change the result set, so it is not fully transparent.

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?

Two sentences, no filler, with the paging limit and filter dimensions front-loaded and the get_norm pointer trailing. The telegraphic fragment style ('The norms that apply to a project profile, 50 per page') costs a little readability but nothing is wasted.

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?

For a 20-parameter tool with no output schema, the description only accounts for the filtering side (area, state, words). It never explains that the many project-profile inputs (use, beds, storeys, floor_area, features, stage, site) shape which norms are deemed applicable, which is the core value of this tool.

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 the schema already documents all 20 parameters including enum meanings. The description only echoes three filter dimensions (area, state, Hebrew words) and adds area examples that the schema already lists, so it adds little beyond structured data — baseline 3.

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

Purpose4/5

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

The description names the resource precisely — norms applying to a project profile — and distinguishes itself from get_norm by saying full texts require that sibling. It lacks an explicit verb (list/query), so it reads as a noun phrase rather than a stated action, but an agent can still tell what it returns.

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?

It gives one genuine when-to-use rule: clipped texts mean you should call get_norm for the full text. However, it offers no guidance on choosing between this and the other sibling tools that also return norms (search_norms, check_norm_for_project), leaving the main selection decision to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.