korea-bok-stats-mcp

korea-bok-stats-mcp

Enables querying Bank of Korea ECOS economic statistics via Open API, including searching tables, retrieving time series data, and accessing key indicators.

Category
访问服务器

README

korea-bok-stats-mcp

한국은행 경제통계시스템(ECOS) Open API를 Claude에서 바로 조회할 수 있게 해주는 MCP 서버입니다.

제공하는 도구 (Tools)

도구 설명
search_statistic_tables 통계표 목록 검색/조회 (예: "본원통화 구성내역" 통계표 코드 찾기)
get_statistic_data ★ 실제 시계열 수치 데이터 조회 (예: 2015~2021년 GDP 값)
get_statistic_items 특정 통계표의 세부 항목코드 목록 조회
get_key_statistics 100대 주요 통계지표 요약 조회 (경제성장률, 기준금리 등)
get_statistic_meta 통계 메타데이터(작성기준, 연혁 등) 조회
search_statistic_word 경제/통계 용어 설명 조회 (803개 용어)

⚠️ 실측으로 확인된 제약사항이나 명세서와 다른 실제 동작은 아래 "알려진 제약사항" 절을 참고하세요.

일반적인 사용 흐름

  1. search_statistic_tables로 원하는 통계의 통계표코드를 찾는다
  2. (필요시) get_statistic_items로 해당 통계표의 항목코드를 확인한다
  3. get_statistic_data로 실제 수치를 조회한다

간단한 지표는 get_key_statistics(100대 통계지표)만으로 충분할 수 있습니다.

환경 변수

변수명 설명
BOK_API_KEY 한국은행 ECOS에서 발급받은 Open API 인증키

인증키는 ECOS Open API 서비스에서 회원가입 후 신청하면 보통 1일 이내 발급됩니다.

설치 및 로컬 실행

pip install -r requirements.txt
cp .env.example .env  # BOK_API_KEY 값을 채워넣기
python server.py

배포 (Fly.io)

fly launch --no-deploy
fly secrets set BOK_API_KEY=발급받은키
flyctl deploy

Claude.ai 커넥터 연결

배포 완료 후 나온 주소 뒤에 반드시 /mcp를 붙여서 연결합니다.

https://<앱이름>.fly.dev/mcp

연결 후에는 새 대화창을 열어서 도구 목록이 정상적으로 뜨는지 확인하세요. (기존에 열려 있던 대화창에는 새 커넥터가 자동 반영되지 않을 수 있습니다.)

이용 제한 (Rate Limit)

이 서버는 API 키 인증 없이 공개되어 있어 아래 제한이 적용됩니다:

  • 1분당 3회 초과 호출 시 일시 차단
  • 1시간 내 5회 이상 제한 초과 시 24시간 차단
  • 하루 총 30회 초과 호출 시 제한

정상적인 대화 중 필요한 만큼만 도구를 호출하는 경우에는 문제가 되지 않습니다.

⚠️ 차단되어도 HTTP 상태 코드는 200 OK로 옵니다. 이 서버는 MCP(JSON-RPC over HTTP) 프로토콜을 쓰기 때문에, rate limit에 걸린 요청도 HTTP 레벨에서는 정상 응답(200)이고, 대신 JSON-RPC 응답 바디 안에 "isError": true"Rate limit exceeded..." 메시지가 담겨 옵니다. 따라서 curl 등으로 직접 테스트할 때 HTTP 상태 코드만 보고 "차단이 안 된다"고 판단하면 안 되고, 반드시 응답 바디의 isError/content[].text를 확인해야 합니다 (2026-08-17 배포 환경 실측으로 확인).

라이선스 / 출처

본 서비스는 한국은행 ECOS Open API가 제공하는 공개 데이터를 활용합니다. 데이터 저작권 및 이용 조건은 한국은행 경제통계 OPEN API 이용약관을 따릅니다.

알려진 제약사항

2026-08-17 실제 키로 6개 API 전부 호출하여 확인한 내용입니다.

  • StatisticSearch 선택 파라미터(통계항목코드1~4): 세그먼트를 완전히 생략(예: .../722Y001/M/202301/202312)해도, 통계항목코드1만 채우고 2~4를 생략해도, 명세서 샘플처럼 ?를 리터럴로 채워도(.../0101000/?/?/?) 모두 동일하게 정상 동작함을 확인했습니다. 즉 "부분 채움 금지" 같은 제약은 없습니다.
  • StatisticTableList의 통계표코드(선택): 생략 시 세그먼트를 완전히 제거하면 정상 동작합니다 (빈 세그먼트를 남길 필요 없음).
  • 한글 경로 세그먼트 URL 인코딩 (StatisticMeta의 데이터명, StatisticWord의 용어): httpx가 한글 문자열을 그대로 전달해도 자동으로 UTF-8 URL 인코딩을 처리합니다. 별도로 urllib.parse.quote를 적용한 결과와 동일했으므로, 이 서버는 한글을 그대로 전달합니다.
  • JSON 응답 최상위 구조: 정상 응답은 {"<서비스명>": {"list_total_count": N, "row": [...]}} 형태이고, 에러/데이터없음 응답은 {"RESULT": {"CODE": "...", "MESSAGE": "..."}} 형태입니다. CODEINFO-200(데이터 없음)인 경우는 에러로 취급하지 않고 빈 결과(list_total_count: 0)로 변환해서 반환합니다. 그 외 코드는 에러로 처리되어 도구 응답에 {"error": "[코드] 메시지"} 형태로 담깁니다.
  • 응답 인코딩: HTTP 헤더는 charset=UTF-8로 표기되며 실제로도 유효한 UTF-8 바이트입니다. (일부 터미널에서 콘솔 출력 시 한글이 깨져 보일 수 있으나, 이는 콘솔 코드페이지 문제일 뿐 응답 데이터 자체는 정상입니다.)
  • Rate limit 클라이언트 IP 추출: fly.io 배포 환경에서는 Fly-Client-IP 헤더(가장 신뢰할 수 있는 실제 클라이언트 IP)를 우선 사용하고, 없으면 X-Forwarded-For의 첫 번째 값을 사용합니다. 배포 환경 실측(2026-08-17)으로 Fly-Client-IP가 정상적으로 들어오고 IP별로 카운터가 올바르게 분리됨을 확인했습니다.
  • Rate limit 차단 시 HTTP 상태 코드: 위 "이용 제한" 절 참고 — 차단되어도 HTTP 200이 오며, 차단 여부는 JSON-RPC 응답 바디의 isError 필드로 판단해야 합니다.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选