mcpField
L
Legend Saju

Legend Saju

リモート
github.comゲーム・エンタメ09 週間前に更新
リポジトリ公式サイト

Legend Saju について

Legend Saju は、四柱推命、紫微斗数、奇門遁甲などを扱う決定論的な計算エンジンです。計算経路、流派、出典を確認したい人向けで、異なる流派の結果を分けて保持し、出生時刻不明時は候補チャートを個別に計算します。

主な機能

  1. 01複数の占術・命理体系を計算
  2. 02異なる流派の結果を個別に保持
  3. 03出生時刻不明時の候補チャート計算
  4. 04出典と結び付いた計算根拠の提示
  5. 05命盤・運勢・タイムラインカードの生成

活用シーン

  1. 01出生情報から命盤や運勢を確認する
  2. 02二人の相性や結婚時期を比較する
  3. 03日取り選びや占術の計算を依頼する
  4. 04姓名分析と根拠となる出典を確認する

MCP 対応

MCP サーバーは、運勢、相性、日取り選び、占術、姓名分析、夢解釈の読み取り専用ツールをクライアントに提供し、出典付きの根拠も返せます。リモート接続とローカルの STDIO 実行に対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://legend-saju-mcp-production.up.railway.app/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Legend Saju:出典と流派を追跡する東洋術数エンジン

Legend Saju

すべての答えが決定論的な計算から始まる東洋術数(命・卜・相)エンジンです。 計算式、流派、出典、不確実性を構造化して返します。

CI License TypeScript

English · 貢献する · リモート MCP

同じ生年月日を複数の伝統に基づいて計算します。計算経路内での隠れた LLM 呼び出しは 0 回です。

出典に紐づく知識 777 件 · 大六壬 720 局 · 韓国の人名用漢字の観測データ 9,495 件 · 計算経路でのモデル呼び出し 0 回

Legend Saju は、四柱推命・命理、紫微斗数、奇門遁甲、大六壬、鉄板神数、姓名学、夢占いまで、命・卜・相の三術の計算を 1 つのエンジンで扱います。流派が異なる場合は、それぞれの結果を並べて保持します。出生時刻が不明な場合は、候補チャートを分けて計算します。

最も手早い使い方

インストール不要で接続できる HTTPS MCP アドレスです。

https://saju.tripsight.co.kr/mcp

公式 MCP Registry 名は io.github.SihyeonJeon/legend-saju です。既存のアドレス https://legend-saju-mcp-production.up.railway.app/mcp も同じサーバーに接続します。

Claude Code

以下のコマンドは、すべてのプロジェクトで使えるようにユーザー範囲で接続します。

claude mcp add --transport http --scope user legend-saju https://saju.tripsight.co.kr/mcp
claude mcp list

Claude Code を開き、/mcp で legend-saju が接続されていることを確認してから、いつもどおり質問してください。

ChatGPT 開発者モード
  1. ChatGPT の Settings → Security and login で Developer mode を有効にします。
  2. ChatGPT Plugins で + をクリックします。
  3. 名前と説明を入力し、Connection に上記の MCP アドレスを /mcp まで含めて入力します。
  4. 接続を作成した後、legend_saju_read_fortune、legend_saju_analyze_compatibility、legend_saju_card_natal などが検出されることを確認します。
  5. 新しい会話のツールメニューから接続を選択し、自然言語で質問します。

ChatGPT では、計算結果がカードウィジェット(ChatGPT Apps)としてレンダリングされます。質問の種類に応じて、命式カード、分野別運勢カード、相性カード、大運タイムラインの 4 種類が表示されます。ウィジェットのレンダリングはウェブ(chatgpt.com)で最も安定します。

開発者モードを利用できるかどうかは、アカウントとワークスペースのポリシーによって異なる場合があります。詳しい手順は、OpenAI のプラグイン接続ガイドを参照してください。

Codex

MCP だけをすぐに接続するには、次の 2 行で十分です。

codex mcp add legend-saju-remote --url https://saju.tripsight.co.kr/mcp
codex mcp list

MCP 接続と自然言語での利用ガイドをまとめてインストールするには、リポジトリをプラグインソースとして追加し、Plugins 画面で Legend Saju をインストールします。

codex plugin marketplace add SihyeonJeon/legend-saju --ref main

リモートサーバーは入力値を保存せずに処理し、モデル API の呼び出しは 0 回を維持します。リクエストサイズ、1 分あたりのリクエスト数、同時実行数には制限が適用されます。

ローカルで実行する

生年月日や名前を外部サーバーに送信したくない場合は、Node.js 20 以上がインストールされたコンピューターで STDIO 方式を使って実行します。

git clone https://github.com/SihyeonJeon/legend-saju.git
cd legend-saju
npm ci
npm run build

リポジトリのルートで、使用するクライアントに対応したコマンドを実行します。$PWD はシェルによって現在の絶対パスに置き換えられます。

codex mcp add legend-saju -- node "$PWD/bin/legend-saju-mcp.js"
claude mcp add --transport stdio --scope user legend-saju -- node "$PWD/bin/legend-saju-mcp.js"

インストール後は、ツール名や JSON を指定する必要はありません。いつもどおり質問してください。

西暦 1990 年 1 月 1 日の正午生まれです。仕事、財運、結婚、そして今後 3 年間について総合的に見てください。

2 人の生年月日と出生時刻をお伝えします。双方の命式全体をもとに、相性と結婚の時期を併せて見てください。

名前の漢字をお伝えします。四柱推命とは分けて、姓名学の根拠も分析してください。

その他の MCP クライアントで接続する

リモート HTTP MCP に対応したクライアントであれば、以下の設定を使用できます。設定ファイルの場所はクライアントによって異なります。

{
  "mcpServers": {
    "legend-saju": {
      "type": "http",
      "url": "https://saju.tripsight.co.kr/mcp"
    }
  }
}

ローカルソースを固定して使いたい場合は、リポジトリをビルドした後、CLI ラッパーを直接実行します。

{
  "mcpServers": {
    "legend-saju": {
      "command": "node",
      "args": ["/절대/경로/legend-saju/bin/legend-saju-mcp.js"]
    }
  }
}

ローカル STDIO 方式は、上記のビルドを 1 回完了した後に使用できます。

MCP가 하는 일

MCP 서버는 사용자의 목적이 이름에 드러나는 읽기 전용 도구를 제공한다.

도구역할
legend_saju_read_fortune일반 사주, 총운, 재물·사업·직업·연애·건강운을 질문 범위에 맞춰 계산한다
legend_saju_analyze_compatibility두 사람의 출생 정보를 비교한다
legend_saju_select_dates명시적으로 택일을 요청한 경우에만 후보 날짜를 계산한다
legend_saju_cast_divination기문·육임·주역처럼 질문 시각이나 괘가 필요한 계산을 수행한다
legend_saju_analyze_name실제 이름 한자, 법원 인명용 한자 관측, 81수와 작명 정보를 분리해 계산한다
legend_saju_interpret_dream의미 대조가 끝난 교차 전승 범위 안에서 꿈의 공통 모티프와 충돌 조건을 반환한다
legend_saju_manifest현재 엔진에 들어 있는 계산법, 출처, 데이터 범위를 확인한다
legend_saju_capabilities전문적인 질문에 맞는 세부 계산법을 찾는다
legend_saju_run_methods이름을 지정한 유파·계산법이나 복합 계산을 한 실행 계획으로 묶는다
legend_saju_card_natal네 기둥·오행 밸런스·왕쇠/격국/용신 판정·신살을 원국 카드 위젯으로 렌더링한다
legend_saju_card_fortune총운·재물운·연애운 등 영역별 운세 카드 위젯을 렌더링한다
legend_saju_card_compatibility두 사람의 일주와 합충 신호를 궁합 카드 위젯으로 렌더링한다
legend_saju_card_timeline대운 타임라인 위젯을 렌더링하고 시기 질문의 연도를 표시한다

