Weather and climate data tools powered by NOAA RCC ACIS — MCP server
Project description
ACIS2LLM
The professional weather & climate data layer for LLMs.
ACIS2LLM connects your AI agents to the Applied Climate Information System (ACIS), providing high-fidelity historical data and statistical analysis from NOAA Regional Climate Centers—no API keys, no rate limits, just pure climate science.
🛠 Setup
ACIS2LLM is designed to run via uv for zero-config installation.
1. Claude Code / CLI
claude mcp add ACIS2LLM -- uvx --from acis2llm acis2llm-mcp
2. Gemini CLI
gemini mcp add ACIS2LLM -- uvx --from acis2llm acis2llm-mcp
3. Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"ACIS2LLM": {
"command": "uvx",
"args": ["--from", "acis2llm", "acis2llm-mcp"]
}
}
}
4. Cursor
Add a new MCP server in Settings > Features > MCP:
- Name:
ACIS2LLM - Type:
command - Command:
uvx --from acis2llm acis2llm-mcp
5. Universal MCP (Codex, OpenCode, Pi, etc.)
ACIS2LLM supports any MCP-compliant environment. Generally, you only need to provide the startup command:
uvx --from acis2llm acis2llm-mcp
🌪 Capabilities
ACIS2LLM transforms your LLM into a climate researcher. It doesn't just "get the weather"—it performs statistical analysis over decades of historical records.
1. Geospatial Discovery
find_best_station: Don't guess IDs. Find the most reliable station near a city or zip code based on historical record length.
2. Statistical Core
- Moments & Distribution: Calculate
period_mean,period_median,period_mode,period_standard_deviation,period_variance,period_skewness, andperiod_kurtosisover any period. - Percentiles: Determine where a specific value falls in a historical context using
period_percentile.
3. Trend & Extreme Analysis
- Threshold Counts: "How many days were above 100°F last summer?" (
number_of_days_above). - Rankings: Automatically find records and extremes with
period_rankings. - Detrending: Remove linear trends from time series data with
detrend_datato analyze cyclical patterns.
4. Seasonal & Monthly Aggregates
seasonal_summary: Analyze meteorological seasons (Winter, Spring, Summer, Fall) across years.monthly_totals_by_year: Compare April precipitation across the last 50 years.frequency_of_occurrence: Calculate the likelihood of specific events (e.g., "What is % chance of snow in October in Denver?").
📖 The Climate Cookbook
| If you want to know... | Use this tool |
|---|---|
| "What was the hottest July in NYC history?" | monthly_totals_by_year(station="KNYC", variable="tmax", aggregation="max", month="july") |
| "Is it likely to freeze in Miami during January?" | frequency_of_occurrence(station="KMIA", variable="tmin", threshold=32, comparison="at_or_below", month="january") |
| "How does this year's rainfall compare to the 30-year average?" | running_sum + period_mean |
| "Show me the top 5 snowiest winters in Buffalo." | seasonal_summary(station="KBUF", season="winter", aggregation="sum") |
🗄️ Data & Credits
All data is served in real-time from the Regional Climate Centers (RCCs) via the Applied Climate Information System (ACIS).
- Primary Source: rcc-acis.org
- Engine: Built on xmACIS2Py by Eric J. Drewitz (@edrewitz).
License: MIT | Author: yenba
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file acis2llm-0.1.0.tar.gz.
File metadata
- Download URL: acis2llm-0.1.0.tar.gz
- Upload date:
- Size: 26.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31f2a0555700963ea010e6904cccf4e9197eae48e214604ad0ea9c5bcbee345d
|
|
| MD5 |
15aa9f961ab7d55ab7e211a2c08cbfcd
|
|
| BLAKE2b-256 |
2ef26749c89cb18fab5d47889bb32c1b165d3276b72c17288f41bde9c905308b
|
Provenance
The following attestation bundles were made for acis2llm-0.1.0.tar.gz:
Publisher:
publish.yml on yenba/ACIS2LLM
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
acis2llm-0.1.0.tar.gz -
Subject digest:
31f2a0555700963ea010e6904cccf4e9197eae48e214604ad0ea9c5bcbee345d - Sigstore transparency entry: 1391833736
- Sigstore integration time:
-
Permalink:
yenba/ACIS2LLM@49942b003dc6f831021a64aca10a391bd44dbbca -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/yenba
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@49942b003dc6f831021a64aca10a391bd44dbbca -
Trigger Event:
push
-
Statement type:
File details
Details for the file acis2llm-0.1.0-py3-none-any.whl.
File metadata
- Download URL: acis2llm-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4cf6fea4769284326e352c97eee169276135383bbc77cc6372da6cdc5971e4e
|
|
| MD5 |
995cc878ae3d0cb8d8d82c0af9bf8d74
|
|
| BLAKE2b-256 |
2d1622b6adec0397055c1c294728dc9a7bb1fa3eeb8552a84cc0ad054345e276
|
Provenance
The following attestation bundles were made for acis2llm-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on yenba/ACIS2LLM
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
acis2llm-0.1.0-py3-none-any.whl -
Subject digest:
e4cf6fea4769284326e352c97eee169276135383bbc77cc6372da6cdc5971e4e - Sigstore transparency entry: 1391833740
- Sigstore integration time:
-
Permalink:
yenba/ACIS2LLM@49942b003dc6f831021a64aca10a391bd44dbbca -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/yenba
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@49942b003dc6f831021a64aca10a391bd44dbbca -
Trigger Event:
push
-
Statement type: