rank_markets
FRONT DOOR CHECK — if the question is "WHERE SHOULD I PUT <N> MW" (a siting decision), call execute_plan(intent="<the user's question, unchanged>") instead: ONE call runs the market ranking AND the per-finalist BUILD/CAUTION/AVOID verdict AND the grid reality-check, and returns a replay naming th...
This record as markdown: /tools/cloud-dchub-mcp-server/rank-markets.md
What rank_markets does on Mcp Server
AI agents call rank_markets to retrieve information from Mcp Server without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | — | Number of markets to return, 1-50 (default 10) |
fields | object | — | Return ONLY these row fields (array or comma string) — a token diet. The response envelope (citation, provenance, as_of, coverage, request_interpretation, the h |
region | string | — | Region scope: "global", "us" (default), "canada", "eu", "apac", or "americas" |
criteria | string | — | Ranking criterion: "cheapest_power", "most_capacity", "most_operators", "fastest_growing", "best_overall" (default), or "ai_ready" (DCPI buildability — where ne |
projection | string | — | Named field preset, cheaper to send than a field list: market_summary (ranking rows), siting_summary (site/point rows), identity_only (ids + names). |
min_capacity_mw | number | — | Minimum existing capacity filter in megawatts (MW), e.g. 100 |
Parameters from the server's own tool schema.
Why rank_markets is rated Low
Tool retrieves and ranks market data without modifying or executing anything.
From the tool's definition rank markets by metric, returns ranked list
Attacks that exploit this kind of access
The rule that runs rank_markets safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Mcp Server, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For rank_markets, this is the rule to start with:
rank_markets is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Mcp Server, apply this rule, and every rank_markets call is checked against it from then on.
Questions about rank_markets
FRONT DOOR CHECK — if the question is "WHERE SHOULD I PUT <N> MW" (a siting decision), call execute_plan(intent="<the user's question, unchanged>") instead: ONE call runs the market ranking AND the per-finalist BUILD/CAUTION/AVOID verdict AND the grid reality-check, and returns a replay naming the markets it rejected and why. If the question is "RANK MARKETS BY <metric>" — you want the ranked list itself and nothing attached — rank_markets IS the right call: stay here. The trade is real and runs the other way: execute_plan spent ~3 steps and roughly 4x this tool's latency on a measured market-ranking intent, so a single-capability ask should NOT be routed through the planner. Use when a user wants "the top N markets for X" — one ranked list across the 300+ market set rather than N separate get_market_intel calls. Example: "What are the 10 fastest-growing US markets with at least 100MW of existing capacity?" — rank_markets criteria=fastest_growing region=us limit=10 min_capacity_mw=100. Params: criteria one of "cheapest_power" | "most_capacity" | "most_operators" | "fastest_growing" | "best_overall" (default best_overall) | "ai_ready"; region one of "global" | "us" | "canada" | "eu" | "apac" | "americas" (default us); limit 1-50 (default 10); min_capacity_mw filter floor (e.g. 100). ★ criteria="ai_ready" ranks by DCPI BUILDABILITY (excess-power + time-to-power + BUILD/CAUTION/AVOID verdict) — where NEW AI-campus load can actually LAND — NOT by installed build-out (the other five criteria). Use ai_ready for AI/GPU/hyperscale campus siting: the most-built-out markets are frequently AVOID for new load, so a build-out ranking mis-answers "where do I put a 200MW AI campus". Returns: {criteria, region, result_count, results:[{rank, metro_slug, market, city, state, country, score, value, total_mw, facility_count, operator_count, url}], data_source, methodology}. To drill into a ranked market, feed results[].metro_slug into get_market_dcpi_rank. Do NOT use for a deep read on ONE market (use get_market_intel), for scoring a specific lat/lon (use analyze_site), or for a siting question that also needs the verdict and grid check attached (use execute_plan). It is categorised as a Read tool in the Mcp Server MCP Server, which means it retrieves data without modifying state.
rank_markets accepts 6 parameters: limit, fields, region, criteria, projection, min_capacity_mw. The full parameter table on this page comes from the server's own tool schema.
Register the Mcp Server MCP server in PolicyLayer and add a rule for rank_markets: 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 Mcp Server. Nothing to install.
rank_markets 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_markets 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_markets. 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_markets is provided by the Mcp Server MCP server (https://dchub.cloud/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Mcp Server, and thousands of servers like it.
This server
Across the catalogue