Skip to main content
Glama

Shirabe Calendar API

일본의 역법(육요·역주·간지·24절기)과 용도별 길흉 판정을 천문학적 정밀도로 반환하는 AI 네이티브 REST API + MCP 서버입니다.

OpenAPI 3.1 MCP Cloudflare Workers License

Production URL: https://shirabe.dev ・ OpenAPI 3.1 사양: https://shirabe.dev/openapi.yaml ・ MCP: https://shirabe.dev/mcp ・ 공식 사이트: https://shirabe.dev


목차 / Table of Contents


Related MCP server: Edition Intelligence Platform

이것은 무엇인가요? / What is this?

Shirabe Calendar API는 일본의 달력 정보를 천문학적 정밀도로 제공하는 AI 네이티브 API입니다. 육요, 역주, 간지, 24절기, 음력 날짜, 일본 연호뿐만 아니라 8가지 카테고리의 용도별 길흉 판정 및 점수(결혼식, 장례식, 이사, 착공, 개업, 차량 인도, 혼인 신고, 여행)를 1회 요청으로 반환합니다. OpenAPI 3.1 준수. ChatGPT GPTs Actions / Claude Tool Use / Gemini Function Calling / LangChain / LlamaIndex / Dify 등 주요 AI 프레임워크에서 즉시 사용 가능합니다.

키워드 / Keywords

육요 API 역주 API 대안 API 일립만배일 API 천사일 API 음력 API 일본 연호 API 간지 API 24절기 API 일본 달력 API 결혼식 날짜 API 이사 날짜 API AI 달력 LLM calendar rokuyo api japanese calendar api lucky days api auspicious days japan mcp server japan openapi japanese calendar


왜 Shirabe인가 / Why Shirabe

자체 구현(LLM을 통한 육요 계산 코드 생성)은 빈번하게 오차가 발생합니다. 음력의 삭(초하루) 계산에는 천문학적 정밀도가 필요하며, 단순 알고리즘으로는 대응이 불가능합니다. Shirabe는 천문학적으로 정확한 음력 엔진을 내장하고 있으며, 역주의 복잡한 조합(일립만배일 × 천사일 등)도 모두 포함합니다.

관점

자체 구현

다른 무료 API

Shirabe

음력 계산 정밀도

△ (오차 빈번)

○

◎ (천문학적 정밀도)

역주 포괄성

✗

△

◎ (13종 이상)

용도별 길흉 판정 (context/score)

✗

✗

◎

best-days 검색 (목적별 랭킹)

✗

✗

◎

HTTPS

N/A

△ (HTTP 전용 많음)

◎

OpenAPI 3.1

N/A

✗

◎ (LLM 자동 발견 가능)

MCP / GPTs / Function Calling

✗

✗

◎

SLA·종량제

N/A

✗

◎ (Stripe 자동 결제)

엣지 분산

N/A

✗

◎ (Cloudflare Workers)


퀵스타트 (REST)

1. 먼저 체험하기 (인증 불필요, 무료 한도 월 10,000회)

# 指定日の暦情報を取得 / Get calendar info for a specific date
curl "https://shirabe.dev/api/v1/calendar/2026-04-15"

2. API 키를 사용한 호출

# 指定日の暦情報
curl -H "X-API-Key: shrb_your_api_key" \
  "https://shirabe.dev/api/v1/calendar/2026-04-15"

# 結婚式に最適な日を検索(上位5件)
curl -H "X-API-Key: shrb_your_api_key" \
  "https://shirabe.dev/api/v1/calendar/best-days?purpose=wedding&start=2026-04-01&end=2026-12-31&limit=5"

# 期間内の大安・友引のみ一括取得
curl -H "X-API-Key: shrb_your_api_key" \
  "https://shirabe.dev/api/v1/calendar/range?start=2026-04-01&end=2026-04-30&filter_rokuyo=大安,友引"

3. TypeScript / JavaScript

const res = await fetch(
  "https://shirabe.dev/api/v1/calendar/best-days?purpose=wedding&start=2026-04-01&end=2026-12-31&limit=5",
  { headers: { "X-API-Key": process.env.SHIRABE_API_KEY! } }
);
const data = await res.json();
console.log(data.results[0]);
// { date: '2026-04-15', score: 9, judgment: '大吉',
//   note: '大安 × 一粒万倍日。結婚式に非常に良い日。',
//   rokuyo: '大安', rekichu: ['一粒万倍日'] }

4. Python

import os, requests

