Skip to main content
Glama
Slimouzi

ifc-geometry-mcp

by Slimouzi

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.1

  • Disambiguation5/5

    Each tool targets a unique aspect of IFC geometry analysis: boundaries, inventory, clashes, surface loss, openings, and envelope. No two tools have overlapping purposes, and descriptions clearly differentiate their outputs.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (check_, extract_, run_, compute_, check_, extract_), with clear action words and specific object nouns. This predictable structure makes it easy to infer tool behavior.

    Tool Count5/5

    With 6 tools, the server is well-scoped for its domain. Each tool covers a distinct geometry analysis function, and the number feels neither too thin nor overwhelming.

    Completeness5/5

    The tool set covers the core lifecycle of space quality assessment: boundary verification, inventory extraction, clash detection, surface loss computation, opening matching, and envelope extraction. No glaring gaps for the stated purpose.

  • Average 3.7/5 across 6 of 6 tools scored. Lowest: 2.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 17 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under Apache 2.0.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description must carry the full burden of behavioral disclosure. It states that the tool writes a JSON file, but does not mention potential side effects like overwriting behavior, error handling, or whether it modifies the input IFC file. This is minimal transparency for a write operation.

    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 very concise, using two short sentences to convey the tool's core function and output. It is front-loaded with the main purpose and includes the output file name and schema, making it efficient without excessive detail.

    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 output schema exists, so return values need not be explained. However, the description lacks usage context, such as prerequisites (e.g., valid IFC path) or why one would choose this tool over siblings. It is adequate for a basic understanding but falls short of full contextual guidance.

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

    Parameters3/5

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

    The input schema has 100% coverage with detailed descriptions for all six parameters, so the description adds no additional parameter semantics. It does not explain the parameters' purpose beyond what the schema already provides, earning the baseline score.

    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 indicates the tool creates a room-by-room inventory with zones, naming, and model freshness, and writes a JSON file. It does not explicitly differentiate from sibling tools like check_space_boundaries or compute_surface_loss, but the purpose is specific enough to avoid confusion.

    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?

    No guidance is given on when to use this tool versus alternatives such as run_space_clash_audit or extract_envelope_surfaces. The description lacks any conditional context or exclusions, leaving usage entirely implied by the tool's purpose.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses that the tool writes a JSON file with a specific schema, which is a useful side-effect. However, it does not explicitly state whether the analysis is read-only, whether it can overwrite files, or any prerequisites or failure modes, leaving some behavioral gaps.

    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 exceptionally concise, consisting of two sentences that front-load the purpose and then state the output. No wasted words or redundancy.

    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?

    With 6 parameters and an output schema, the description explains the core purpose and output file but does not elaborate on the audit process or the contents of the findings JSON. It is adequate given the schema, but lacks broader context like when to choose this tool over siblings or what the findings look like.

    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 description coverage is 100%, with each parameter clearly described (ifc_path, overwrite, duplicate_ratio, etc.). The tool description adds minimal parameter-specific value, only hinting at the output file naming pattern via `<stem>` from ifc_path. Thus the baseline 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 the tool detects duplicates, overlaps, and double-modeled closets, using a specific verb and resource. This distinguishes it from sibling tools like check_space_boundaries or extract_space_inventory, which target different aspects of space analysis.

    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 description provides no explicit guidance on when to use this tool versus alternatives. It does not mention any exclusions or alternative tools, leaving usage only implied by the name and purpose.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the transparency burden. It does disclose the key side effect of writing `<stem>_openings_check.json` with a specific schema. However, it omits preconditions, failure behavior, and whether any other modifications occur; it only hints at overwrite behavior through a parameter description.

    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 two short sentences, front-loaded with the core purpose and immediately followed by the output artifact specification. It contains no filler, no redundant restatement of the tool name, and every sentence contributes value.

    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 presence of an output schema and full input schema lowers the burden, and the description does state the main purpose and output file. However, it lacks practical workflow context—such as the recommended bi-maquette mode and how the results should be interpreted—leaving clear gaps for a moderately complex checking 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?

    The input schema covers 100% of the parameters with meaningful descriptions, including `tolerance_m` and `structure_ifc_path`. The tool description itself adds no parameter-specific details beyond what the schema already provides, so the baseline score of 3 applies.

    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 opens with the specific verb 'Vérifie' followed by the exact resource and relationship: 'chaque réservation structure a une ouverture archi.' This clearly differentiates it from sibling tools focused on space boundaries, surfaces, clashes, and surface loss.

    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?

    The intended use case is implied by the action ('vérifie que chaque réservation structure a une ouverture archi'), but there is no explicit when-to-use or when-not-to-use guidance, no mention of alternatives, and no pointer to sibling tools. The schema notes the recommended bi-maquette mode, but the description itself does not provide this usage context.

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

  • Behavior3/5

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

    There are no annotations, so the description carries the full burden of disclosing side effects. It does state that the tool writes a file (`<stem>_surface_loss.json` with schema `compute_surface_loss`), which is an important behavioral trait. However, it omits details like file path derivation, overwriting behavior (though the `overwrite` parameter implies it), or error handling for invalid IFC input.

    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 exceptionally concise: two short sentences that lead with the primary action and outcome. It includes the critical output artifact and schema name without any fluff or redundancy, earning a perfect score for conciseness.

    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 that the tool has only two parameters and an output schema, the description is largely complete: it explains the computation purpose, the output file name, and the schema. Minor gaps such as the meaning of `<stem>` and the lack of comparison to sibling tools prevent a perfect score, but for a simple tool, this is sufficient.

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

    Parameters3/5

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

    The input schema has 100% description coverage for both parameters: `ifc_path` is clearly explained as the path to the IFC model and `overwrite` as overwriting existing JSON. The description itself adds no parameter-specific meaning beyond the schema, so the 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 starts with a specific action verb 'Calcule' and identifies the exact resource: 'm² perdus par pièce (empiètement murs/poteaux)'. This clearly distinguishes it from sibling tools like extract_envelope_surfaces or check_space_boundaries, which focus on different aspects of space analysis.

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

    Usage Guidelines3/5

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

    Usage context is implied by the calculation semantics, but the description does not explicitly state when to use this tool over alternatives or mention any exclusions. There is no guidance such as 'for other surface analyses, use...', which leaves an agent to infer applicability from the purpose alone.

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

  • Behavior4/5

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

    No annotations are provided, so the description must self-disclose behaviors. It explicitly mentions the side effect of writing a JSON file (`<stem>_boundaries.json`), which is a key behavioral trait. It could additionally mention overwrite behavior or valid IFC requirements, but the core behavior is disclosed.

    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 two sentences, front-loaded with the main purpose and immediately followed by the output file detail. Every sentence earns its place with no wasted words.

    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?

    The tool is moderately complex (IFC processing, file output) but the description, combined with a fully documented schema and an output schema, provides enough context for an agent to select and invoke it. It could mention the purpose of the boundary JSON or prerequisites, but the current level is adequate.

    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 description coverage is 100%, so the parameters are fully documented. The description adds no extra semantic meaning beyond the schema, and the baseline of 3 applies because the schema already carries the burden.

    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 states a specific verb and resource: 'Détecte les limites manquantes entre pièces adjacentes' (detects missing boundaries between adjacent spaces). It clearly distinguishes itself from siblings by focusing on boundary detection, and it also names the output file and schema.

    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?

    The description implies usage for analyzing IFC space boundaries but provides no explicit guidance on when to use this tool versus alternatives. No exclusions or prerequisites are stated.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden of disclosing side effects. It explicitly names the two output files (`<stem>_envelope.json` and `<stem>_enveloppe.xlsx`) and notes the special I3F format, which is key behavioral information beyond the schema. It doesn't detail overwrite or failure modes, but the file-writing behavior is well disclosed.

    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 two tightly written sentences: the first states the calculation scope, the second specifies the two output files and the formatting requirement. No filler or redundancy, and the key verb is front-loaded.

    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 3 parameters and an output schema, the description is adequate: it covers purpose, outputs, and downstream integration. It could mention a potential dependency on earlier checks (like check_space_boundaries), but that's not essential for basic invocation.

    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?

    All three parameters are fully documented in the input schema (100% coverage), so the schema already explains ifc_path, seuil_3f, and overwrite. The description adds no additional parameter-level meaning, keeping this at the baseline.

    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 begins with 'Calcule les surfaces d'enveloppe' – a specific verb (calculates) and resource (envelope surfaces), listing categories (façades, menuiseries, SHAB, ratio). This clearly distinguishes it from sibling tools like extract_space_inventory or check_space_boundaries.

    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 provides clear usage context by stating the output xlsx is 'au format attendu par le pack I3F' and explicitly directs the user to pass it as 'enveloppe_xlsx' to 'generate_avp_i3f_pack'. It does not explicitly list exclusions or alternatives, but the intended workflow is clear.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

ifc-geometry-mcp MCP server

Copy to your README.md:

Score Badge

ifc-geometry-mcp MCP server

Copy to your README.md:

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/Slimouzi/ifc-geometry-mcp'

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