api
Server Details
Sourced carbon emission factors + audit-traced calculations an AI can cite.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
12 toolscalculate_activityAInspect
Turn activity data into greenhouse-gas emissions: emissions = activity × factor. Give an amount + unit and a factor key; the unit engine converts to the factor basis (MWh→kWh, tonne→kg, gallon→litre, mile→km) and returns the emissions with the working, the GHG Protocol scope, and the source. Use search_factors / lookup_factor to find the factor key.
| Name | Required | Description | Default |
|---|---|---|---|
| activity | Yes | { "value": <number>, "unit": "<unit e.g. kWh, MWh, litres, tonne, km>" }. | |
| factor_key | Yes | Canonical emission-factor key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behaviors: the unit engine converts to the factor basis (with example conversions: MWh→kWh, tonne→kg, gallon→litre, mile→km) and returns the emissions with the working, GHG Protocol scope, and source. This goes beyond the raw schema and gives concrete insight into the tool's output and conversion logic, though it does not mention failure modes or validation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place: the first states the purpose and formula, the second gives the input instructions and output highlights, and the third points to companion lookup tools. It is front-loaded with the core purpose and has no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations and no output schema, the description covers the essential context: what it does, how inputs are transformed, what the response includes, and where to find factor keys. It is complete enough for an agent to select and invoke the tool correctly. The only gap is the lack of explicit mentions of error conditions or unsupported units, but the description still provides strong operational guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining the unit conversion behavior ('the unit engine converts to the factor basis') and providing examples of supported unit mappings. It also advises how to find the factor_key via search_factors/lookup_factor, giving practical context for that parameter. This raises it to a 4, though it does not fully detail every edge case for the activity object's value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear statement: 'Turn activity data into greenhouse-gas emissions: emissions = activity × factor.' This names the specific verb ('turn'/'calculate'), the resource ('greenhouse-gas emissions'), and the exact formula. It distinguishes from the specialized siblings (calculate_electricity, calculate_freight, etc.) by positioning itself as the generic activity calculator, and it points to search_factors/lookup_factor for factor keys, reinforcing its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage instructions: 'Give an amount + unit and a factor key' and advises using search_factors/lookup_factor to find the factor key. However, it does not explicitly state when to prefer this tool over the sibling calculate_* tools or when not to use it. The guidance is implied (generic vs. specialized) but lacks explicit exclusions or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_business_travelAInspect
Business travel emissions (Scope 3 Cat 6), distance method: emissions = km × passengers × factor. Air factors come in with_rf / without_rf (radiative forcing) variants. Find factors via search_factors (section "business_travel").
| Name | Required | Description | Default |
|---|---|---|---|
| distance | Yes | { "value": <number>, "unit": "km|mi" }. | |
| factor_key | Yes | Per-passenger-km travel factor key. | |
| passengers | No | Optional, defaults to 1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the calculation formula, unit flexibility (km/mi via distance object), and radiational forcing variants. Does not cover output format or edge cases, but sufficient for a pure calculation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: the first states purpose and formula, the second gives factor sourcing guidance. No wasted words, front-loaded with the most critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the calculation method, factor usage, and unit flexibility, which is adequate for a simple calculator. It does not explicitly state the return value format, but that is inferable from the formula and tool nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers all parameters with descriptions (100% coverage). The description adds value by explaining the formula and clarifying that factor_key is per-passenger-km with RF variants, going beyond the schema's minimal description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: calculating business travel emissions (Scope 3 Cat 6) using the distance method, with an explicit formula. This distinguishes it from sibling calculate_* tools that handle other emission categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on how to obtain factor keys via search_factors and notes the with_rf/without_rf variant distinction. Does not explicitly contrast with other calculate tools, but the name and context make the use case clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_electricityAInspect
GHG Protocol Scope 2 for purchased electricity, both methods. Always returns location-based (grid-average) emissions; also returns market-based when you supply a contractual supplier_factor (e.g. a green tariff / REC = 0) or a market_factor_key (residual mix). Find grid keys via search_factors (section "grid").
| Name | Required | Description | Default |
|---|---|---|---|
| consumption | Yes | { "value": <number>, "unit": "kWh|MWh|GWh" }. | |
| supplier_factor | No | Optional contractual factor { value, unit } (wins over market_factor_key). | |
| market_factor_key | No | Optional: residual-mix / supplier grid factor key. | |
| location_factor_key | Yes | Grid-average factor key, e.g. grid.gbr.electricity.location_based. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It states that location-based emissions are always returned and market-based only when specific inputs are supplied, and mentions that supplier_factor wins over market_factor_key (via schema, not description). It does not describe the output format or error handling, but for a calculation tool, the core behavior is adequately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the tool's purpose, and every clause adds value. It is compact and well-structured, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (two methods, two optional parameters) and 100% schema coverage, the description covers the main usage scenarios well, including how to obtain factor keys. It lacks mention of the output structure or precedence between supplier_factor and market_factor_key (though schema covers precedence), but overall it is sufficiently complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context beyond the schema: it explains the role of supplier_factor (e.g., green tariff/REC = 0) and market_factor_key (residual mix), and directs to search_factors for keys. This extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calculates GHG Protocol Scope 2 for purchased electricity using both location-based and market-based methods, distinguishes from sibling calculation tools by specifying the resource (electricity) and the dual-method scope, and mentions referencing search_factors for grid keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly explains when to use market-based (supplying supplier_factor or market_factor_key) versus location-based (always returned) and points to search_factors for key discovery. However, it does not directly compare with other calculation tools or state when not to use this tool, though the scope is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_embodiedAInspect
Whole-life embodied carbon for materials, per EN 15978. Give a material key + quantity (+ optional boundary A1-A3 / A1-A4 / A1-A5 / A1-C); it assembles the declared lifecycle modules (A1-A3, B, C1-C4, D) into stages, totals the boundary, reports module D separately, and flags any missing stage as not-assessed (never zero). Find material keys via search_factors (section "materials").
| Name | Required | Description | Default |
|---|---|---|---|
| materials | Yes | Each: { material_key, quantity:{value,unit e.g. m3/kg/tonne/m2}, boundary? }. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: it assembles lifecycle modules (A1-A3, B, C1-C4, D) into stages, totals the boundary, reports module D separately, and flags missing stages as not-assessed (never zero). This goes beyond basic input/output and sets accurate expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: purpose, usage, behavior, and key lookup are all covered in three sentences. It is front-loaded with the core function and avoids fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex calculation tool with no output schema and minimal annotations, the description covers purpose, input structure, boundary options, calculation behavior, and how to find valid keys. It is sufficiently self-contained for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage but is minimal; the description adds significant meaning by specifying the accepted boundary values (A1-A3, A1-A4, A1-A5, A1-C) and giving example units for quantity. This helps the agent construct correct inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates whole-life embodied carbon for materials per EN 15978, using a specific verb and resource. It distinguishes from sibling calculation tools (electricity, freight, etc.) and lookup tools via its material focus and reference to search_factors for keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: give a material key and quantity, optionally specify a boundary range, and find keys via search_factors. It does not explicitly state when not to use this tool compared to alternatives, but the material focus and boundaries make the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_freightAInspect
Freight & logistics emissions (Scope 3 Cat 4 & 9), GLEC tonne-km method: emissions = tonnes × km × factor. Find mode factors via search_factors (section "freight" or "freight_detailed"), e.g. freight.road_hgv.tonne_km.
| Name | Required | Description | Default |
|---|---|---|---|
| mass | Yes | { "value": <number>, "unit": "tonne|kg|lb" }. | |
| distance | Yes | { "value": <number>, "unit": "km|mi|nmi" }. | |
| factor_key | Yes | Per-tonne-km freight factor key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden; it discloses the calculation method ('emissions = tonnes × km × factor') and the factor-key source. It doesn't cover error handling or output details, but the formula fully specifies the core behavior of a calculation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences convey scope, method, formula, and factor lookup; no filler or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter calculation tool with no output schema, the description provides the formula, factor lookup route, and example, which is sufficient for basic invocation. It leaves minor ambiguity about output format and invalid-factor behavior, but these are lower-stakes for a deterministic calculator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters (100% coverage), but the description adds meaning by expressing the formula that connects mass and distance to the factor, and by giving a concrete factor_key example ('freight.road_hgv.tonne_km') plus a lookup path via search_factors.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifically identifies the tool as calculating 'Freight & logistics emissions (Scope 3 Cat 4 & 9)' and gives the exact GLEC tonne-km formula, clearly distinguishing it from sibling calculate_* tools for other emission categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides concrete usage context by stating the GLEC method and instructing users to 'Find mode factors via search_factors', with an example key. It doesn't explicitly say when not to use it or mention alternatives like calculate_activity, but the freight/logistics framing makes the intended scenario clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_pcafAInspect
Compute PCAF Part A financed emissions for a portfolio. Returns each holding's attribution factor and financed emissions, the portfolio total, the outstanding-weighted data-quality score, and the audit trail (formula + PCAF source).
| Name | Required | Description | Default |
|---|---|---|---|
| holdings | Yes | Each: { outstanding_amount, denominator:{type:"evic"|"equity_plus_debt", value}, company_emissions:{value,unit?} OR estimate_from_spend:{amount_usd, sector_key}, data_quality_score? }. | |
| asset_class | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently discloses the return structure (attribution factor, financed emissions, total, DQ score, audit trail) and mentions PCAF source, which gives insight into the computation. It does not mention side effects or prerequisites, but 'Compute' implies a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with an actionable verb, and every clause adds value—listing specific outputs and the audit trail. There is no redundant or vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple outputs, no output schema), the description covers the main return values and relevant context (PCAF source, outstanding-weighted score). It lacks error-handling or input-format details, but for a calculation tool this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (holdings has a description, asset_class does not). The description does not elaborate on either parameter, adding no semantic value beyond the schema. It doesn't explain how holdings should be structured or what asset_class values are accepted, leaving a gap for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Compute') and resource ('PCAF Part A financed emissions for a portfolio'), clearly stating the tool's function. It distinguishes itself from sibling calculation tools by naming distinct outputs (attribution factor, portfolio total, data-quality score, audit trail), making its purpose unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: an agent would invoke this when asked for PCAF Part A financed emissions. However, there is no explicit when-to-use guidance or mention of alternatives (e.g., calculate_spend) or exclusions, leaving the choice to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_spendAInspect
Spend-based (EEIO) Scope 3 screening: emissions = spend × economic-intensity factor. Spend must be in the factor's own currency/year (no FX). Find sector factors via search_factors (section "spend_based"), e.g. spend_based.us.naics6.541511.custom_computer_programming_services.
| Name | Required | Description | Default |
|---|---|---|---|
| spend | Yes | { "value": <number>, "currency": "USD|GBP|EUR|SGD" }. | |
| factor_key | Yes | Spend-based (EEIO) sector factor key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the transparency burden well: it discloses the calculation formula, the special currency/year requirement, and notes that no FX conversion is applied. It does not explicitly describe return value structure, but the formula and tool context make the calculated result reasonably clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences deliver the formula, the core caveat, and a cross-tool pointer with a concrete example. Every clause creates value, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two required parameters, no annotations, and no output schema, this description is largely sufficient. It covers the method, prerequisites, and lookup path; the only obvious improvement is a short explicit statement of the returned quantity—estimated emissions—though the formula already implies it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds more value by explaining that factor_key must be a 'spend_based' EEIO sector factor, providing a fully qualified example key, and by stating that spend must match the factor's currency/year. This goes beyond the schema's minimal descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: it calculates spend-based EEIO Scope 3 emissions using a clear formula (emissions = spend × economic-intensity factor). It also distinguishes itself from sibling calculation tools by emphasizing the spend-based approach and giving a concrete sector factor example.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates when this tool is relevant—for spend-based screening—and provides a direct pointer to search_factors for finding sector factors. It also gives an important usage caveat about matching currency/year, though it stops short of explicitly saying when not to use this tool vs. activity-based alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_absenceAInspect
Ask why a factor is NOT in the corpus. The reasoned counterpart to coverage: where a country reports zero rows for an inventory family, this says whether that is the world's limit or our backlog. Five classifications: "structural" (no publisher issues this anywhere — stop looking, and do not silently substitute another country), "not_yet_sourced" (a publisher exists and is named; it is our backlog), "refused" (we found it and declined — the reason is stated), "held_not_counted" (we DO hold it — see we_hold for the key), "coupled" (empty only because another family is empty). Each record names the publisher checked, the route tried, a confidence and a review date, and reports stale:true once past review. These are authored judgements about what the world publishes, not values derived from our data. Call this before concluding that a gap is permanent, and before telling a user to look elsewhere.
| Name | Required | Description | Default |
|---|---|---|---|
| family | No | Inventory family, e.g. "water", "wtt", "travel", "spend", "heat". | |
| country | No | ISO-3166 alpha-3 code, e.g. "can". | |
| classification | No | Filter: structural | not_yet_sourced | refused | held_not_counted | coupled. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and thoroughly discloses behavior: it explains the five classification types, what each record contains (publisher, route, confidence, review date, stale flag), and stresses that these are 'authored judgements', not derived from data. This goes beyond typical transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence contributes: it defines the tool, gives context, lists classifications with meanings, describes return record fields, and provides usage guidance. It is not overly verbose, though the classification list adds length; it remains efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description must explain what the tool returns, and it does: it enumerates the fields in each record (publisher, route, confidence, review date, stale). It also covers when to use and the data's authoritative nature, making it fully self-contained for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are already described in the schema (100% coverage), so the baseline is 3. The description adds substantial semantic meaning to the 'classification' parameter by explaining each of its five values, and connects family/country to the zero-row scenario, enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately states 'Ask why a factor is NOT in the corpus', a specific verb and resource, and distinguishes it from sibling calculation/lookup tools by focusing on explaining absence. It also positions it as the 'reasoned counterpart to coverage', making its unique scope clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Call this before concluding that a gap is permanent, and before telling a user to look elsewhere', giving a clear when-to-use directive. It does not name specific alternative tools or provide when-not-to-use conditions, but the context is strong enough to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_factorAInspect
Look up a single greenhouse-gas emission factor by its canonical key. Returns the value plus an audit envelope: provenance (publisher, exact source cell, retrieval date, LICENCE and whether it may be redistributed, with the attribution the licence requires) and verification (whether the per-gas components sum to the headline, the GWP set, and the source note stating what the publisher did NOT provide). If the key does not exist you get candidate keys back rather than a dead end. Use search_factors first if you do not know the key.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Canonical factor key, e.g. "grid.gbr.electricity.location_based". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It details the return envelope including provenance (publisher, cell, retrieval date, licence, redistribution, attribution) and verification (GWP set, source note), and even mentions what the publisher did not provide. This is unusually transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact paragraph that front-loads the primary purpose, then details the return envelope and missing-key behavior. Every sentence adds value, and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description thoroughly explains what the tool returns, including the audit envelope fields and verification details, and what happens on a missing key. It covers all necessary behavioral aspects for a lookup tool with one parameter, making it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and includes an example key, so the baseline is 3. The tool description adds no new parameter semantics beyond repeating 'canonical key,' which is already in the schema. The example in the schema is sufficient; the description offers no additional clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool looks up a single emission factor by canonical key, and explicitly distinguishes it from search_factors by noting that search_factors should be used when the key is unknown. The verb 'look up' and resource 'greenhouse-gas emission factor' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use search_factors first if you do not know the key,' providing clear guidance on when to use this tool versus the alternative. It also explains the behavior when the key does not exist (candidate keys returned), giving users context on error handling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_factorsAInspect
Look up SEVERAL emission factors by key in one call, each with the same audit envelope lookup_factor returns — provenance (publisher, exact source cell, retrieval date, licence, redistribution) and verification. Use this instead of calling lookup_factor in a loop: a portfolio or a multi-country comparison is one call, not one per factor. Keys that do not exist come back in not_found rather than failing the batch.
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | Canonical factor keys, e.g. ["grid.gbr.electricity.location_based", "grid.fra.electricity.location_based"]. Maximum 25 per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry behavioral disclosure. It does so well by describing the returned audit envelope (provenance, verification) and the non-failing not_found behavior. It stops short of discussing auth or rate limits, but those are not critical for this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences with no filler: first states what it does, second gives usage guidance, third clarifies error handling. The key behavior is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, batch behavior, return envelope, and error handling for missing keys. Combined with the schema's key example and max count, an agent has enough to call it correctly. It could additionally point to search_factors for finding valid keys, but that is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter description already explains canonical keys, provides examples, and states the max of 25. The description adds context about batch semantics but does not need to expand parameter meaning further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it looks up several emission factors by key in one call and returns the same audit envelope as lookup_factor. It is explicitly differentiated from the singular sibling lookup_factor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Directly instructs to use this tool instead of calling lookup_factor in a loop and describes the batch context, e.g., portfolio or multi-country comparison. This gives clear when-to-use guidance and names the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_factorAInspect
Find the best emission-factor key(s) for a plain-language description — the hardest step is picking the right key out of ~16,000. Returns ranked candidates; feed the chosen key to a calculate_* tool or lookup_factor. Prefer this over guessing a key. PUT THE COUNTRY IN THE DESCRIPTION. Geography is read from the description text itself, not from a separate field — "diesel per litre" and "diesel per litre France" resolve differently, and omitting the country will quietly return a factor from somewhere else marked "geo_match":"proxy". ACT ON THE LABEL. Every candidate carries label: "accept" or "review", plus "why". "accept" means confidence >= 0.85 and no demotion applied — right about nine times in ten. "review" means the answer may be usable but something is off (low confidence, only one term matched, a proxy country, or a gate demoted it); confirm it before adopting the number rather than using it silently. Roughly half of CORRECT answers are also flagged "review" — that is the intended trade, so treat "review" as "check this", not "discard this". A MISS MAY EXPLAIN ITSELF. When nothing matches, or the only matches are from the wrong country, the response may carry an "absence" object saying WHY. classification "structural" means no publisher issues this anywhere — STOP, do not retry with reworded queries and do not substitute a different country without saying so. "not_yet_sourced" means a publisher exists and we have not ingested it (the publisher is named). "refused" means we found the data and declined it, with the reason. "coupled" means this reads empty only because a related family is empty. Use explain_absence to ask the same question directly.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional, default 5. | |
| section | No | Optional section filter, e.g. "fuels", "grid", "freight". | |
| description | Yes | What you need a factor for, INCLUDING the country if it matters, e.g. "UK grid electricity", "diesel per litre France", "hotel stay Japan". Geography is parsed from this string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral transparency burden and does so excellently. It discloses that geography is read from the description text itself, warns that omitting a country may yield a proxy marked 'geo_match':'proxy', explains the accept/review label semantics including the note that roughly half of correct answers are flagged 'review', and details the absence object's classifications (structural, not_yet_sourced, refused, coupled) with actionable instructions like 'STOP, do not retry'. This is far beyond minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Although lengthy, the description is dense with valuable guidance and structured in a logical flow: purpose, critical usage tips, label interpretation, and absence handling. Every sentence earns its place; there is no fluff or repetition. The front-loaded purpose sentence immediately orientates the agent, and the subsequent instructions are actionable and specific.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (16,000 keys, proxy matching, accept/review labels, absence objects) and lack of output schema or annotations, the description is remarkably complete. It explains the return format (ranked candidates, label/why, absence object), how to interpret edge cases, and directs to explain_absence for further investigation. This covers the essential operational knowledge an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Because schema coverage is 100%, the baseline is 3, but the description adds substantial value to the main 'description' parameter: it emphasizes including the country, provides concrete examples ('UK grid electricity', 'diesel per litre France'), and clarifies that geography is parsed from the string. It does not add new semantics for 'limit' or 'section' beyond the schema, but the enhanced guidance on the key parameter justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Find the best emission-factor key(s) for a plain-language description'. It distinguishes itself from siblings by mentioning that the chosen key is fed to calculate_* tools or lookup_factor, and by positioning itself as the recommended approach over guessing a key. This unambiguous scope differentiates it from search_factors and direct lookup tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: it is for resolving plain-language descriptions into ranked key candidates, with 'Prefer this over guessing a key' directing when to use it. It also names alternatives and follow-up tools: 'feed the chosen key to a calculate_* tool or lookup_factor' and 'Use explain_absence to ask the same question directly' for absence cases. This gives clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_factorsAInspect
Find emission factors by section, key prefix, or free text. Returns each match with its key, name, section, VALUE, unit and gas — enough to choose between them or read a few numbers without a second call. For one factor's full audit envelope (publisher, exact source cell, retrieval date, licence, verification) call lookup_factor; for several, call lookup_factors.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 20). | |
| query | No | Free-text search over factor names/keys. | |
| section | No | Restrict to a section, e.g. "grid", "fuels", "freight". | |
| key_prefix | No | Restrict to keys starting with this prefix. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It honestly describes the returned fields and clarifies that full audit details are intentionally deferred to lookup tools. It does not describe match semantics or empty-result/pagination behavior, so it is not quite a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler. The primary purpose is front-loaded, the return contract is summarized, and the routing guidance is placed at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for this tool category: it covers what is searched, what is returned, what is omitted, and which sibling tools cover the omitted case. Since there is no output schema, explicitly naming the returned fields is valuable and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented. The description echoes the search modes by mentioning section, key prefix, and free text, but it does not add any meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Find emission factors by section, key prefix, or free text.' It also lists the exact fields returned, which immediately differentiates it from lookup_factor and lookup_factors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to switch to alternatives: 'for one factor's full audit envelope ... call lookup_factor; for several, call lookup_factors.' This gives the agent a concrete routing decision rather than leaving it to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Verified CO2e for any transaction, activity, flight, shipment or CBAM import. 200+ countries.
Deterministic Scope 1/2/3 GHG inventories with bundled factors and audit hashes.
AI-callable calculators and engineering models with real formulas. No hallucinated math.
Carbon-accounted agent compute: free footprints; certificates backed by real offset retirement.
Related MCP Servers
- AlicenseAqualityCmaintenanceSourced carbon emission factors + audit-traced calculations an AI can cite.11MIT
- FlicenseNot gradedqualityAmaintenanceEnables carbon accounting by matching activities to emission factors via semantic search and AI ranking, supporting ELCD and ecoinvent databases.691
- FlicenseAqualityBmaintenanceEstimates the environmental footprint of your AI use — energy (kWh), miles driven, water used for cooling, and CO₂ — plus a prompt-efficiency score, working with any AI client by measuring token usage.9
- AlicenseNot gradedqualityAmaintenanceDeterministic verification for AI-generated analysis. Reconciliation, consistency and Excel-integrity checks that stop the line when the numbers don't add up.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a clearly distinct role: search, lookup single, lookup batch, resolution, absence explanation, and separate calculation methods for distinct scopes. Even the discovery tools can be told apart by whether the input is a key, text, natural language, or a purpose. Domain calculators are cleanly separated by type of activity, so an agent should not confuse them.
All tools follow a consistent verb_nonn pattern: calculate_*, lookup_factor(s), search_factors, resolve_factor, explain_absence. The naming clearly signals both action and object, and even the singular/plur lookup distinction matches the batch versus single-key semantic.
Twelve tools is well-sopened for a broad emissons-factor API: six calculators, four discovery/lookup/resolution tools, one batch lookup, and one edge-case explainer. Each tool appears to serve a necessary purpose rather than adding redundant surface area.
The set covers the full workflow: discover factors, resolve amiguous plain-language queries, look them up individually or in batch, perform domain-relevant calculations, and even explain why a factor is absent. The main GHG scopes are covered by dedicated calculators while the generic calculate_activity fills gaps for any other factor data.