- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- EHS, Chemical Safety & Sustainability Compliance
- Secondary Subcategories
- None listed
- Brand
- Real-Time LCA
- Access
- Account required
- First tracked
- 2026-06-04
- Tool count
- 61
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is visible.
ChatGPT Plugin Discoverability Score
ChatGPT organic discovery is not live yet
Real-Time LCA MCP Server is tracked in the ChatGPT Plugin registry. Public organic-discovery measurement is not live for ChatGPT yet, so there is no score to publish today.
Get notified when your score goes live
Enter your work email and we’ll notify you when ChatGPT Plugin organic discovery scoring launches.
No spam. Unsubscribe any time.
Competing in ChatGPT EHS, Chemical Safety & Sustainability Compliance
View CategoryHow the Discoverability Score works
Organic discovery scoring for Real-Time LCA MCP Server on ChatGPT is not live yet. The score will use measured agent conversations when it launches.
Organic discovery scoring is pending. Your Plugin score will appear on this scale when measurement goes live.
FoundDiagnostic
Whether Claude found your Plugin in connector search. It must be Found before it can reach the picker, but the score counts picker appearances—not search results.
PickedMain score
How often your Plugin appeared in the picker, or Claude invoked it directly, across contested conversations. This percentage is the Discoverability Score; the headline number is rounded.
PositionedDiagnostic
What position your Plugin appeared in when it was shown in the picker. This shows prominence, but it does not affect the score.
61 tools agents can invoke
Compare how up to 10 candidate EPDs would change a project's GWP for one inventory material, broken down by life-cycle phase, and render the result as an interactive table + charts. There is no what-if sandbox, so this tool measures impact by **temporarily mapping** each candidate EPD onto the target material one at a time, reading the recalculated project dashboard, recording the result, then **restoring the material's original mapping** (or removing it if the material started unmapped). Restoration always runs, including on failure. This is a temporary-write tool: it changes project state during the run and returns it to its original state at the end. Confirm with the user before calling, and resolve the target leaf material (and ensure its lifetime is set) first. It does not commit any mapping — to keep a chosen EPD, map it explicitly with rtlca_map_materials afterward. Preconditions enforced by the tool (it stops before any write if violated): - the material must have a non-zero quantity, otherwise every candidate multiplies by zero and all deltas are 0 (pick a quantified material or set a quantity first); - the material's lifetime must be set (use rtlca_get_lifetime_table + rtlca_update_material_properties). Any candidate the backend refuses to map is recorded as skipped and the rest still compare. Note that mass and volume are NOT incompatible: a kg-declared EPD maps fine to an m³ material (and vice-versa) because the backend aligns them via density.
rtlca_compare_epds
Create or update a construction assembly (multi-layer build-up) in the library. A construction composes EXISTING materials/EPDs (referenced by materialId) into a single named assembly (e.g. a wall build-up with insulation, cladding, and structural layers). You do not enter raw emission data here — find materials with rtlca_search_materials or rtlca_search_constructions and reference them by their UUID. This is an upsert: omit id to create a new construction, pass an existing construction's id to update it. Use rtlca_get_declared_units for valid declaredUnit.unitId enum values. Layers: - Put each ordinary single-material layer in "materials", in build-up order. - Use "inhomogeneousLayers" only for a composite layer that itself contains several materials sharing one thickness (e.g. timber studs with insulation between them). Omit inhomogeneousLayers entirely for simple stacked build-ups. Returns the created/updated construction id and internalId.
rtlca_create_construction
Create a new EPD (Environmental Product Declaration) in the library. Use rtlca_get_declared_units for valid declaredUnit enum values. Use rtlca_get_epd_spec_forms for valid epdSpecificationForm values (EN15804A1 / EN15804A2). Use rtlca_get_indicator_enums for valid indicator types. Use rtlca_get_stage_types for valid life cycle stage values. Returns the created EPD with its generated UUID.
rtlca_create_epd
Create a new building project. Returns the newly created project object including its generated UUID. Use rtlca_get_project_enums to look up valid type and stage values.
rtlca_create_project
Create one or more project inventory materials. This tool creates inventory materials in a project. It is not the tool for mapping project materials to EPDs. Materials created with this tool do not need an EPD. materialIdentifier does not need to be unique. typeIdentifier can represent a model type or another grouping label used in the project. speckleUserParameters can be provided for traceability or classification metadata.
rtlca_create_inventory_materials
Permanently delete one or more material entries from a building project. ⚠️ This removes each material and all its mapping data from the project entirely. To only remove the EPD link, use rtlca_remove_material_mapping instead.
rtlca_delete_materials
Download a previously generated report for a building project. Returns the report download URL or content. Use rtlca_list_reports to get reportIds. For generating new reports, use rtlca_generate_xml_report or rtlca_generate_excel_report.
rtlca_download_report
Toggle the favourite status of a building project for the current user. Set favorite=true to mark as favourite, false to remove it.
rtlca_favorite_project
Find up to X EPD materials relevant to a free-text description and declared in one of the given declared units. Returns a JSON array of compact objects: id, name, owner, category, declaredUnit, expectedLifespan, gwp (per life-cycle stage), gwpTotal (sum of declared stages excluding module D). declaredUnit is an object incl. mass and massUnit (mass per declared unit, usable for density and unit conversion). gwp is keyed by life-cycle stage label (e.g. "A1-A3", "C3", "D"). Use rtlca_get_material with an id for full EPD details. Results are relevance-ranked and unit-filtered server-side, so the returned items are the top matches; fewer than count are returned when fewer match. Handy for quickly shortlisting candidate EPDs for a material (e.g. before comparing or mapping). Mass and volume are interchangeable: an EPD declared in a mass unit (kg) can be mapped to a volume material (m³) and vice-versa, because the backend aligns them via density. So when you pass a mass or volume unit this tool automatically also searches the counterpart group — you only need to pass the material's own declared unit. declaredUnits are integer enums — call rtlca_get_declared_units for valid values (e.g. kg, m², m³, pcs).
rtlca_find_relevant_epd_materials
Flag an EPD material as deprecated or faulty. Use flagType 'deprecated' for outdated EPDs that should no longer be used, or 'faulty' for EPDs with incorrect data. This helps maintain library quality. Flagged EPDs remain accessible but are marked for review.
rtlca_flag_epd
Convert a flat LCA Excel spreadsheet into a 6-level DGNB TEC 1.6 hierarchical workbook for Danish DGNB certification submissions. Groups materials into the hierarchy: Sum → Gruppe (Type) → Undergruppe (Bygningsdel) → Bygningsdel (Bygningsdel Hovedgruppe) → Konstruktion → Byggevare Weights aggregate bottom-up at each level. Output is colour-coded by level. Column names in the input are detected automatically — exact names are not required. Input: base64-encoded .xlsx file content Output: JSON { filename: "TEC_1_6_DGNB.xlsx", base64: "<base64-encoded output xlsx>" } No authentication required.
rtlca_format_dgnb_tec16
Trigger generation of an Excel report in the 2025 standard format for a building project. Returns a reportId and status. Once complete, use rtlca_list_reports and rtlca_download_report to retrieve the generated file.
rtlca_generate_excel_report
Trigger generation of an XML LCA report in BR18 format for a building project. Returns a reportId and status. Once complete, use rtlca_list_reports and rtlca_download_report to retrieve the generated file.
rtlca_generate_xml_report
Get accumulated GWP emissions over time for a building project. Returns a time-series array of accumulated emissions by year: [{ year, gwpAccumulated }] Useful for visualising how emissions build up over the building's life cycle, accounting for material replacements and operational energy.
rtlca_get_emissions_over_time
Get the full details of a construction assembly by its ID. Returns all layers with their EPDs, thicknesses, densities, and GWP contributions.
rtlca_get_construction
Retrieve the profile of the currently authenticated user. Returns user id, roles, tenantId, and metadata. Personal details (name, email, phone, avatar) are withheld from the response and are not sent to the model.
rtlca_get_current_user
Get valid declared mass unit enum values. Use these in mass-based unit fields when creating or updating EPDs.
rtlca_get_declared_mass_units
Get valid declared unit enum values. Use these integer values in the declaredUnit field when calling: - rtlca_add_type_material (declaredUnitValuePairs.declaredUnit) - rtlca_create_epd (declaredUnit) - rtlca_update_material_properties (declaredUnitValuePairs.declaredUnit) Examples: m², m³, kg, pcs, m
rtlca_get_declared_units
List all EPD datasources (programme operators and databases) available in the library. Returns datasource metadata: id, name, url, logoUrl. Use datasource IDs as filters in rtlca_search_materials_v2.
rtlca_get_datasources
Retrieve a previously uploaded EPD documentation file by its file ID. Returns the file content or download URL. File IDs are returned when uploading documentation via the EPD library.
rtlca_get_file
Get valid EPD product industry type enum values. Use the returned values in the industry/product category field when creating EPDs.
rtlca_get_industry_types
List all EPD owners (manufacturers) available in the library. Returns manufacturer names that can be used as the owner filter in rtlca_search_materials.
rtlca_get_owners
Get valid EPD specification form enum values. Returns the available EPD standards: - 0 = EN15804A1 - 1 = EN15804A2 Use in the epdSpecificationForm field when calling rtlca_create_epd or rtlca_update_epd.
rtlca_get_epd_spec_forms
Get valid environmental indicator enum values. Returns indicator types such as GWP (Global Warming Potential), ODP, POCP, AP, EP, etc. Use the returned keys in the indicators field when creating or updating EPDs.
rtlca_get_indicator_enums
Get valid life cycle stage type enum values. Returns stage identifiers such as A1-A3 (production), A4 (transport), A5 (installation), B1-B7 (use phase), C1-C4 (end of life), and D (beyond system boundary). Use these in metaDataRequest.includedPhases when calling rtlca_update_project_assumptions.
rtlca_get_stage_types
Get the reference lifetime table (Danish standard BR18 service life values). Returns recommended service life values by material/construction category. Use these values as guidance when setting the lifetime field on materials.
rtlca_get_lifetime_table
Get the details of a single material or EPD by its ID. Default (detail="summary") is a compact projection: id, name, owner, category, declaredUnit, expectedLifespan, gwp (per life-cycle stage), gwpTotal (sum of declared stages excluding module D), plus tags, EPD info essentials (specification form, validity, declaration number, link), datasource names, and description. declaredUnit is an object incl. mass and massUnit (mass per declared unit, usable for density and unit conversion). gwp is keyed by life-cycle stage label (e.g. "A1-A3", "C3", "D"). Set detail="detailed" ONLY when you need the full payload including the per-indicator LCIA results (GWP, ODP, POCP, AP, EP, ... broken down by life-cycle phase); that response is much longer. Use rtlca_search_materials to find the materialId.
rtlca_get_material
Get a paginated, tenant-scoped list of materials using filter parameters. Returns: { items, totalCount, pageNumber, pageSize } Default response projects each item to id, name, owner, category, declaredUnit, expectedLifespan, gwp (per life-cycle stage), gwpTotal (sum of declared stages excluding module D). Pass detail="detailed" to get the full payload, or call rtlca_get_material with the ids of interest. Use pageNumber (0-indexed) and pageSize for pagination. For richer filtering including datasource and tags, use rtlca_search_materials_v2.
rtlca_get_materials_by_filter
Get the GWP dashboard for a building project. Returns a breakdown of global warming potential (GWP) by life cycle phase, building element, and material — the primary LCA results view for a project.
rtlca_get_project_dashboard
Get a lightweight GWP summary for a building project. Faster than the full dashboard — returns key headline metrics: gwpTotal, gwpBudget, gwpUsedPercent, mappedMaterials, totalMaterials. Use rtlca_get_project_dashboard for the full breakdown by phase, element, and material.
rtlca_get_dashboard_summary
Get full details of a specific building project by its ID. Returns all project fields including Speckle stream data, calculation assumptions, referenced areas, energy data, and emission budget breakdown. Use rtlca_list_projects to find project IDs.
rtlca_get_project
Get the emission timeline (event log) for a building project. Returns a chronological list of emission-relevant events such as model imports, material mapping changes, and calculation updates.
rtlca_get_project_events
Get all enum values used in building project fields. Returns valid values for: building type (type field in rtlca_create_project), project stage (stage field), and other project-level categorical fields.
rtlca_get_project_enums
Look up building project IDs by a Speckle stream ID. Useful for Speckle webhook integrations where you have a streamId and need the corresponding Real-Time LCA building project UUID.
rtlca_get_project_by_stream
Get a flat, paginated list of a building project's inventory materials (the material entries the project owns) — not EPD library materials. This is the lightweight alternative to rtlca_get_material_mapping: it returns a flat array of leaf materials instead of a nested type tree, and each row omits the heavy EPD payload. Every row carries isMapped plus a tiny mappedEpd summary (id, name only) — no lciaResults, datasource, or link. Because pagination is over the flat material list, limit directly bounds the response size, so this stays small even on large projects. Each material exposes: materialId, identifier, typeIdentifier, branchName, category, quantities (all declared units it holds, each with declaredUnit, value, and a preferred flag), materialCount, lifeTime, lifeTimeOffset, includeMapping, isRecycled, tags, isMapped, and mappedEpd (null when unmapped). Filters: - materialIds: return only materials whose materialId is in this set (re-fetch a known set) - model: filter by Speckle branch/model names (e.g. ['structural', 'architectural']) - search: case-insensitive substring match on identifier, typeIdentifier, and category - filter: mapping status — "all" (default), "mapped", or "unmapped" - offset / limit: paginate over the flat list (default offset=0, limit=50, max limit=200). The response includes a pagination sibling with offset/limit/returned/total/hasMore/nextOffset. Use rtlca_get_material_mapping when you need the full mapped EPD detail or lciaResults, and rtlca_search_materials to search the EPD library (a different thing).
rtlca_get_inventory_materials
Get all materials and their mapping status for a building project. Results are grouped by BIM type identifier, making it easier to see which types are fully mapped vs. still pending. The response is projected into a compact shape: each material exposes materialId, identifier, category, lifeTime, materialCount, quantity (preferred unit), bimTypeCode, includeMapping, isAutoMapping, isRecycled, tags, and a mappedEpd summary (id, internalId, name, datasource, link, expectedLifespan, category) — null when the material is unmapped. Empty branches and parent types whose children all filter out are omitted. Use filter to narrow by mapping status: "all" (default), "mapped", or "unmapped". Use offset and limit to paginate over parent types after filtering (default offset=0, limit=20, max limit=200). Pagination is size-aware: a page holds as many types as fit a character budget, and a single large type is split across pages at the child level. The pagination sibling reports offset/childOffset/limit/returned/ total/hasMore/nextOffset/nextChildOffset. To fetch the next page pass nextOffset as offset and nextChildOffset as childOffset. A type that was split carries a childPagination block (childOffset/childReturned/childTotal/hasMoreChildren) and may reappear on the next page, so follow the cursor rather than assuming whole types. Use detail="detailed" to additionally include lciaResults inside each mappedEpd (default "summary" omits them to keep the payload small).
rtlca_get_material_mapping
Get the preview image URL for a project's Speckle stream. Returns the URL of the latest 3D thumbnail generated from the project's Speckle model. The streamId can be found in the project details returned by rtlca_get_project.
rtlca_get_project_preview_image
Get the full 360° rotation image set for a Speckle stream. Returns URLs for all rotation angle thumbnails of the project model. The streamId can be found in the project details via rtlca_get_project.
rtlca_get_preview_rotation
List all users who have access to a specific building project. Returns user IDs and their roles on the project (e.g. admin, viewer). Personal details (name, email) are withheld from the response and are not sent to the model.
rtlca_get_project_users
Get special condition overrides for a specific BIM type in a project. Special conditions allow type-specific adjustments to LCA calculations (e.g. different lifetimes or inclusion rules for specific construction types).
rtlca_get_special_conditions
Get valid tag category values for materials. Returns available tags, types, and form values that can be used in the tags field when creating or updating EPDs and materials.
rtlca_get_tags_types_forms
Get the transport (A4 phase) mappings configured for a building project. Returns transport distances and modes assigned to materials, used in A4 life cycle phase calculations.
rtlca_get_transport_mappings
List all tenants (organisations) the current user has access to. Useful when a user belongs to multiple organisations and you need to identify the correct tenantId for scoped operations.
rtlca_get_user_tenants
Get the 360° rotation image set for a specific Speckle commit/version. Returns preview image URLs for a particular model version. Both streamId and commitId can be found in the project details via rtlca_get_project.
rtlca_get_version_preview_rotation
List material waste mappings for a building project (C-phase calculations). Returns waste handling data per material: wasteType, recyclingPercent, disposalPercent. Used in life cycle phases C3 (waste processing) and C4 (disposal) calculations.
rtlca_get_waste_mappings
List construction assemblies (multi-layer build-ups) in the library. Constructions are composed of multiple material layers, each with their own EPD. Default response projects each item to id, name, owner, category, declaredUnit, expectedLifespan, gwp (per life-cycle stage), gwpTotal (sum of declared stages excluding module D). Pass detail="detailed" to get the full payload including layers, or call rtlca_get_construction with the ids of interest.
rtlca_get_constructions
List all generated reports available for a building project. Returns report metadata: reportId, name, createdAt, format. Use rtlca_download_report to download a specific report by its reportId.
rtlca_list_reports
List all building projects the authenticated user has access to. Default response is a compact projection of each project: id, name, role, buildingType (label), projectStatus (label), favorite, updatedAt. Pass detail="detailed" for the full payload (including area, location, memberships, models, calculation, specialConditionConfig), or call rtlca_get_project with the ids of interest. Optional filters: - stage: Project stage enum (e.g. 2 = Design, 4 = Completed) - type: Building type enum (e.g. 0 = Office, 2 = Residential single-family) Use rtlca_get_project_enums to look up valid enum values.
rtlca_list_projects
Map project materials to EPD library entries. Links unresolved materials (from the BIM model) to specific EPDs, enabling GWP calculations. Accepts an array to map multiple materials at once. Use rtlca_get_material_mapping to find unmapped materialIds, and rtlca_search_materials to find the target EPD (mappedMaterialId).
rtlca_map_materials
Search EPD materials using a POST body with advanced filtering options. Supports richer filters than the GET search: multiple datasource IDs, owner IDs, categories, tags, and tenant scoping in a single request. Returns: { items: [...], totalCount } Default response projects each item to id, name, owner, category, declaredUnit, expectedLifespan, gwp (per life-cycle stage), gwpTotal (sum of declared stages excluding module D). Pass detail="detailed" to get the full payload, or call rtlca_get_material with the ids of interest. Key filter fields: - datasourceIds: Array of datasource UUIDs (use rtlca_get_datasources) - ownerIds: Array of owner/manufacturer UUIDs (use rtlca_get_owners) - categories: Array of category strings - tags: Array of tag strings (use rtlca_get_tags_types_forms) - declaredUnit: Int enum for the declared unit, e.g. m², kg, m³ (use rtlca_get_declared_units). Mass↔volume EPDs are interchangeable when mapping (backend aligns kg↔m³ via density), so a strict single-unit filter can exclude valid candidates. - isConstruction: Set true to search constructions instead of materials - newestVersion: Set true to return only the latest version of each EPD
rtlca_search_materials_v2
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Real-Time LCA MCP Server alternatives on ChatGPT?
As of 2026-08-14, Real-Time LCA MCP Server competes with Energy-Data.io Degree Days, MSDS Chain, Vedetta in ChatGPT EHS, Chemical Safety & Sustainability Compliance, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.