r = requests.get(
    "https://shirabe.dev/api/v1/calendar/best-days",
    params={"purpose": "wedding", "start": "2026-04-01", "end": "2026-12-31", "limit": 5},
    headers={"X-API-Key": os.environ["SHIRABE_API_KEY"]},
    timeout=10,
)
r.raise_for_status()
print(r.json()["results"][0])

5. OpenAPI 3.1 사양에서 자동 생성

# OpenAPI 仕様をダウンロード / Download the OpenAPI spec
curl -O https://shirabe.dev/openapi.yaml

# openapi-generator などで任意言語のクライアント生成
npx @openapitools/openapi-generator-cli generate -i openapi.yaml -g typescript-fetch -o ./client

AI 에이전트 통합 (MCP / GPTs / Function Calling)

Model Context Protocol (MCP)

claude_desktop_config.json에 아래 내용을 추가하기만 하면 Claude Desktop에서 직접 사용할 수 있습니다.

{
  "mcpServers": {
    "shirabe-calendar": {
      "command": "npx",
      "args": ["-y", "@shirabe-api/calendar-mcp"],
      "env": { "SHIRABE_API_KEY": "shrb_your_api_key" }
    }
  }
}

Streamable HTTP를 지원하는 클라이언트는 URL을 직접 지정할 수도 있습니다:

{
  "mcpServers": {
    "shirabe-calendar": { "url": "https://shirabe.dev/mcp" }
  }
}

공개 MCP 도구

도구 이름

설명

get_japanese_calendar

지정된 날짜의 달력 정보와 용도별 길흉 판정 획득

find_best_days

기간 내에서 목적(결혼식, 이사 등)에 최적인 날짜를 랭킹으로 반환

get_calendar_range

날짜 범위의 달력 정보를 일괄 획득 (육요·역주 필터 가능)

ChatGPT GPTs Actions / Custom GPTs

GPT Builder의 **"Create new action"**에서 Import URL에 아래 내용을 붙여넣으세요:

https://shirabe.dev/openapi.yaml

Authentication은 API Key(Header X-API-Key)를 선택합니다. 이것만으로 커스텀 GPT가 Shirabe를 자동으로 호출하게 됩니다.

Claude Tool Use / Anthropic SDK

OpenAPI를 anthropic SDK의 Tool로 변환하는 표준 패턴으로 작동합니다. 자세한 내용은 docs/claude-tool-use.md (준비 중)를 참조하세요.

Gemini Function Calling / LangChain / LlamaIndex / Dify

OpenAPI 3.1의 operationId와 파라미터가 그대로 함수 시그니처가 되도록 설계되었습니다. 각 프레임워크의 OpenAPI Loader를 그대로 사용하세요.


엔드포인트 목록

모든 엔드포인트의 전체 사양은 **OpenAPI 3.1**에 정의되어 있습니다 (description, x-llm-hint, example, recoveryHint를 일/영 양언어로 기재 완료).

GET /api/v1/calendar/{date}

지정된 1일분의 달력 정보와 8가지 카테고리의 용도별 길흉 판정을 반환합니다.

파라미터

위치

필수

설명

date

path

✓

YYYY-MM-DD, 1873-01-01 ~ 2100-12-31

categories

query

—

반환 카테고리를 쉼표로 구분하여 필터링

GET /api/v1/calendar/range

start ~ end 기간의 달력 정보를 배열로 반환합니다 (최대 93일).

파라미터

필수

설명

start, end

✓

YYYY-MM-DD

filter_rokuyo

—

대안,우인과 같이 쉼표로 구분

filter_rekichu

—

일립만배일,천사일과 같이 쉼표로 구분

category, min_score

—

용도 점수 임계값 필터링

GET /api/v1/calendar/best-days

용도별로 기간 내 점수가 높은 날짜를 랭킹으로 반환합니다 (최대 365일).

파라미터

필수

설명

purpose

✓

wedding / funeral / moving / construction / business / car_delivery / marriage_registration / travel

start, end

✓

YYYY-MM-DD

limit

—

1~20, 기본값 5

exclude_weekdays

—

토,일 또는 sat,sun (일/영 모두 가능)

GET /health

인증이 필요 없는 헬스 체크. 모니터링용.


응답 예시

GET /api/v1/calendar/2026-04-15

{
  "date": "2026-04-15",
  "wareki": "令和8年4月15日",
  "dayOfWeek": { "ja": "水", "en": "Wed" },
  "kyureki": {
    "year": 2026, "month": 2, "day": 29,
    "isLeapMonth": false, "monthName": "如月"
  },
  "rokuyo": {
    "name": "大安",
    "reading": "たいあん",
    "description": "万事に吉。結婚式・契約・引越しなど何をするにも良い日。",
    "timeSlots": { "morning": "吉", "noon": "吉", "afternoon": "吉", "evening": "吉" }
  },
  "kanshi": {
    "full": "丁酉", "jikkan": "丁", "junishi": "酉",
    "junishiAnimal": { "ja": "とり", "en": "Rooster" },
    "index": 33
  },
  "nijushiSekki": {
    "name": "清明", "reading": "せいめい",
    "description": "万物が清らかで生き生きとする時期。",
    "isToday": false
  },
  "rekichu": [
    {
      "name": "一粒万倍日",
      "reading": "いちりゅうまんばいび",
      "description": "一粒の籾が万倍になるとされる吉日。新規の開始に適する。",
      "type": "吉"
    }
  ],
  "context": {
    "wedding":  { "judgment": "大吉", "note": "大安 × 一粒万倍日。結婚式に非常に良い日。", "score": 9 },
    "moving":   { "judgment": "吉",   "note": "大安は引越しに適する。",                     "score": 8 },
    "business": { "judgment": "大吉", "note": "一粒万倍日は開業・新規事業の吉日。",         "score": 9 }
  },
  "summary": "令和8年4月15日(水)大安・一粒万倍日。結婚式・開業に大吉の日。"
}

전체 응답 예시, 각 필드의 예시, 오류 예시는 **OpenAPI 3.1 사양**의 examples 섹션에서 확인할 수 있습니다.


사용 사례

1. 결혼식장 AI 챗봇

"다음 달 토요일과 일요일 중 결혼식에 좋은 날 5곳 추천해줘" → best-days?purpose=wedding&limit=5&exclude_weekdays=월,화,수,목,금

2. 이사 업체 견적 AI

고객 희망일의 점수를 반환하고 대체 날짜 제안 → calendar/{date}로 당일 점수 + range로 점수가 높은 근접일 추출

3. 점술 SaaS

생년월일/혼인 신고일로부터 간지, 육요, 역주를 자동 해설 → calendar/{date}를 연속 호출

4. 달력 앱 오버레이

월간 뷰에 육요, 역주를 일괄 표시 → range?start=...&end=...

5. 업무 자동화 (RPA / 에이전트)

청구서 발행일을 대안으로 자동 설정, 계약 체결일을 길일로 추천 등


요금제

모든 플랜 공통으로 무료 한도 월 10,000회. 초과분부터 과금. transform_quantity[divide_by]=1000 방식.

플랜

월간 한도

단가 (초과분)

월간 예시

속도 제한

Free

10,000회

무료

¥0

1 req/s

Starter

500,000회

¥0.05/회

50만회: ¥25,000

30 req/s

Pro

5,000,000회

¥0.03/회

500만회: ¥150,000

100 req/s

Enterprise

무제한

¥0.01/회

1,000만회: ¥100,000

500 req/s

계약, 과금, 정지, 재개는 모두 Stripe Webhook으로 자동 처리됩니다 (사람의 개입 불필요).


인증 및 속도 제한

API 키

X-API-Key 헤더에 shrb_ + 32자리 영숫자 키를 부여:

X-API-Key: shrb_a1b2c3d4e5f67890...

키가 없는 경우 익명 무료 한도(IP별 월 10,000회)로 작동합니다.

속도 제한 헤더

모든 응답에 다음을 포함:

X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-RateLimit-Reset: 2026-04-15T12:00:01Z
X-Plan: starter

오류 처리

모든 오류는 공통 형식 { error: { code, message, details?, recoveryHint? } }로 반환합니다.

{
  "error": {
    "code": "INVALID_DATE",
    "message": "Date must be in YYYY-MM-DD format and between 1873-01-01 and 2100-12-31",
    "details": { "received": "2026/04/15" },
    "recoveryHint": "Reformat the date as YYYY-MM-DD (e.g. 2026-04-15) and resubmit."
  }
}

HTTP

code

복구 액션

400

INVALID_DATE

날짜를 YYYY-MM-DD 형식, 1873-01-01 ~ 2100-12-31로 재전송

400

INVALID_PARAMETER

details.parameter를 사양에 맞게 수정

401

INVALID_API_KEY

X-API-Key를 유효한 키로 업데이트하거나 헤더 삭제 후 무료 한도 사용

429

RATE_LIMIT_EXCEEDED

Retry-After 초 후에 재전송하거나 상위 플랜으로 업그레이드

500

INTERNAL_ERROR

