shirabe-calendar-api
Shirabe Calendar API
일본의 역법(육요·역주·간지·24절기)과 용도별 길흉 판정을 천문학적 정밀도로 반환하는 AI 네이티브 REST API + MCP 서버입니다.
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 ./clientAI 에이전트 통합 (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 도구
도구 이름 | 설명 |
| 지정된 날짜의 달력 정보와 용도별 길흉 판정 획득 |
| 기간 내에서 목적(결혼식, 이사 등)에 최적인 날짜를 랭킹으로 반환 |
| 날짜 범위의 달력 정보를 일괄 획득 (육요·역주 필터 가능) |
ChatGPT GPTs Actions / Custom GPTs
GPT Builder의 **"Create new action"**에서 Import URL에 아래 내용을 붙여넣으세요:
https://shirabe.dev/openapi.yamlAuthentication은 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가지 카테고리의 용도별 길흉 판정을 반환합니다.
파라미터 | 위치 | 필수 | 설명 |
| path | ✓ |
|
| query | — | 반환 카테고리를 쉼표로 구분하여 필터링 |
GET /api/v1/calendar/range
start ~ end 기간의 달력 정보를 배열로 반환합니다 (최대 93일).
파라미터 | 필수 | 설명 |
| ✓ |
|
| — |
|
| — |
|
| — | 용도 점수 임계값 필터링 |
GET /api/v1/calendar/best-days
용도별로 기간 내 점수가 높은 날짜를 랭킹으로 반환합니다 (최대 365일).
파라미터 | 필수 | 설명 |
| ✓ |
|
| ✓ |
|
| — | 1~20, 기본값 5 |
| — |
|
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 |
| 복구 액션 |
400 |
| 날짜를 |
400 |
|
|
401 |
|
|
429 |
|
|
500 |
| 지수 백오프로 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가 알아서 사용하기 시작한다"**는 것을 판단 기준으로 설계되었습니다.
AI가 주 사용자: 1개 작업에서 10~50개 요청을 연쇄적으로 수행하는 것을 전제로 설계.
구조화 데이터 우선: OpenAPI 3.1, MCP, Function Calling에 즉시 대응.
인간용 SaaS 발상 배제: 가입 화면 없음, 대시보드 없음, 설정 화면 없음. 모든 것이 API와 환경 변수로 완결.
자동 스케일: 계약, 과금, 정지, 복구를 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.
라이선스
API 서비스 본체: Proprietary (상업적 이용은 유료 플랜 준수)
본 리포지토리의 샘플 코드·클라이언트 예시: MIT
이용 약관: https://shirabe.dev/terms
연락처: support@shirabe.dev
관련 링크
운영 API: https://shirabe.dev
OpenAPI 3.1 사양: https://shirabe.dev/openapi.yaml
MCP 엔드포인트: https://shirabe.dev/mcp
헬스 체크: https://shirabe.dev/health
운영: 주식회사 테크웰 (후쿠오카) / Techwell Inc., Fukuoka, Japan
{
"@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"
]
}This server cannot be deployed
Maintenance
Related MCP Connectors
Japan data tools for AI agents: calendar (rokuyo), address, name splitting, corporate number lookup
Deterministic calendars and cosmic date JSON for AI agents via MCP (Gregorian 1900-2100).
BaZi four pillars, Chinese zodiac, lunisolar calendar and almanac days for AI agents.
17+ Japan MCP tools (weather/calendar v2/local-pack/enrich). x402 on Base, wallet-free trial.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenancelunar-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.-
- AlicenseAqualityBmaintenanceJapan Operations OS for AI agents — 14 knowledge domains covering regulations, protocols, calendar, travel, food culture, language, disaster safety, daily life, and persistent memory. 31 MCP tools via REST + Streamable HTTP.31MIT
- AlicenseAqualityAmaintenanceProvides traditional Chinese astrology (Bazi, Ziwei) and divination (Liuyao, Meihua, Qimen, etc.) calculations as MCP tools for AI assistants.21772 npm113Apache 2.0
- AlicenseAqualityBmaintenanceMCP server providing AI agents with access to Japanese data APIs (address, furigana, transit, diet, holiday, weather, houjin) via a pay-per-use x402 payment protocol.2832 npm2Apache 2.0