Rank supported cities by composite quality-of-life score across five weighted dimensions (financial, healthcare, vacation, childcare, safety_net). Returns top N (default 10), with filters for country, countries, region (europe/asia/north_america/south_america/oceania), has_universal_healthcare, i...
Risk signalsHigh parameter count (22 properties) · Bulk/mass operation — affects multiple targets
Part of the cityparity — Cost-of-Living & Quality-of-Life Comparison server.
Free to start. No card required.
AI agents call rank_cities to retrieve information from cityparity — Cost-of-Living & Quality-of-Life Comparison without modifying any data. This is common in research, monitoring, and reporting workflows where the agent needs context before taking action. Because read operations don't change state, they are generally safe to allow without restrictions -- but you may still want rate limits to control API costs.
Even though rank_cities only reads data, uncontrolled read access can leak sensitive information or rack up API costs. An agent caught in a retry loop could make thousands of calls per minute. A rate limit gives you a safety net without blocking legitimate use.
Read-only tools are safe to allow by default. No rate limit needed unless you want to control costs.
{
"version": "1",
"default": "deny",
"tools": {
"rank_cities": {}
}
} See the full cityparity — Cost-of-Living & Quality-of-Life Comparison policy for all 6 tools.
These attack patterns abuse exactly the kind of access rank_cities gives an agent. Each links to the full case and the policy that stops it:
Other read tools across the catalogue. The same approach applies to each: allow, with a rate cap to control cost.
Rank supported cities by composite quality-of-life score across five weighted dimensions (financial, healthcare, vacation, childcare, safety_net). Returns top N (default 10), with filters for country, countries, region (europe/asia/north_america/south_america/oceania), has_universal_healthcare, include_cities, and exclude_cities. Use this to shortlist across many cities; for a head-to-head between two named cities use compare_cities. The same scenario is applied to every city so scores are directly comparable (default: single person, 2BR rent, $100k USD-equivalent gross). Read-only, no side effects; returns a text summary plus structured JSON.. It is categorised as a Read tool in the cityparity — Cost-of-Living & Quality-of-Life Comparison MCP Server, which means it retrieves data without modifying state.
Register the cityparity — Cost-of-Living & Quality-of-Life Comparison MCP server in PolicyLayer and add a rule for rank_cities: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches cityparity — Cost-of-Living & Quality-of-Life Comparison. Nothing to install.
rank_cities is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the rank_cities rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for rank_cities. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
rank_cities is provided by the cityparity — Cost-of-Living & Quality-of-Life Comparison MCP server (https://mcp.cityparity.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 6 cityparity — Cost-of-Living & Quality-of-Life Comparison tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.