일상적인 운세 요청은 목적별 도구가 필요한 계산만 고른다. detailLevel은 계산 범위를 정하고 outputMode는 반환 형식을 정한다. 깊은 종합 분석은 detailLevel: "expert"로 계산하되 기본 응답은 읽기 좋은 consumer 형식을 유지한다. 지식 자산·원문·출처가 필요할 때 같은 입력을 outputMode: "evidence"로 호출한다.

카드 도구의 계산 값은 전부 서버가 채우고, 해석 문장과 점수는 호스트 모델이 작성해 카드의 narrative·text 필드로 전달한다. 카드에는 해석 작성 주체가 라벨로 표시된다.

사용자의 자연어 질문
        ↓
호스트 모델이 입력을 정리하고 계산법을 탐색
        ↓
Legend Saju MCP가 결정론적 계산 수행
        ↓
근거 ID가 연결된 요약·영역별 해석·타임라인
        ↓
호스트 모델이 근거와 경계를 보존해 대화로 전달

Legend Saju MCP 자체는 OpenAI나 Anthropic API 키 없이 동작하며 계산 경로의 모델 호출 0회를 유지한다. 대화와 설명에는 사용 중인 Codex·Claude·기타 클라이언트의 기존 모델 세션이 쓰인다.

MCP와 동봉 플러그인의 차이

  • MCP만 연결하면 계산 엔진과 목적별 도구를 바로 사용할 수 있다.
  • plugins/legend-saju/의 Codex 플러그인에는 MCP 설정과 자연어 사용 지침이 함께 들어 있다. 사용자가 capability ID나 입력 스키마를 고르지 않도록 호스트 모델의 처리 방식을 보강한다.
  • 계산 능력은 MCP와 플러그인이 같은 공개 엔진 진입점을 공유한다.

자연어 입력

이 프로젝트가 의도한 인터페이스는 대화다. 접수 폼과 intent 메뉴 대신, 모델이 대화에서 확실한 정보만 추출하고, 필요한 계산법을 찾은 뒤, 엔진이 돌려준 근거를 설명한다.

1990년 1월 1일 양력이고 태어난 시간은 몰라.
앞으로 3년 직업과 돈을 봐줘.

출생시간을 모른다고 말하면 엔진은 자시의 날짜 경계 두 방식까지 포함한 후보 차트를 분리해 반환한다. 임의의 정오 대입 대신 후보군 전체를 유지한다.

개발자로 실행하기

git clone https://github.com/SihyeonJeon/legend-saju.git
cd legend-saju
npm ci
npm test
npm run build
npm run demo

Node.js 20 이상이 필요하며 ESM 전용이다.

import { resolve } from "./dist/index.js";

const result = resolve({
  birth: {
    year: 1990,
    month: 1,
    day: 1,
    hour: 12,
    minute: 0,
    calendar: "solar",
    gender: "여",
    birthTimeAccuracy: "recorded"
  },
  question: "직업과 재물, 연애 결혼, 앞으로 3년",
  timelineRange: { startYear: 2026, endYear: 2028 }
});

console.log(result.dossier?.claims);
console.log(result.dossier?.conflicts);
console.log(result.routes);

반환값은 계산과 해석의 근거 데이터다. 완성된 점사 문장 대신 claim, 충돌, 실행 경로가 돌아온다.

{
  executionPlan: {
    entryIntent: string;
    domains: string[];
    core: string[];
    supporting: string[];
    selected: string[];
  };
  selection: { requested: string[]; selected: string[]; unsupported: string[] };
  routes: CapabilityPreflight[];
  dossier?: {
    claims: EngineClaim[];
    conflicts: ClaimConflict[];
    synthesis: DomainSynthesis[];
    timeline?: LifeTimeline;
    methodResults: Record<string, unknown>;
    blockedSystems: { capabilityId: string; reason: string }[];
  };
  evidence: SajuEvidence[];
  nameAnalysis?: KoreanNameAnalysis;
  noModelCalls: true;
}

