com.greencalculus/api
REMOTE · MCP.GREENCALCULUS.COM · SCANNED AUG 20
Sourced carbon emission factors + audit-traced calculations an AI can cite.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 11 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS check failed: the endpoint is reachable over plaintext HTTP. See how to fix → View diagnostics → Fail
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2003 tokens (~182/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 96% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.greencalculus.com
claude mcp add --transport http com-greencalculus-api https://mcp.greencalculus.com/
[mcp_servers.com-greencalculus-api] url = "https://mcp.greencalculus.com/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-greencalculus-api": {
"type": "remote",
"url": "https://mcp.greencalculus.com/",
"enabled": true
}
}
} openclaw mcp add com-greencalculus-api --url https://mcp.greencalculus.com/ --transport streamable-http
mcp_servers:
com-greencalculus-api:
url: "https://mcp.greencalculus.com/" {
"mcpServers": {
"com-greencalculus-api": {
"type": "http",
"url": "https://mcp.greencalculus.com/"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Aug 26 0
- Tool “resolve_factor” rewrote its description, which is the text the model reads security
- Schema quality: 138 → 182 ▼ functional
- Schema quality: good → excellent functional
- New tool “explain_absence” functional
- “resolve_factor” reworded the description of “description” cosmetic
- 16 Aug 26 0
- Tool “lookup_factor” rewrote its description, which is the text the model reads security
- 14 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Aug 26 0
- Stability: unverified → 0.03 ▲ functional
- 12 Aug 26 58
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Aug 2026 · Probed https://mcp.greencalculus.com
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=greencalculus.com | CN=WE1,O=Google Trust Services,C=US | 8 Aug 2026 | 6 Nov 2026 | ECDSA 256 | ECDSA-SHA256 | 285d9fedb567ba01138ad7ddfeee8b15 |
| SANs: greencalculus.com, *.mcp.greencalculus.com, mcp.greencalculus.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of mcp.greencalculus.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| greencalculus.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.greencalculus.com | Verified | 200 | |
| http (plaintext) | http://mcp.greencalculus.com | Served over HTTP | 200 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
calculate_activity ~140
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 | Type | Req | Description |
|---|---|---|---|
| activity | object | yes | { "value": <number>, "unit": "<unit e.g. kWh, MWh, litres, tonne, km>" }. |
| factor_key | string | yes | Canonical emission-factor key. |
No output schema declared.
No examples provided.
calculate_business_travel ~113
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 | Type | Req | Description |
|---|---|---|---|
| distance | object | yes | { "value": <number>, "unit": "km|mi" }. |
| factor_key | string | yes | Per-passenger-km travel factor key. |
| passengers | number | – | Optional, defaults to 1. |
No output schema declared.
No examples provided.
calculate_electricity ~173
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 | Type | Req | Description |
|---|---|---|---|
| consumption | object | yes | { "value": <number>, "unit": "kWh|MWh|GWh" }. |
| location_factor_key | string | yes | Grid-average factor key, e.g. grid.deu.electricity.location_based. |
| market_factor_key | string | – | Optional: residual-mix / supplier grid factor key. |
| supplier_factor | object | – | Optional contractual factor { value, unit } (wins over market_factor_key). |
No output schema declared.
No examples provided.
calculate_embodied ~142
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 | Type | Req | Description |
|---|---|---|---|
| materials | array | yes | Each: { material_key, quantity:{value,unit e.g. m3/kg/tonne/m2}, boundary? }. |
No output schema declared.
No examples provided.
calculate_freight ~143
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 | Type | Req | Description |
|---|---|---|---|
| distance | object | yes | { "value": <number>, "unit": "km|mi|nmi" }. |
| factor_key | string | yes | Per-tonne-km freight factor key. |
| mass | object | yes | { "value": <number>, "unit": "tonne|kg|lb" }. |
No output schema declared.
No examples provided.
calculate_pcaf ~117
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 | Type | Req | Description |
|---|---|---|---|
| asset_class | string | – | – |
| holdings | array | 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? }. |
No output schema declared.
No examples provided.
calculate_spend ~120
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.
| Name | Type | Req | Description |
|---|---|---|---|
| factor_key | string | yes | Spend-based (EEIO) sector factor key. |
| spend | object | yes | { "value": <number>, "currency": "USD|GBP|EUR|SGD" }. |
No output schema declared.
No examples provided.
explain_absence ~280
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 | Type | Req | Description |
|---|---|---|---|
| classification | string | – | Filter: structural | not_yet_sourced | refused | held_not_counted | coupled. |
| country | string | – | ISO-3166 alpha-3 code, e.g. "can". |
| family | string | – | Inventory family, e.g. "water", "wtt", "travel", "spend", "heat". |
No output schema declared.
No examples provided.
lookup_factor ~142
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 | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Canonical factor key, e.g. "grid.deu.electricity.location_based". |
No output schema declared.
No examples provided.
resolve_factor ~463
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 | Type | Req | Description |
|---|---|---|---|
| description | string | 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. |
| limit | number | – | Optional, default 5. |
| section | string | – | Optional section filter, e.g. "fuels", "grid", "freight". |
No output schema declared.
No examples provided.
search_factors ~115
Find emission-factor keys by section, key prefix, or free text. Returns matching keys, names, and sections (values are redacted here — call lookup_factor for the value).
| Name | Type | Req | Description |
|---|---|---|---|
| key_prefix | string | – | Restrict to keys starting with this prefix. |
| limit | number | – | Max results (default 20). |
| query | string | – | Free-text search over factor names/keys. |
| section | string | – | Restrict to a section, e.g. "grid", "fuels", "freight". |
No output schema declared.
No examples provided.