protogrid

Search / com.greencalculus/api

api

not classified

Sourced carbon emission factors + audit-traced calculations an AI can cite.

v1.0.4 · active · website · descriptor JSON · versions

Not classified yet.The remote endpoints have not been probed successfully, or the listing has nothing to connect to.
Quality80good
Trust58of 100
Uptime, 30 days94%
Latency p50216 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "greencalculus": {
      "type": "http",
      "url": "https://mcp.greencalculus.com",
      "headers": {
        "Authorization": "Bearer ${GREENCALCULUS_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http greencalculus https://mcp.greencalculus.com --header "Authorization: Bearer ${GREENCALCULUS_TOKEN}"
[mcp_servers.greencalculus]
url = "https://mcp.greencalculus.com"
bearer_token_env_var = "GREENCALCULUS_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "greencalculus": {
      "type": "remote",
      "url": "https://mcp.greencalculus.com",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:GREENCALCULUS_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "greencalculus": {
      "type": "http",
      "url": "https://mcp.greencalculus.com",
      "headers": {
        "Authorization": "Bearer ${GREENCALCULUS_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=greencalculus&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmdyZWVuY2FsY3VsdXMuY29tIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7R1JFRU5DQUxDVUxVU19UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "greencalculus": {
      "type": "http",
      "url": "https://mcp.greencalculus.com",
      "headers": {
        "Authorization": "Bearer ${GREENCALCULUS_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "greencalculus": {
      "httpUrl": "https://mcp.greencalculus.com",
      "headers": {
        "Authorization": "Bearer ${GREENCALCULUS_TOKEN}"
      }
    }
  }
}
extensions:
  "greencalculus":
    enabled: true
    name: "greencalculus"
    type: streamable_http
    uri: "https://mcp.greencalculus.com"
    headers:
      "Authorization": "Bearer ${GREENCALCULUS_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${GREENCALCULUS_TOKEN}. The registry never accepts secret values.

Quality 80 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene64 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: calculate_activity (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); calculate_embodied (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); calculate_electricity (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 2,695 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependencies100 · weight 15
  • pass
    deps.known_vulnsno known advisory in 1 resolved packages
  • n/a
    deps.mcp_sdk_versionthe official MCP SDK is not in the dependency graph
  • pass
    deps.resolvable[email protected] resolved: 1 packages

12 tools, about 2,695 tokens to load them all · tool set ccf036dbbd9c · checked 2026-10-19 10:52 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 58 / 100

no-repository
provenance55
liveness28
freshness85
hygiene80

+dns-namespace +website -unreachable(1 failures) ~updated-33d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npm0 dependencies, resolved · advisories checked 2026-10-19

No known advisory affects this dependency graph.

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.greencalculus.com streamable-httpnoneno (1 failures)94%216 ms2025-11-252026-10-19
packageregistryversionruntimesecrets
greencalculus-mcpnpm1.0.4npxGREENCALCULUS_API_KEY

Tools (12)

calculate_activityTurn 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.
calculate_business_travelBusiness 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").
calculate_electricityGHG 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").
calculate_embodiedWhole-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").
calculate_freightFreight & logistics emissions (Scope 3 Cat 4 & 9), GLEC framework. THE FACTOR'S DENOMINATOR PICKS THE METHOD — check the factor's unit before choosing the input. Per tonne-km: emissions = tonnes × km × factor, send "mass". Per TEU-km (the sea-container family, e.g. freight_detailed.sea.container.trans_suez.dry): emissions = TEU × km × factor, send "teu" — a TEU is a twenty-foot container slot, not a mass, and a forty-foot box is 2 TEU. Sending mass against a per-TEU-km factor is refused (422), not converted. Find mode factors via search_factors (section "freight" or "freight_detailed"), e.g. freight.road_hgv.tonne_km.
calculate_pcafCompute 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).
calculate_spendSpend-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.
explain_absenceAsk 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.
lookup_factorLook up a single greenhouse-gas emission factor by its canonical key. Returns the value plus an audit envelope: provenance (publisher, exact source reference, 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.
lookup_factorsLook up SEVERAL emission factors by key in one call, each with the same audit envelope lookup_factor returns — provenance (publisher, exact source reference, 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.
resolve_factorFind 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 matches, each carrying the key, value, unit and a confidence score; 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.
search_factorsFind 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 reference, retrieval date, licence, verification) call lookup_factor; for several, call lookup_factors.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.greencalculus/api",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.greencalculus.com",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Bearer <your GreenCalculus API key> — free at greencalculus.com/developers. Optional: search_factors and explain_absence answer without one."
        }
      ]
    }
  ],
  "version": "1.0.4",
  "packages": [
    {
      "version": "1.0.4",
      "transport": {
        "type": "stdio"
      },
      "identifier": "greencalculus-mcp",
      "runtimeHint": "npx",
      "registryType": "npm",
      "environmentVariables": [
        {
          "name": "GREENCALCULUS_API_KEY",
          "isSecret": true,
          "description": "GreenCalculus API key — free at greencalculus.com/developers. Without one, search_factors and explain_absence still work; the other ten tools are refused."
        }
      ]
    }
  ],
  "websiteUrl": "https://greencalculus.com/developers",
  "description": "Sourced carbon emission factors + audit-traced calculations an AI can cite."
}