상세도는 brief, standard, expert, raw이고 출력은 action_only, consumer, evidence, debug다. action_only는 행동 제안만, consumer는 요약·판정·영역별 해석·타임라인, evidence는 claim·계산 결과·지식 자산·원문·출처, debug는 내부 실행 기록을 반환한다. maxClaims는 debug를 제외한 응답에서 해석·행동·타임라인·claim·계산 결과에 하나의 공통 예산으로 적용된다.

consumer 응답에는 왕쇠·격국·용신 판정이 상시 포함되고, 응답에 싣지 못한 내부 claim은 evidenceIndex 색인으로 노출된다. 같은 입력으로 claimIds를 넘겨 재호출하면 색인의 claim 전문을 선택적으로 받는다.

왜 만들었나

많은 역학 AI 서비스는 프롬프트에서 시작한다. Legend Saju는 그보다 한 층 아래인 계산과 근거에서 시작한다.

  • 결정론적 코어: 같은 입력은 LLM 없이 같은 계산 결과를 만든다.
  • 유파 보존: 명리 관법이나 자미두수 사화표가 다르면 각각의 결과로 남긴다.
  • 출생시간 미상 처리: 모르는 시각은 정오 대입 대신 후보군으로 계산한다.
  • 출처 추적: 기능마다 성숙도, 근거 역할, 유파, 출처 ID, 빠진 차원을 기록한다.
  • 운명 점수 없음: 여러 체계의 근거와 충돌을 각각의 층으로 보존한다. 하나의 숫자로 뭉개는 종합 점수를 거부한다.

실제로 들어 있는 자산

이 저장소는 모델 호출 인터페이스와 함께, 어려운 데이터와 규칙 작업 자체를 공개한다.

자산공개 범위
다국어 역학 지식 저장소36개 영역, 777개 근거 항목
명리 용어집한국어·한자·중국어·일본어 777개 항목
자미두수 용어집언어별로 정렬된 214개 항목
궁통보감일간×월령 120칸과 실행 가능한 하위 예외절 66개
자미두수 궁성 이론구조화 규칙 163개와 서로 분리 계산되는 사화 프로필 3종
대육임60일진×12천반, 닫힌 720국 전송표
철판신수 질문시각 경로괘 1,500칸, 선천 144행, 평생 2,028행
한국 성명학대법원 인명용 한자 관측 9,495건과 획수 이형 관측 2,003건
원전 범위가 명시된 81수81개 전체 행과 1차 출처 대조
해몽주공해몽 988개, 아르테미도로스 211절, 의미 대조가 끝난 교차문화 개념 5개

검사 가능한 원본 데이터는 data/에 있다. 실행에 필요한 지식은 런타임에 포함되므로 원격 데이터베이스나 숨겨진 검색 서비스 없이 동작한다.

자미두수 궁성 계산의 최적화 전후 결과는 144개 조합에서 바이트 단위로 일치했다. 자세한 검증 범위는 docs/PARITY.md에 기록돼 있다.

구현 범위

체계현재 구현 경계
만세력·사주 원국양력·음력·윤달 변환, 사주팔자, 대운, 날짜 경계
명리월령, 통근, 지장간, 십성, 합충형파해, 용신 관법 3종, 궁통보감 120칸
자미두수12궁, 삼방사정, 복수 사화 프로필, 비성 연결, 중첩 운한
대육임60일진×12천반의 닫힌 표와 경계가 명시된 과전법
기문둔갑시가전반, 구궁, 구성, 팔문, 팔신, 직부·직사, 공망
철판신수세 판본의 황극 연쇄와 별도 질문시각 14계열 표, 선천수, 108년 조문수
한국 성명학인명용 한자 9,495건, 유니코드·자형 분해, 사용자가 밝힌 획수 체계의 오격 계산, 원전 범위 81수
해몽배설물·물·이·불·고인 5개 개념의 독립 전승 공통점과 충돌 조건, 연결된 원문 발췌

