프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

IPCC AR6 Climate Retrieval

제작자: AswaniSahoo버전 0.1.0i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.AswaniSahoo/climate-ipcc-rag

설치

개요

제작자가 쓴 설명(영어 원문)

Search IPCC AR6 WG1 and answer with page-level citations, or refuse when unsupported.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 검색 및 AI 기억
  • 입력해야 할 값: GEMINI_API_KEY

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_CLOUD_PROJECT

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "climate-ipcc-rag": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GEMINI_API_KEY",
        "-e",
        "GOOGLE_GENAI_USE_VERTEXAI",
        "-e",
        "GOOGLE_CLOUD_PROJECT",
        "ghcr.io/aswanisahoo/climate-ipcc-rag-mcp:0.1.0"
      ],
      "env": {
        "GEMINI_API_KEY": "your-value",
        "GOOGLE_GENAI_USE_VERTEXAI": "your-value",
        "GOOGLE_CLOUD_PROJECT": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add climate-ipcc-rag --env GEMINI_API_KEY=your-value --env GOOGLE_GENAI_USE_VERTEXAI=your-value --env GOOGLE_CLOUD_PROJECT=your-value -- docker run -i --rm -e GEMINI_API_KEY -e GOOGLE_GENAI_USE_VERTEXAI -e GOOGLE_CLOUD_PROJECT ghcr.io/aswanisahoo/climate-ipcc-rag-mcp:0.1.0

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "climate-ipcc-rag": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GEMINI_API_KEY",
        "-e",
        "GOOGLE_GENAI_USE_VERTEXAI",
        "-e",
        "GOOGLE_CLOUD_PROJECT",
        "ghcr.io/aswanisahoo/climate-ipcc-rag-mcp:0.1.0"
      ],
      "env": {
        "GEMINI_API_KEY": "your-value",
        "GOOGLE_GENAI_USE_VERTEXAI": "your-value",
        "GOOGLE_CLOUD_PROJECT": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "climate-ipcc-rag": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GEMINI_API_KEY",
        "-e",
        "GOOGLE_GENAI_USE_VERTEXAI",
        "-e",
        "GOOGLE_CLOUD_PROJECT",
        "ghcr.io/aswanisahoo/climate-ipcc-rag-mcp:0.1.0"
      ],
      "env": {
        "GEMINI_API_KEY": "your-value",
        "GOOGLE_GENAI_USE_VERTEXAI": "your-value",
        "GOOGLE_CLOUD_PROJECT": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • GEMINI_API_KEY 비밀 env
    AI Studio API key. Either this or the Vertex variables must be set: retrieval is hybrid, so the dense half embeds every query.
  • GOOGLE_GENAI_USE_VERTEXAI env
    Set to "true" to authenticate through Vertex AI with Application Default Credentials instead of an API key.
  • GOOGLE_CLOUD_PROJECT env
    Google Cloud project id. Required when GOOGLE_GENAI_USE_VERTEXAI is true.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 AswaniSahoo 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

검색 및 AI 기억 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 5650개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 5650개 중 30%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 5650개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

IPCC AR6 Climate Retrieval, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: GEMINI_API_KEY

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.0)은 3개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Docker도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Context7, Codebase Memory, Exa

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Context7

제작자: upstash

Up-to-date docs for AI agents

컴퓨터 또는 클라우드★ 64,224MIT어제 업데이트
설치

Codebase Memory

제작자: DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

내 컴퓨터에서 실행★ 48,148MIT21일 전 업데이트
설치

Exa

제작자: exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

클라우드에서 실행★ 5,213MIT지난달 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

Climate-Risk Analyst Agent

Ask a plain-language question about heat, extreme rain or wind anywhere on Earth, and get back a typed, cited risk report built from live forecast data, 60+ years of ERA5 extremes and IPCC AR6. When a question falls outside what it can check, it refuses instead of guessing.

Live demo: https://climate-risk-agent-714882950125.us-central1.run.app/ (a public Google Cloud Run deployment).

What it does

  • Answers for any location: type a place name to geocode it, or enter a latitude and longitude directly.
  • Puts a live forecast next to 60+ years of ERA5 annual maxima at that point, and cites the IPCC AR6 pages it used by number.
  • Bands the risk on that location's own return-level curve instead of a fixed threshold.
  • Reports a confidence that says what it is made of: measured forecast skill at that lead day, the climatology fit, and whether a citation backed the answer.
  • Quotes the AR6 Chapter 12 projected change for the reference region containing the point, verbatim.

