Connect
InfraMap is in Claude’s connectors directory. Add InfraMap from the Claude directory(opens in a new tab), choose Connect and sign in. That’s the whole setup.
For other clients, add one remote server. Everything else is discovered through the protocol.
https://mcp.inframap.pro/mcpClients that take a JSON MCP configuration can use this as is. Steps for each client are under Client setup.
{
"mcpServers": {
"inframap": {
"url": "https://mcp.inframap.pro/mcp"
}
}
}- Transport
- Streamable HTTP, stateless. There is no separate SSE endpoint.
- Sign-in
- Your InfraMap account. The client opens the InfraMap sign-in page the first time it connects (OAuth 2.1 with PKCE). No API key.
- Plan
- Pro or Enterprise. Free accounts can sign in but cannot connect. See plans.
- Access
- Read-only. All 43 tools are marked read-only and idempotent.
- Protocol
- Built on the official MCP TypeScript SDK and its supported protocol revisions, including 2025-06-18.
- Release manifest
- service.json(opens in a new tab)
The server supplies data and calculations. Your AI client writes the answer, so the model you use and its instructions still matter.
Use of the InfraMap MCP server and data is subject to the Terms of Service and Acceptable Use Policy.
Client setup
Remote MCP support depends on the client and, for some, your plan. These steps were checked against each vendor’s documentation on October 25, 2026; menus can change. Claude needs no URL; for every other client, the server URL is the only value you need.
Claude (web, desktop and mobile)
InfraMap is listed in Claude’s connectors directory, so there is no URL to paste.
From the directory. Open InfraMap in the connectors directory and choose Connect. Claude then opens the InfraMap sign-in page. You can also search for InfraMap in the directory from Customize, then Connectors.
As a custom connector. If the directory isn’t available to you, open Customize, then Connectors, choose Add custom connector, name it InfraMap, paste the server URL, keep Authentication on Sign in when needed, and choose Add. The Free plan allows one custom connector. On Team and Enterprise, an owner adds it under Organization settings, Connectors, then Add, Custom, Web, and members choose Connect on InfraMap.
Sign in. Claude opens the InfraMap sign-in page when you connect, or the first time a chat uses the connector.
In a chat, open + then Connectors and switch InfraMap on.
Claude (web, desktop and mobile) MCP documentation(opens in a new tab)
Claude Code
claude mcp add --transport http --scope user inframap https://mcp.inframap.pro/mcpWrites .mcp.json in the project root, so everyone on the repository gets the server after approving it once.
claude mcp add --transport http --scope project inframap https://mcp.inframap.pro/mcpSign in. Start claude, run /mcp, pick inframap and choose Authenticate. Your browser opens the InfraMap sign-in page.
Run claude mcp list; inframap shows as connected. A connector added in the Claude app also appears in Claude Code when you sign in with a Claude subscription.
Codex
The Codex CLI, IDE extension and desktop app share one configuration, so one setup covers all three.
codex mcp add inframap --url https://mcp.inframap.pro/mcpCodex reads project configuration only in projects you trust.
[mcp_servers.inframap]
url = "https://mcp.inframap.pro/mcp"Sign in. Run codex mcp login inframap, or open /mcp in Codex and choose Authenticate. Your browser opens the InfraMap sign-in page.
Run codex mcp list, or open /mcp in Codex.
Cursor
{
"mcpServers": {
"inframap": {
"url": "https://mcp.inframap.pro/mcp"
}
}
}Sign in. Cursor shows a sign-in prompt for inframap under Customize, then MCPs. Follow it to the InfraMap sign-in page.
Open Customize, then MCPs; inframap appears with its tools.
VS Code (GitHub Copilot)
code --add-mcp '{"name":"inframap","type":"http","url":"https://mcp.inframap.pro/mcp"}'{
"servers": {
"inframap": {
"type": "http",
"url": "https://mcp.inframap.pro/mcp"
}
}
}Sign in. When inframap first starts, VS Code asks to sign in. Allow it and finish on the InfraMap sign-in page.
Run MCP: List Servers from the Command Palette, then use the tools in agent mode.
VS Code (GitHub Copilot) MCP documentation(opens in a new tab)
Gemini CLI
gemini mcp add --transport http --scope user inframap https://mcp.inframap.pro/mcpProject scope is the default and writes .gemini/settings.json.
gemini mcp add --transport http inframap https://mcp.inframap.pro/mcpSign in. Gemini CLI opens the InfraMap sign-in page when it first connects. To sign in again, run /mcp auth inframap in a session.
Run gemini mcp list; inframap shows as connected.
ChatGPT
Web. Go to chatgpt.com/plugins, choose +, then Add custom MCP server. Name it InfraMap, paste the server URL, set Authentication to OAuth and choose Create as a plugin. ChatGPT then opens the InfraMap sign-in page. In a chat, type @ and pick InfraMap. Custom MCP servers need ChatGPT Business, Enterprise or Edu.
Other clients
Most clients accept a remote server as a name and a URL over Streamable HTTP.
{
"mcpServers": {
"inframap": {
"url": "https://mcp.inframap.pro/mcp"
}
}
}For clients that only start local servers, the open-source mcp-remote bridge forwards to InfraMap and handles the sign-in. It needs Node.js.
{
"mcpServers": {
"inframap": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.inframap.pro/mcp"]
}
}
}Sign in. Clients that support MCP sign-in open the InfraMap sign-in page when they first connect.
How sign-in works
- The first time your client calls the server, the server answers that sign-in is required and points to www.inframap.pro.
- Your client registers itself and opens the InfraMap sign-in page in your browser.
- Sign in with an email code, then approve the client.
- The client receives a token that lasts one hour and renews itself for up to 30 days. Each renewal replaces the previous token.
Access follows your plan. If a Pro subscription ends, the client stops connecting at its next renewal. To disconnect, remove the server from your client.
Questions to try
- Find the largest operating wind projects in Texas and show their exact project IDs.
- How many PJM plants have no market price node, and what are the documented reasons?
- Which wind and solar plants saw the largest increase in modeled curtailment from 2024 to 2025?
- Show Barry’s reported generation in 2024, including missing months and source citations.
- What was Moccasin’s day-ahead basis to its hub in June 2025?
- Which datasets can help me research cooling water use, and what do their records mean?
How the tools fit together
Most good answers follow the same order. Capable clients do this on their own after reading the server instructions; it helps to know it when an answer looks thin.
- Check what exists.
get_data_cataloglists every source with its as-of date, coverage and limits.discover_energy_datasearches datasets by topic. - Find exact projects. Use
query_analyst_storefor screens across the whole inventory, orsearch_energy_projectsfor filtered lists. For a region, callresolve_grid_areasfirst. A state is never a stand-in for an ISO. - Read project evidence.
get_project_profilegives a one-call dossier. The generation, price, curtailment, ownership and emissions tools return the detail, with citations. - Check definitions.
get_energy_referenceandget_analysis_guidereturn reviewed definitions and formulas.explain_analysis_limitsays what a missing calculation would need.
A project ID is the parent EIA plant ID of a grouped project. A hybrid groups its battery storage with its generator, so one project can hold several EIA plants. Source tables use native EIA IDs. get_project_source_coverage returns the native IDs to pass to the source-record tools. See Plant catalog and projects.
Tool reference
43 tools in 10 groups, each with the display title clients show and the name they call. Inputs are listed by name; your client reads each tool’s full schema and description from the server. Most inputs accept null for their default.
Analyst store (3)
Whole-inventory screens in SQL, one-call project dossiers and reviewed definitions.
query_analyst_storeRun one read-only SQLite SELECT over the analyst store to screen, rank, count or compare projects across the whole inventory. Returns up to 200 rows with the store version and table citations.
sqlget_project_profileDossier for up to 5 projects: identity, capacity, region, pricing node and hub, earlier nodes from price chains, recent generation and capacity factor, ownership, offtake and 2024–2025 price and basis.
project_idsget_energy_referenceReviewed definitions, formulas, guards and primary references for energy terms and study topics such as capacity factor, basis, capture rate, ELCC and curtailment.
terms topicsDiscovery and definitions (5)
What data exists, how current it is, and which tool reads it.
get_data_catalogEvery approved data source with its as-of date, coverage, tools and limits. Call it first.
discover_energy_dataSearch datasets by research terms, or inspect one dataset ID for meaning, grain, join rules and coverage.
query dataset limitget_source_catalogLoaded source tables (water, boiler fuel, utilities, gas operators, EQR contracts, modeled renewable profiles) with grain, fields and caveats.
datasetget_analysis_guideReviewed terminology, formulas, study checklists and primary references for study design.
topicsexplain_analysis_limitExplains a known gap, the inputs it would need and the closest supported alternative.
capabilityProjects and regions (7)
Find plants, resolve grid areas and read source-level project evidence.
search_energy_projectsFilter, rank and page the current operating EIA catalog by state, fuel, ISO, balancing authority, county, size and hybrid status. Hybrid components are grouped once.
text states fuels view iso balancing_authority_codes region_version as_of membership_scope county hybrid min_generation_mw min_storage_mw sort_by sort_direction offset limitget_project_detailsGenerator and plant fields for exact EIA plant IDs, with generator paging.
plant_ids generator_offset generator_limitget_project_evidence_bundleCompact verified evidence and yearly summaries for up to 5 projects and 60 months, by section.
plant_ids start_period end_period sectionsresolve_grid_areasResolve an ISO, RTO or balancing-authority code, name or alias before filtering plants.
textget_project_grid_membershipDated unit-level balancing-authority relationships for one project, including reviewed transitions.
plant_id as_of unit_offset unit_limitget_project_source_coverageWhich source datasets hold records for a project, with the native IDs to query them.
idget_grid_topologyPublic OpenStreetMap network coverage and per-project USGS and OSM geometry counts.
plant_idsGeneration, emissions, ownership (7)
Reported output, performance, potential, emissions and ownership.
get_project_generationEIA-923 monthly net MWh, with battery charging and discharging kept separate.
plant_ids start_period end_periodget_project_performanceComplete-period generation, dated nameplate capacity factor, battery flows and utilization for up to 5 projects.
plant_ids start_period end_periodget_project_generation_potentialActual generation beside reviewed physical potential and retrospective expected generation.
plant_ids start_period end_period start_timestamp end_timestamp fuelget_project_emissionsAnnual EPA CO₂, SO₂ and NOx mass for monitored units, linked through the PUDL CAMD–EIA crosswalk. US short tons.
plant_ids start_year end_yearget_project_ownershipDated ownership and offtake conclusions and reported generator relationships.
plant_ids offset limit evidence_offsetrank_generation_changeRank reported net generation change between the same months of two years across the filtered fleet.
states fuels hybrid min_generation_mw baseline_year comparison_year months sort_by sort_direction offset limitrank_capacity_factorsPick the largest wind projects by operating wind nameplate, then rank their capacity factors.
fuel states cohort_size start_period end_period sort_direction offset limitMarkets (8)
Live 5-minute prices, node and hub prices, basis, period analysis and modeled revenue in seven ISOs and RTOs.
get_eqr_hourly_salesSeller-reported hourly sales by delivery point for about 430 plants in 2026 Q2. Reported sales, not metered generation.
project_id stream day offsetget_live_pricesThe newest 5-minute real-time prices at every hub and zone, or up to 8 days at one hub or 2 days at a plant's pricing node, or hourly real-time and day-ahead prices for up to 62 days from the archive, with congestion and loss components and day-ahead against real-time. Updated every 5 minutes in all seven markets.
view isos iso hub project_id start endget_project_market_pricesNode coverage or one month of price statistics for a plant outside ERCOT (CAISO, ISO-NE, MISO, NYISO, PJM, SPP).
plant_ids view iso month market node hubget_ercot_project_dataERCOT resource net energy (SMNE), node and hub settlement point prices and basis for one month.
plant_ids view month market hub node point_type seriesanalyze_market_periodPrices, basis and coverage for up to 5 projects over up to 12 months in any of the seven markets.
targets start_month end_month market metric_groupsmodel_project_revenueHistorical modeled energy revenue: monthly EIA net generation times the same month’s mean node price.
plant_id start_period end_period iso market noderank_ercot_basisRank reviewed ERCOT projects by node minus hub price for one month, hub and market.
market hub month point_type fuels hybrid min_generation_mw sort_by sort_direction offset limitassess_capture_rate_coverageChecks whether exact capture rates can be computed for a project, and what is missing.
plant_ids start_period end_periodCurtailment (4)
The experimental modeled curtailment range, and operator-published regional history.
compare_project_curtailmentScreen or compare modeled curtailment across the full eligible cohort between matched month windows, nationally or by ISO, state or technology.
baseline_start baseline_end comparison_start comparison_end source group_by states isos technology plant_ids rank_by limitinvestigate_project_curtailmentHour-level investigation for up to 5 plants over at most 366 days: loss blocks, durations, price coincidence and seasonality.
plant_ids start_date end_date threshold_mw sourceget_project_modeled_curtailmentMonthly modeled curtailed MWh, expected curtailed hours and physical potential for one plant and year.
plant_id yearget_regional_curtailment_historyOperator-published regional curtailment: CAISO 2015–2025 and SPP 2024–2025.
isos technology baseline_year comparison_yearERCOT batteries (2)
Reviewed ERCOT battery operations before and after RTC+B.
get_project_battery_operationsBattery resource coverage or one month of operational energy.
plant_ids view monthanalyze_battery_periodBattery operations over up to 24 months for up to 5 plants, with the two metering regimes kept apart.
plant_ids start_period end_periodSource records (3)
Row-level reads, calculations and rankings over loaded source tables.
query_source_recordsFind exact entity IDs, then read compact records with units and citations.
dataset view entity_ids text states start_period end_period columns offset limitsummarize_source_recordsTotals and heat rates across every matching record for 1–5 entities and at most 60 months.
dataset entity_ids start_period end_period group_by_periodrank_source_recordsRank all records at the dataset’s own grain before taking the top rows.
dataset metric direction start_period end_period states filters limitGrid and weather (3)
Hourly load, fuel mix and carbon intensity by balancing authority, and point weather at every wind and solar plant.
get_grid_hourlyEIA-930 demand, forecast, net generation, interchange, generation by fuel and hourly CO₂ intensity for up to 4 ISOs or balancing authorities, up to 92 days, updated hourly.
regions start end resolutionget_plant_weatherHourly hub-height wind, irradiance and temperature at a wind or solar plant from 2010, for windows up to 31 days.
project_id start end technologyexplain_output_with_weatherMonthly capacity factor against what the plant's own weather predicts, with months below 60% of expected flagged. A model estimate.
project_ids start_month end_month technologyWater (1)
Plant cooling water and the water stress of each plant’s watershed.
get_plant_water_useEIA cooling water withdrawal and consumption by plant, joined to the USGS surface water stress index at the plant location, for about 730 plants.
fuel state scarce_only high_use_only sort_by limitAnalyst store
query_analyst_store runs one read-only SQLite query over the same store the InfraMap agent uses. It is the fastest way to screen, rank, count or compare across every mapped project. Join tables on project_id.
projects- One row per grouped project: name, operator, location, primary fuel, nameplate MW by technology, battery MW and MWh, ISO, balancing authority, current price node, comparison hub and the reviewed price-node status.
generation_annual- EIA-923 net generation by year from 2000, battery charge and discharge, months reported and capacity factor (null unless all 12 months of generation and capacity are present).
generation_monthly- The same by month from January 2019.
ownership- Reported and ultimate owners, and the reviewed offtake conclusion with its as-of date.
offtake_contracts- FERC market-based-rate and EQR contract records by buyer and seller. Rows can overlap through renewals and amendments.
prices_annual- 2024 and 2025 time-weighted mean node and hub prices, basis and negative-price hours, day-ahead and real-time.
prices_annual_segments- Which node priced which part of a year when a project is priced through a price chain.
price_node_segments- Reviewed price chains: earlier pricing nodes of a current node across renames and market transitions.
hubs- Hub IDs and labels by ISO.
SELECT p.project_id, p.name, p.state, p.wind_mw,
g.capacity_factor_pct
FROM projects p
JOIN generation_annual g ON g.project_id = p.project_id
WHERE p.iso = 'SPP' AND p.primary_fuel = 'Wind'
AND g.year = 2025 AND g.complete_year = 1
ORDER BY p.wind_mw DESC
LIMIT 20One SELECT or WITH statement of at most 6,000 characters. Results return at most 200 rows, and a query may scan at most 100,000 rows and run for at most 8 seconds. Recursive queries, ATTACH and value-generating functions are refused. Every result carries the store version and a citation for each table it reads.
What a result contains
Each tool returns structured content and the same JSON as text, for clients that read only text. Results keep the source’s own meaning:
- Evidence with dates, units, citations, coverage and exclusions. Null means unavailable, never zero. Zero and negative values are kept as reported.
- Native identities. Grouped projects keep their component plant and generator IDs, so nothing is counted twice.
- Pagination with exact offsets where a list is cut.
- A delivery envelope naming the server release, the data release and the analyst store version. Each dataset’s own observation and publication dates still apply.
Partial evidence stays partial. Modeled potential is not delivered generation, and modeled curtailment is an experimental estimate, not operator-reported curtailment. The Methodology page explains each model.
Limits
- Request size
- At most 32 KiB. One JSON-RPC message per request; batches are refused.
- Result size
- At most 160,000 bytes per tool result. Tools also apply their own row and period bounds.
- Time
- 30 seconds per tool call.
- Rate
- About 120 requests per minute and 4 simultaneous requests per IP address.
- Analyst SQL
- 200 rows returned, 100,000 rows scanned, 8 seconds.
- Cold start
- The first analyst-store query on a new server instance loads the store and takes a few seconds.
- Browsers
- Native clients need no Origin header. Requests from web pages are accepted only from allowed origins.
These are the server’s current limits, not a guarantee of capacity or availability. The server logs tool names, outcomes, latency and output size. It does not log request arguments or returned evidence.
What is not included
- The separate InfraMap data-center atlas.
- Third-party industry research. The server serves InfraMap’s reviewed datasets only.
- Unpublished research, ingestion operations, arbitrary web or file fetching, and any write access.
- Some price-node review evidence is internal. Results that rely on it say so and withhold it.
The full list of datasets the server reads is on Data sources.
Releases
The server is rebuilt from InfraMap Pro after each data release. The current release, data release and analyst store dates are in service.json(opens in a new tab).
October 28, 2026
- New tool
get_live_prices: 5-minute real-time prices at hubs, zones and plant pricing nodes in all seven markets, updated every 5 minutes, with day-ahead against real-time. Real-time prices are each ISO’s preliminary results.
October 26, 2026
- The server requires sign-in with an InfraMap Pro or Enterprise account. Clients sign in through the browser; there is no API key.
- Every tool has a display title.
October 24, 2026
- Modeled curtailment is a range: a lower bound that assumes each generator earns the production tax credit for its first 10 years, and an upper bound that assumes no credit. See Modeled curtailment.
- New tool
get_plant_water_use: EIA cooling water joined to USGS surface water stress. - Prices follow reviewed price chains, including node renames and SPP’s move from WEIS to the RTO market.
- The national curtailment model covers 1,943 plants.
October 21, 2026
- Added the analyst store tools, the market period, revenue, curtailment and battery tools, and the grid region tools.
- Every plant in the seven ISO and RTO markets has a reviewed price-node outcome.
- Prices include supplemental node history from 2023 and recent days from the scheduled refresh.