기능 수를 README의 고정 숫자로 믿기보다 getEngineManifest()로 현재 레지스트리를 확인하는 편이 정확하다.

출생시각은 현지 민간시로 해석한다. timezone과 longitudeE는 출생지 메타데이터로 보존하고, 기본 차트는 근사 진태양시 보정 없이 민간시를 그대로 쓴다. 이 정책은 기능 및 입력 감사 메타데이터에 기록된다.

잘못된 출생 정보는 구조화된 blocked 경로로 반환돼 다른 결과와 함께 정정 요청을 할 수 있다. 존재할 수 없는 targetDate나 questionDateTime은 날짜 기반 계산 전체를 안전하게 진행할 수 없으므로 요청 자체를 거절한다.

하나의 열린 진입점

import { resolve } from "./dist/index.js";

resolve({ question, ...inputs })는 현재 레지스트리를 검색하고, 질문을 라우팅하고, 실행 가능한 계산기를 호출하고, 부족한 입력을 숨기지 않은 채 반환한다. requestedCapabilities는 닫힌 enum이 아닌 일반 문자열을 받는다. 따라서 엔진에 새 모듈을 추가해도 모든 클라이언트 스키마를 함께 바꿀 필요가 없다.

이름을 resolveAsync의 name으로 넘기면 별도의 한국 성명학 전체 경로가 열린다. 실제 성과 이름 한자를 9,495개 관측 스냅샷과 대조하고, 법적 사용 가능성, 배정 음, 관측 획수 후보, 유니코드, 자형 분해, 사용자가 밝힌 오격 계산법, 81수 대조를 서로 다른 근거 층으로 유지한다.

기존 동기식 resolve는 계산 전용 사용자와 호환된다. 비동기식은 이름이 들어왔을 때만 큰 성명학 데이터를 지연 로딩하므로 일반 사주 계산의 시작 비용이 그대로 유지된다.

analyze(input)는 타입이 정해진 출생 명세 API다. query({ intent, ... })는 26개 intent를 지원하는 호환 인터페이스다. 설명과 UI 같은 어댑터는 계산 코어와 분리한다.

성능

재현 가능한 벤치마크가 포함돼 있다.

npm run benchmark

현재 Apple Silicon 개발 장비와 Node 26에서 최적화 기준값은 사주 원국 질의 중앙값 1.13ms, 출생시간을 아는 전체 명세 중앙값 약 600ms, 새 프로세스 import 중앙값 63.1ms였다. 기기와 환경에 따라 달라질 수 있는 공학적 관측값이다. 최신 환경과 측정법은 PERFORMANCE.md를 참고한다.

출생시간을 모를 때

const result = analyze({
  birth: {
    year: 1990,
    month: 1,
    day: 1,
    calendar: "solar",
    gender: "남",
    birthTimeAccuracy: "unknown"
  },
  question: "전체 인생"
});

고정되는 기둥, 달라지는 관계, 모든 시주 후보를 분리해 반환한다. 후보 확정은 과거 사건 대조와 사용자의 몫으로 남긴다.

신비보다 방법론

이 프로젝트는 다음 단계를 구분한다.

  1. 역법과 원국 계산
  2. 구조 관찰
  3. 유파에 따른 해석
  4. 여러 체계의 종합
  5. 인간 또는 LLM이 작성한 설명

제품 수준의 주장을 하기 전 방법론과 기능 경계를 읽어야 한다.

실제 개발 과정에는 개발 순서, 다국어 조사 쿼리, 재현 가능한 에이전트 작업 지시가 들어 있다.

라이선스

프로젝트 코드는 Apache-2.0이다. 외부 라이브러리와 데이터셋은 각자의 이용 조건을 따른다. DATA_LICENSES.md와 THIRD_PARTY_NOTICES.md를 참고한다.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。