The measurement moat

  • ERA5 GEV hazard statistics. Every hazard number comes from a Generalized Extreme Value distribution fitted to 60+ years of ERA5 annual maxima at the query location. Every return level ships with a 90% bootstrap confidence interval.
  • Risk levels are local rarity, not a fixed threshold. The band is the return period of the forecast peak on that location's own curve: below the 2-year level is low, 2 to 10 years moderate, 10 to 50 high, at or above 50 severe. The same 46 °C peak can band low where an ordinary year already reaches it and severe where it is unprecedented, off the same code. Each report carries the sentence the band was decided on, naming the bracketing levels and the estimated return period. A location with no fitted climatology falls back to absolute cutoffs and says so rather than passing them off as local.
  • Non-stationary GEV. Alongside the stationary fit, a drifting-location GEV checks whether the climate at that location is actually warming, using a likelihood-ratio test to decide. When the trend is real, return levels are reported "effective" at the latest year rather than averaged across six decades. Berlin comes back at about +0.75 °C per decade (p < 0.0001) with effective levels. Delhi comes back stationary, with no significant trend at either Delhi point the app uses (p = 0.46 at the UI's preset Delhi point, p = 0.84 at the geocoded city point about 5 km away), which agrees with the published literature on aerosol masking suppressing South Asian heat trends. The slopes, p-values, exact coordinates and code version are in evals/results/warming-trend-2026-10-21.json, written by scripts/measure_warming_trend.py from a fresh ERA5 1960 to 2022 fit.
  • IPCC AR6 RAG with citations that have to hold up. Every citation is checked structurally against the pages actually retrieved for that question. If the model cannot point to a real retrieved page, it refuses rather than cite one anyway.
  • Projected change, quoted rather than generated. Each report carries the AR6 WG1 Chapter 12 climatic impact-driver projection for the reference region containing the point: one verbatim Ch.12 sentence, its direction, the IPCC's own calibrated confidence phrase, and the warming level or period it names. All of it is extracted by regex from retrieved chunks, with no model in the loop. When the chapter assesses no such change for that region and hazard, the section is absent and the report says regional projections were not found in the corpus.

The same report, scrolled down: the ERA5 return-level table with bootstrap confidence intervals, the warming-trend banner, and the measured cost and latency for that run.

How it works

A free-text question moves through parsing, geocoding and AR6 region mapping before it reaches the agent. From there a five-node LangGraph agent (plan, call, research, project, synthesize) either produces a typed RiskReport or refuses.

flowchart LR

Q[free-text question] --> PARSE[parse location · hazard · horizon] PARSE --> GEO[geocode Open-Meteo] GEO --> REGION[map to IPCC AR6 region reference regions v4] REGION --> PLAN[agent: plan scope check] PLAN -->|unsupported hazard| REFUSE[refusal valid typed output] PLAN --> CALL[agent: call forecast] CALL --> RESEARCH[agent: research] RESEARCH --> PROJECT[agent: project AR6 Ch.12 CID projection] PROJECT --> SYNTH[agent: synthesize] SYNTH --> REPORT[RiskReport typed · cited · grounded]

subgraph HAZARD [ERA5 to GEV hazard statistics] ERA5[ERA5 60+ yr annual maxima] --> GEV[stationary + drifting-location GEV] GEV --> LRT[likelihood-ratio test is the trend real?] LRT --> LEVELS[return levels + 90% bootstrap CI effective at latest year if trend holds] end CALL -.-> HAZARD HAZARD -.-> SYNTH

subgraph RAG [IPCC AR6 RAG] HYBRID[BM25 + dense hybrid RRF fusion] --> VALID[citations validated against retrieved pages] end RESEARCH -.-> RAG RAG -.-> SYNTH

The UI shows the same run as seven named steps, in this order (agent/progress.py): resolving location, fitting 60 years of ERA5 extremes, checking the question is in scope, fetching the forecast, searching IPCC AR6, reading Chapter 12 projections for your region, writing the cited report.

Evaluation

  • Dev set: 60 questions, used to steer development choices like chunking and retrieval configuration. The 15 cid-table questions arrived with the Chapter 12 projection layer, and the set was re-frozen under a new SHA-256.
  • Test set: 105 new questions, written after the dev set existed, never used to tune anything, frozen by SHA-256 so neither set can quietly change. 70 are answerable (24 single-page, 22 regional table, 15 multi-page, 9 duplicate region) and 35 are built to be refused (17 premise injection, 10 out-of-scope hazard, 8 out-of-corpus).

Dev-set retrieval, all 60 questions (49 answerable), measured 2026-09-02:

retrieverR@3R@5R@10MRR
BM25 only76%82%88%0.68
dense only61%69%86%0.59
hybrid (shipped)82%90%94%0.70

Per slice, hybrid R@3: single-page 92% (n=12), regional table 90% (n=10), multi-page 80% (n=10), premise injection 75% (n=4), cid-table 67% (n=15). cid-table is the weakest slice and is why the headline is 82% across all 60 questions where it was 91% across the original 45.

Dev-set end-to-end, all 60 questions (gemini-2.5-flash, top_k 8, scope guard stage 2 off, measured 2026-09-02):

cellcount
correct answer48
correct refusal11
false refusal1
false answer0

Citation validity 41/48 (85%). Numeric provenance 42/48 (88%). Grounded refusals 3/4. Cost $0.20 for the run, about $0.0034 per question, p50 latency 5.5 s across 55 model calls with 6 retried rate limits and no failures.

Held-out results (second exposure, on the exact configuration deployed):

  • Retrieval, hybrid, on the 70 answerable questions (measured 2026-09-07): R@3 87%, R@5 91%, R@10 96%, that is 61, 64 and 67 of 70.
  • End-to-end, all 105 questions (gemini-2.5-flash, top_k 8, measured 2026-07-22): 49 correct answers, 35 correct refusals, 21 false refusals, 0 false answers. All 35 questions built to be refused were refused; the price is 21 of the 70 answerable questions refused as well.
  • Citation validity 47/49 correct answers (96%). Numeric provenance 43/49 (88%).
  • The IPCC answer step cost $0.29 for the run, about $0.003 per question, p50 generation latency 3.9 s.

Reranking and query rewriting: measured, kept off. Both are wired as HybridRetriever keyword arguments and both default to off. Measured on the 45-question dev set (34 answerable), before the cid-table questions landed:

armR@3R@5R@10MRRp50cost per question
hybrid (shipped)88%94%94%0.7640 to 48 ms$0
+ MiniLM cross-encoder79%85%91%0.684.0 s$0
+ Gemini reranker82%94%94%0.7438 s$0.0123
+ query rewrite79%79%88%0.746.1 s$0.0013
+ Gemini reranker and rewrite74%79%85%0.6539 s$0.0127

No arm beat the baseline at any k, and the cheapest of them costs about 100 times the latency. The seams stay in the code because the measurement is what makes leaving them off defensible.

Semantic scope guard, stage 2: measured, kept off. Stage 1 is lexical and runs before any model call. Stage 2 (rag/scope_semantic.py, CRG_SCOPE_STAGE2=off|embed|llm) reads only the questions stage 1 leaves undecided. Measured on the 45-question dev set, as correct answer / correct refusal / false refusal / false answer:

armmatrixadded latency per questionadded cost per question
off (shipped)34/11/0/00$0
embed33/11/1/024 ms$0
llm34/11/0/02.8 s$0.00025

Zero false answers in every arm, and no arm gained anything, so the default stays off. The embed arm's one false refusal carries lexical hazard vocabulary and never reached stage 2. embed is the arm to promote, once a held-out run confirms the matrix holds. The full reasoning is in LIMITATIONS.md.

Every eval artifact records the model that produced it, because a model swap is invisible to a test suite. When the answering model was changed without re-running these evals, the benchmark caught a usefulness regression that the unit tests did not: see adr/0001-answering-model-selection.md.

Refusals are scored on a 4-cell confusion matrix (correct answer, correct refusal, false refusal, false answer). One false answer on that matrix blocks release.

The gate: it is an exit code, not an eyeball. The build fails on any false answer, on headline R@3 falling more than 3 points below the last committed run, or on the hybrid retriever being missing from the artifact, which would mean the run silently measured BM25-only. See DEPLOY.md.

Forecast skill

Every hazard number rests on a forecast, and a peak predicted six days out is not the same claim as one predicted tomorrow. That gap is measured rather than assumed. scripts/measure_forecast_skill.py reads Open-Meteo's Previous Model Runs API, which archives what the model had predicted for each hour 1 to 7 days before it happened, and scores every lead time against the model's own day-0 run over 2024-01-0

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기