Skip to main content
Glama

Get Infra Projects

get_infra_projects
Read-onlyIdempotent

Use when a user asks what GAS PIPELINE or TRANSMISSION LINE PROJECTS are planned, proposed, approved or under construction — the forward build-out, not the existing network. e.g. "which interstate gas pipelines are under construction into Louisiana?", "what 345 kV transmission projects are planned in PJM by 2030?", "what new projects appeared since last month?". COVERS: (1) natural gas pipeline projects US-wide from the EIA natural gas pipeline projects list (public domain) — operator, status (Announced, Pre-applied, Applied, Approved, Construction, On Hold, Completed), states crossed, capacity in MMcf/d, miles, cost in $M, diameter, FERC/state docket, in-service year; (2) transmission projects from five ISOs' own project lists — ERCOT (TPIT), PJM (RTEP), MISO (MTEP Appendix A), SPP (STEP) and ISO-NE (RSP list); NOT CAISO or NYISO, and not utilities outside those ISOs. Each ISO publishes a different grain (an upgrade or facility, not a whole project), so a row count is a count of upgrades. Fields vary by ISO and an absent figure is null, never estimated: ERCOT has county, MVA and miles; MISO and SPP have from/to substations and some miles; PJM has no miles or endpoints; ISO-NE has no kV or miles. Common fields: owner, kV, projected in-service date, status (Planned, Conceptual, Proposed, Under Construction, On Hold, Completed; the ISO's own word is in source_status), and per-ISO source, release date and licence. Filter by type (gas_pipeline, transmission or all), state, status, min_capacity (gas MMcf/d), min_kv (transmission kV), an in-service window, new_since (projects first seen on or after a date, the initial backfill excluded) and include_delisted. Every row cites its source_url and license, and the summary counts every match by type, status and state with totals and an as_of date per source (sources.transmission.per_iso gives each ISO's own release date; the top-level as_of is the OLDEST). NOTE: the "Texas only" wording in the type and state parameter help is out of date — transmission covers the five ISOs above, and transmission rows carry whatever state(s) their ISO lists; rows are labelled by iso, so filter or group on that field of the result. Answers "what gas pipelines are being built into Louisiana, how much capacity do they add, and when do they enter service". Try: get_infra_projects type=gas_pipeline state=LA status=Construction. Do NOT use for new POWER GENERATION projects (use get_power_pipeline), for EXISTING, already-built pipelines, lines and substations (use get_infrastructure or get_grid_intelligence), or for data-center construction (use get_pipeline).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNoWhich project list: gas_pipeline (EIA, US-wide), transmission (ERCOT TPIT, Texas only) or all (default)
limitNoMax results to return (1-500; default varies by tool)
stateNoUS state abbreviation, e.g. TX or LA. Gas projects match any state they cross; transmission projects are all TX
min_kvNoTransmission only: minimum voltage in kilovolts (kV), e.g. 345. With type=all it narrows to transmission projects
statusNoStatus, case-insensitive; comma list allowed. Gas: Announced, Pre-applied, Applied, Approved, Construction, On Hold, Completed. Transmission: Planned, Conceptual, Under Construction, Completed, Cancelled
new_sinceNoOnly projects DC Hub first saw on or after this date (YYYY-MM-DD). The initial backfill is never counted as new
min_capacityNoGas only: minimum pipeline capacity in million cubic feet per day (MMcf/d), e.g. 1000. With type=all it narrows to gas projects
in_service_afterNoOnly projects entering service on or after this date (YYYY-MM-DD or YYYY). Gas compares the in-service year; transmission the actual, else projected, in-service date
include_delistedNoAlso return projects the latest source release no longer lists (completed, withdrawn or dropped). Default false
in_service_beforeNoOnly projects entering service on or before this date (YYYY-MM-DD or YYYY)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
quotaNoCaller quota state (remaining calls, tier).
_entityNoPayload class (facility|market|iso_grid|queue_results|deal|report|response); branch on it.
citationNoHow to attribute DC Hub: {source, url, license, cite_as, retrieved_at}, or the attribution line as a string.
provenanceNoSource, method, as_of, verification_counts, license, cite_as; quote it when citing.
_front_doorNoFirst-tool hint: plan_query(intent) returns the ordered plan.
_return_loopNoNext-session delta call (get_changes).
site_evaluation_handoffNoFollow-up calls [{tool, parameters, why}] when the payload carries coordinates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safe-read profile (readOnly, idempotent), and the description goes well beyond: per-ISO data grain (rows are upgrades/facilities, not whole projects), per-ISO field availability, null never estimated, source and license citation per row, and as_of semantics (top-level is the OLDEST source). This is unusually rich behavioral context for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger condition and coverage scope are front-loaded, and the do-not-use routing is last, which is a sensible order. The middle is dense and long, but nearly every clause (ISO list, grain caveat, per-ISO field gaps) carries information an agent would otherwise get wrong, so the length is largely earned rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, zero-required, dual-source tool with an output schema, the description supplies everything needed: coverage boundaries (five named ISOs, CAISO/NYISO excluded), per-source field variability, the iso label in results, and the summary/as_of structure. Return value detail is delegated appropriately to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description exceeds that by clarifying filter semantics not evident from the schema alone — new_since excludes the initial backfill, include_delisted returns dropped/completed projects, min_capacity only bites for gas — and by flagging that the type/state parameter help text ('Texas only') is out of date. That correction is genuine added value, though much of the rest restates the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource (planned/proposed gas pipeline and transmission projects) and explicitly scopes it to the forward build-out rather than the existing network. It distinguishes itself from siblings by name (get_power_pipeline, get_infrastructure, get_grid_intelligence, get_pipeline), so an agent can disambiguate without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It opens with an explicit when-to-use trigger, gives three representative user questions, and closes with an explicit 'Do NOT use for...' list mapping each excluded case to the correct alternative tool. Nothing about when/when-not is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.