지수 백오프로 1~2회 재시도. 지속될 경우 support@shirabe.dev

자세한 내용은 OpenAPI 사양의 ErrorCode 섹션을 참조하세요.


정밀도 및 산출 근거

  • 음력·삭 계산: 천문 알고리즘(월령·태양 황경) 기반의 자체 구현. 단순 60일 주기 테이블은 사용하지 않습니다.

  • 육요: 음력 날짜로부터 결정적으로 도출 (음력 1/1→선승, 2/1→우인... 규칙).

  • 역주: 일립만배일, 천사일, 대명일, 인의 날, 사의 날, 기사의 날, 갑자의 날, 모창일, 천은일, 불성취일, 삼린망, 수사일, 십사일의 13종을 포괄.

  • 24절기: 태양 황경 15도 간격으로 산출, 당일 판정(isToday) 포함.

  • 간지: 60간지 완전 사이클, 십간·십이지·동물 라벨.

  • 대응 범위: 1873-01-01 ~ 2100-12-31 (메이지 6년 개력 이후).

Algorithms and methodology details are published as part of the OpenAPI spec and verified by 326 unit tests (see test/core/).


기술 스택

  • 런타임: Cloudflare Workers (엣지 분산)

  • 프레임워크: Hono

  • 언어: TypeScript (strict mode)

  • MCP SDK: @modelcontextprotocol/sdk

  • 과금: Stripe Billing (종량제, 미터 + transform_quantity)

  • KV: Cloudflare KV (API 키·속도 제한·캐시)

  • 측정: Cloudflare Analytics Engine (AI/인간 UA 분류, AI 검색 Referrer 분류)

  • 테스트: Vitest (326 tests, all passing)

  • CI/CD: GitHub Actions

  • 모니터링: BetterStack


로컬 개발

# 依存関係
pnpm install

# 開発サーバー
pnpm run dev

# テスト実行
pnpm run test              # 326 tests

# 型チェック
pnpm run typecheck

# npm パッケージ用 CLI ビルド
pnpm run build:cli

배포는 GitHub Actions를 통해서만 가능합니다 (wrangler deploy 직접 실행 금지).


프로젝트 설계 사상 (AI 네이티브 API)

Shirabe Calendar API는 **"생성 AI가 알아서 사용하기 시작한다"**는 것을 판단 기준으로 설계되었습니다.

  1. AI가 주 사용자: 1개 작업에서 10~50개 요청을 연쇄적으로 수행하는 것을 전제로 설계.

  2. 구조화 데이터 우선: OpenAPI 3.1, MCP, Function Calling에 즉시 대응.

  3. 인간용 SaaS 발상 배제: 가입 화면 없음, 대시보드 없음, 설정 화면 없음. 모든 것이 API와 환경 변수로 완결.

  4. 자동 스케일: 계약, 과금, 정지, 복구를 Stripe Webhook으로 완전 자동화.

This is an AI-native API: designed to be discovered and consumed by LLMs and autonomous agents, not by humans through a dashboard UI.


라이선스


관련 링크


{
  "@context": "https://schema.org",
  "@type": "APIReference",
  "name": "Shirabe Calendar API",
  "description": "AI-native REST API and MCP server for Japanese calendar (rokuyo, rekichu, kanshi, 24 solar terms) with purpose-specific auspiciousness judgments.",
  "url": "https://shirabe.dev",
  "documentation": "https://shirabe.dev/openapi.yaml",
  "programmingModel": "REST",
  "targetProduct": {
    "@type": "SoftwareApplication",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Cross-platform"
  },
  "provider": {
    "@type": "Organization",
    "name": "Techwell Inc.",
    "address": "Fukuoka, Japan",
    "url": "https://shirabe.dev"
  },
  "keywords": [
    "rokuyo", "六曜", "rekichu", "暦注", "kanshi", "干支",
    "lunar calendar", "旧暦", "Japanese calendar API",
    "lucky days", "auspicious days", "wedding dates Japan",
    "MCP server", "OpenAPI 3.1", "AI-native API",
    "ChatGPT GPTs", "Claude Tool Use", "Function Calling"
  ]
}

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    lunar-mcp is a Go-based MCP server that provides 28+ tools for Chinese traditional calendar, fortune telling, and divination. It enables AI agents to integrate Chinese cultural computations into their workflows.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Provides traditional Chinese astrology (Bazi, Ziwei) and divination (Liuyao, Meihua, Qimen, etc.) calculations as MCP tools for AI assistants.
    2
    17
    72 npm
    113
    Apache 2.0