loading…
Search for a command to run...
loading…
Japanese calendar API for AI agents. Provides Rokuyo, Rekichu, Eto, 24 Solar Terms, and fortune judgments. MCP + REST API.
Japanese calendar API for AI agents. Provides Rokuyo, Rekichu, Eto, 24 Solar Terms, and fortune judgments. MCP + REST API.
日本の暦(六曜・暦注・干支・二十四節気)と用途別吉凶判定を、天文学的精度で返す AIネイティブREST API + MCPサーバー。姉妹 API: Shirabe Address API(日本住所正規化、abr-geocoder 公式エンジン API 化、2026-05-01 リリース)。 Japan's calendar (rokuyo, rekichu auspicious days, kanshi, 24 solar terms) and purpose-specific auspicious-day judgments, served with astronomical precision as an AI-native REST API + MCP server. Sister API: Shirabe Address API (Japanese address normalization, abr-geocoder API gateway, launching 2026-05-01).
Production v1.0.0 OpenAPI 3.1 MCP Cloudflare Workers Tests License
Production URL: https://shirabe.dev ・ OpenAPI 3.1 仕様: https://shirabe.dev/openapi.yaml ・ MCP: https://shirabe.dev/mcp ・ 公式サイト: https://shirabe.dev
Shirabe Calendar API は、日本の暦情報を天文学的精度で提供するAIネイティブAPIです。 六曜・暦注・干支・二十四節気・旧暦日付・和暦に加え、8カテゴリの用途別吉凶判定とスコア(結婚式・葬儀・引越し・着工・開業・納車・入籍・旅行)を1リクエストで返します。 OpenAPI 3.1 準拠。ChatGPT GPTs Actions / Claude Tool Use / Gemini Function Calling / LangChain / LlamaIndex / Dify など、主要AIフレームワークから即利用可能。
Shirabe Calendar API is an AI-native API serving Japanese calendar data with astronomical precision. It returns rokuyo, rekichu, kanshi, 24 solar terms, lunar date, Japanese era, plus purpose-specific auspiciousness judgments with 1–10 scores across 8 categories (wedding, funeral, moving, construction, business, car delivery, marriage registration, travel). Strict OpenAPI 3.1. Works out-of-the-box with ChatGPT GPTs Actions, Claude Tool Use, Gemini Function Calling, LangChain, LlamaIndex, and Dify.
六曜 API 暦注 API 大安 API 一粒万倍日 API 天赦日 API 旧暦 API 和暦 API 干支 API 二十四節気 API 日本 暦 API 結婚式 日取り API 引越し 日取り API AI 暦 LLM calendar rokuyo api japanese calendar api lucky days api auspicious days japan mcp server japan openapi japanese calendar
自前実装(LLMによる六曜計算コード生成)は頻繁に誤算します。 旧暦の朔(新月)計算には天文学的精度が必要で、単純アルゴリズムでは対応不可です。Shirabeは天文学的に正確な旧暦エンジンを内蔵し、暦注の複雑な組み合わせ(一粒万倍日 × 天赦日など)も網羅します。
LLM-generated rokuyo/lunar calculation code is known to miscalculate because the underlying new-moon (saku) computation requires astronomical precision that simple heuristics fail to capture. Shirabe ships an astronomically accurate lunar engine and covers complex rekichu combinations.
| 観点 | 自前実装 | 他の無料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) |
# 指定日の暦情報を取得 / Get calendar info for a specific date
curl "https://shirabe.dev/api/v1/calendar/2026-04-15"
# 指定日の暦情報
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=大安,友引"
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: ['一粒万倍日'] }
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])
# 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
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" }
}
}
| ツール名 | 説明 |
|---|---|
get_japanese_calendar |
指定日の暦情報と用途別吉凶判定を取得 |
find_best_days |
期間内から目的(結婚式・引越し等)に最適な日をランキングで返す |
get_calendar_range |
日付範囲の暦情報を一括取得(六曜・暦注でフィルタ可) |
GPT Builder の "Create new action" で、Import URL に以下を貼り付け:
https://shirabe.dev/openapi.yaml
Authentication は API Key(Header X-API-Key)を選択。これだけで、カスタムGPTがShirabeを自動呼び出しするようになります。
OpenAPIをanthropic SDKのToolに変換する標準パターンで動作します。詳細は docs/claude-tool-use.md(準備中)を参照。
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/rangestart〜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 セクションで確認できます。
「来月の土日で結婚式におすすめの日を5つ」→ best-days?purpose=wedding&limit=5&exclude_weekdays=月,火,水,木,金
顧客希望日のスコアを返し、代替日を提案 → calendar/{date} で当日スコア + range でスコアの高い近傍日抽出
誕生日・入籍日から干支・六曜・暦注を自動解説 → calendar/{date} を連続呼び出し
月間ビューに六曜・暦注を一括描画 → range?start=...&end=...
請求書発行日を大安に自動設定、契約締結日を吉日にレコメンド、など
全プラン共通で Free枠 月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で自動処理されます(人間オペ不要)。
X-API-Key ヘッダーに shrb_ + 32文字の英数字キーを付与:
X-API-Key: shrb_a1b2c3d4e5f67890...
キーなしの場合は匿名Free枠(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 を有効なキーに更新、またはヘッダー削除でFree枠利用 |
| 429 | RATE_LIMIT_EXCEEDED |
Retry-After 秒後に再送、または上位プランへ |
| 500 | INTERNAL_ERROR |
指数バックオフで1-2回まで再試行。恒常的なら [email protected] |
詳細は OpenAPI 仕様の ErrorCode セクションを参照。
isToday)付き。Algorithms and methodology details are published as part of the OpenAPI spec and verified by 326 unit tests (see test/core/).
@modelcontextprotocol/sdktransform_quantity)# 依存関係
pnpm install
# 開発サーバー
pnpm run dev
# テスト実行
pnpm run test # 326 tests
# 型チェック
pnpm run typecheck
# npm パッケージ用 CLI ビルド
pnpm run build:cli
デプロイは GitHub Actions 経由のみ(wrangler deploy 直接実行は禁止)。
Shirabe Calendar API は 「生成AIが勝手に使い出す」 ことを判断基準に設計されています。
This is an AI-native API: designed to be discovered and consumed by LLMs and autonomous agents, not by humans through a dashboard UI.
shirabe.dev は「日本特化 AI ネイティブ API プラットフォーム」として、暦 API に続く API 群を順次公開しています。同一ドメイン・同一の Stripe 課金 / API キー基盤・統一 OpenAPI 3.1 スタイルで、複数 API のクロスセル連携が可能です。
| API | 状態 | 概要 |
|---|---|---|
| Shirabe Calendar API | ✅ 本番稼働中 | 六曜・暦注・干支・二十四節気・用途別吉凶(本リポジトリ) |
| Shirabe Address API | 🚀 2026-05-01 リリース | 日本住所正規化、abr-geocoder 公式エンジン API 化、CC BY 4.0 attribution required |
| Shirabe 日本語テキスト処理 API | 📅 2026-07 予定 | 姓名分割・人名読み推定・ふりがな付与・テキスト正規化 |
shrb_* プレフィックス)で全 API にアクセス可能{
"@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"
]
}
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"shirabe-calendar-api": {
"command": "npx",
"args": []
}
}
}