# compare

Compare ONE resource across MULTIPLE cities in a single response. Fans the resource out over the listed cities and returns a per-city source_status (ok/disabled/no_data/error/not_found), so a missing or failing city source does not spoil the whole answer. Read-only.

Agent View of the PolicyLayer registry record for `compare`. HTML page: https://policylayer.com/tools/dev-infranode-infranode/compare

## Facts

- Tool: `compare`
- Server: InfraNode (`https://mcp.infranode.dev/mcp`) — https://policylayer.com/tools/dev-infranode-infranode.md
- Homepage: https://github.com/street1983nk/infranode
- Risk category: Read (Low risk)
- Registry record: grade C, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 2 (2 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `cities` | string | yes | Comma-separated list of city slugs, e.g. 'berlin,koeln,hamburg' (max. 28 cities). |
| `resource` | string | yes | Resource to compare. Supported: 'weather' (DWD), 'air' (UBA air quality), 'indicators' (INKAR socioeconomic indicators incl. unemployment rate and EV charging c |

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": "compare",
    "arguments": {
      "cities": "<cities>",
      "resource": "<resource>"
    }
  }
}
```

## Why compare is rated Low

This tool retrieves and queries data across multiple cities for comparison purposes. The explicit 'Read-only' designation, combined with the action of comparing resources and returning source status without modifying data, places this firmly in the Read category. The minimal blast radius (comparison of open city data) warrants low severity.

From the tool's own definition: "Tool description explicitly states 'Read-only' and describes comparing a resource across multiple cities, returning status information from multiple sources. No creation, modification, deletion, code execution, or financial operations are performed."

## Use case

AI agents call compare to retrieve information from InfraNode without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "compare": {}
  }
}
```

## Other tools on InfraNode (11)

- `air_quality` — Read — https://policylayer.com/tools/dev-infranode-infranode/air-quality.md
- `get_city` — Read — https://policylayer.com/tools/dev-infranode-infranode/get-city.md
- `get_city_overview` — Read — https://policylayer.com/tools/dev-infranode-infranode/get-city-overview.md
- `get_city_resource` — Read — https://policylayer.com/tools/dev-infranode-infranode/get-city-resource.md
- `list_cities` — Read — https://policylayer.com/tools/dev-infranode-infranode/list-cities.md
- `pois` — Read — https://policylayer.com/tools/dev-infranode-infranode/pois.md
- `sources` — Read — https://policylayer.com/tools/dev-infranode-infranode/sources.md
- `station_board_arrivals` — Read — https://policylayer.com/tools/dev-infranode-infranode/station-board-arrivals.md
- `station_board_departures` — Read — https://policylayer.com/tools/dev-infranode-infranode/station-board-departures.md
- `transit_departures` — Read — https://policylayer.com/tools/dev-infranode-infranode/transit-departures.md
- `weather` — Read — https://policylayer.com/tools/dev-infranode-infranode/weather.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=dev-infranode-infranode · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/dev-infranode-infranode
