# resolve_factor

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.

Agent View of the PolicyLayer registry record for `resolve_factor`. HTML page: https://policylayer.com/tools/com-greencalculus-api/resolve-factor

## Facts

- Tool: `resolve_factor`
- Server: Api (`https://mcp.greencalculus.com`) — https://policylayer.com/tools/com-greencalculus-api.md
- Homepage: https://github.com/https://mcp.greencalculus.com
- Risk category: Write (Medium risk)
- Registry record: grade D, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 3 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | number | no | Optional, default 5. |
| `section` | string | no | Optional section filter, e.g. "fuels", "grid", "freight". |
| `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 |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "resolve_factor",
    "arguments": {
      "description": "<description>"
    }
  }
}
```

## Why resolve_factor is rated Medium

An AI agent can call resolve_factor faster than any human can review: one bad instruction and it creates or modifies resources in Api by the hundred, each call as confident as the last.

Risk signals: Bulk/mass operation — affects multiple targets

## Use case

AI agents use resolve_factor to create or update resources in Api, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Api environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Api:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "resolve_factor": {
      "limits": [
        {
          "counter": "resolve_factor_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Api (10)

- `calculate_activity` — Read — https://policylayer.com/tools/com-greencalculus-api/calculate-activity.md
- `calculate_business_travel` — Read — https://policylayer.com/tools/com-greencalculus-api/calculate-business-travel.md
- `calculate_electricity` — Read — https://policylayer.com/tools/com-greencalculus-api/calculate-electricity.md
- `calculate_embodied` — Read — https://policylayer.com/tools/com-greencalculus-api/calculate-embodied.md
- `calculate_freight` — Read — https://policylayer.com/tools/com-greencalculus-api/calculate-freight.md
- `calculate_pcaf` — Read — https://policylayer.com/tools/com-greencalculus-api/calculate-pcaf.md
- `calculate_spend` — Read — https://policylayer.com/tools/com-greencalculus-api/calculate-spend.md
- `explain_absence` — Read — https://policylayer.com/tools/com-greencalculus-api/explain-absence.md
- `lookup_factor` — Read — https://policylayer.com/tools/com-greencalculus-api/lookup-factor.md
- `search_factors` — Read — https://policylayer.com/tools/com-greencalculus-api/search-factors.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-greencalculus-api · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-greencalculus-api
