Skip to main content
Glama
legend-saju

legend-saju

by SihyeonJeon

Legend Saju

Kein Wrapper, der ein paar Saju-Schriftzeichen an eine LLM weitergibt. Es ist eine ostasiatische Metaphysik-Engine, die Berechnungsrezepte, Schulen, Quellen und Unsicherheiten strukturiert zurückgibt.

CI License TypeScript

Dasselbe Geburtsdatum wird nach mehreren Traditionen berechnet. Im Rechenpfad gibt es keine versteckten LLM-Aufrufe.

777 quellenverknüpfte Wissenseinträge · Da Liu Ren 720 Stellungen · 9.495 Beobachtungen koreanischer Namens-Hanja · 0 Modellaufrufe im Berechnungspfad

Legend Saju behandelt die Berechnungen verschiedener Traditionen in einer Engine: Saju·Mingli, Ziwei Dou Shu, Qimen Dunjia, Da Liu Ren, Tieban Shenshu, Namensanalyse (Seongmyeonghak) und mehr. Wenn Schulen unterschiedlich sind, wird nicht gewaltsam zu einer einzigen Schlussfolgerung zusammengeführt; wenn die Geburtszeit unbekannt ist, wird kein willkürlicher Zeitpunkt erfunden.

Der schnellste Einstieg

Die aktuelle öffentliche Version bietet sowohl einen lokalen STDIO MCP als auch einen HTTPS-Remote-MCP an. Der lokale Server lässt sich ohne separaten API-Key ausführen, sofern Node.js 20 oder neuer installiert ist.

Remote-Server ohne Installation verbinden

Der öffentliche MCP-Endpunkt hat die folgende Adresse:

https://legend-saju-mcp-production.up.railway.app/mcp

In Codex kann man sich über den folgenden Befehl verbinden:

codex mcp add legend-saju-remote --url https://legend-saju-mcp-production.up.railway.app/mcp

Der Remote-Server speichert keine Eingabewerte und ruft keine Modell-APIs auf. Für den öffentlichen Endpunkt gelten Begrenzungen bei Größe, Anfragen pro Minute und gleichzeitigen Läufen. Wenn du keine Geburtsdaten oder Namen an einen externen Server senden möchtenst, verwende einfach die unten beschriebene lokale Methode.

Als Plugin installieren

In Codex und ChatGPT das Destop lässt sich ein Plugin installieren, das die MCP-Verbindung und die natürlichsprachlichen Nutzungshinweise zusammen bindelt. Zuerst füge dieses Repository als Plugin-Quelle hinzu:

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

Dann installiere auf dem Bildschirm „Plugins“ einfach Legend Saju. Dieser Weg nutzt das öffentliche Remote-MCP und benötigt weder Node.js noch einen separaten API-Key. Die Aufnahme in das öffentliche Plugins-Verzeichnis von ChatGPT Web ist ein eigener Einreichungs- und Prüfschritt.

In Codex-CLI mit einer Zeile verbinden

Führe in dem Terminal den folgenden Befehl aus:

codex mcp add legend-saju -- npx -y --package=github:SihyeonJeon/legend-saju#main legend-saju-mcp

Prüfen, ob die Verbindung steht:

codex mcp list

Starte Codex neu. Sobald legend-saju unter /mcp sichtbar ist, ist die Installation abgeschlossen. Du kannst fortan wie gewohnt fragen, ohne Werkzeugnamen oder JSON erwähnen.

Weiblich, geboren am 30. Juli 2000 um 8:44 Uhr morgens. Bitte analysiere Beruf, Vermögen, Ehe gemeinsam und die nächsten drei Jahre.

Männlich, geboren am 14. Juli 1999 um 11:24 Uhr, weiblich am 30. Juli 2000, 8:44 Uhr morgens. Bitte beurteile Verträglichkeit und die möglichen Zeitpunkt der Heirat zusammen.

Der Name ist Kim Sang-su mit den Han-Zeichen 金相洙. Bitte analysiere die Grundlage der Namensdeutung getrennt von der Saju.

Codex-CLI, die Codex-IDE-Erweiterung und die ChatGPT-Desktop-App nutzen dieselbe Codex-MCP-Konfiguration. Weitere Verbindungsdetails findest du in OpenAIs MCP-Leitfaden.

Verbindung aus anderen MCP-Clients

Wenn der Client STDIO MCP unterstützt, kannst du folgende Ausführungskonfiguration verwenden. Die Lage der Konfigurationsdatei hängt vom Client ab.

{
  "mcpServers": {
    "legend-saju": {
      "command": "npx",
      "args": ["-y", "--package=github:SihyeonJeon/legend-saju#main", "legend-saju-mcp"]
    }
  }
}

Wenn du die lokale Quelle gezielt verwenden willst, baue das Repository zuerst und führe den CLI-Wrapper direkt aus.

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

Die lokale Methode setzt voraus, dass npm ci && npm run build im Repository-Root einmal ausgeführt wird.

Kann man es direkt im ChatGPT-Web verwenden?

Der HTTPS-Remote-MCP-Server ist bereit. Allerdings sind eine öffentliche URL und ein Eintrag im Plugins-Verzeichnis von ChatGPT zwei getrennte Dinge. In Entwicklermodus oder in Clients mit Remote-MCP-Unterstützung kann die URL oben direkt verwendet werden; um es regulären Nutzer:innen als installierbares Plugin zugänglich zu machen, bleibt ein separater Registrierungs- und Prüfprozess nötig.

Related MCP server: mcp-luopan

Was das MCP leistet

Der MCP-Server stellt drei reine Lese-Werkzeuge bereit.

Werkzeug

Aufgabe

legend_saju_manifest

Listet die Berechnungsmethoden, Quellen und den Datenumfang der aktuellen Engine auf

legend_saju_capabilities

Findet das zu einer natürlichen Frage passende Berechnungsverfahren

legend_saju_resolve

Nimm die Frage zusammen mit den Eingabewerten und führt die zugehörigen Verfahren gemeinsam aus

Drei Werkzeuge heißt nicht, dass es nur drei Metaphysik-Funktionen gibt. Die drei Werkzeuge sind schmale Tore, mit kontakt die große Funktionsregister durchgesehen, durchsucht und ausgeführt wird.

사용자의 자연어 질문
        ↓
호스트 모델이 입력을 정리하고 계산법을 탐색
        ↓
Legend Saju MCP가 결정론적 계산 수행
        ↓
출처·유파·충돌·누락 정보가 포함된 구조화 결과
        ↓
호스트 모델이 사람이 읽기 쉬운 한국어로 설명

Legend Saju MCP selbst liest weder OpenAI- noch Anthropic-API-Keys und ruft auch kein Modellierung auf. Konversation und Erklärungen stätten sich auf die vorhandenen Modellsitzungen des genutzten Codex-, Claude- oder anderen Clients.

Der Unterschied zwischen MCP und beiliegendem Plugin

  • Wenn du nur die MCP-Verbindung herstellst, stehen dir die Rechen-Engine und die drei Werkzeuge sofort zur Verfügung.

  • Das Codex-Plugin in plugins/legend-saju/ enthält müssen die MCP-Einrichtung und Hinweise zur natürlichen Sprach. Es verstärkt die Verarbeitung des Hostmodells, sodass die Anwender kein Capability-ID oder Eingabeschema wählen müssen.

  • Die Rechenfähigkeit wird nicht in verkleinerter Kopie in das Plugin verschoben. Das MCP und das Plugin nutzen denselben Eingangspunkt der öffentlichen Engine.

Natürlichsprachliche Eingabe

Die von diesem Projekt vorgesehene Schnittstelle ist nicht ein Formular oder Einzelment-Menü, sondern das Gespräch. Das Modell extrahiert aus dem Gespräch nur die sicheren Informationen, findet das passende Berechnungsverfahren und erklärt die von der Engine gelieferte Begründung.

2004년 8월 3일 양력 남자고 태어난 시간은 몰라.
경기도 구리에서 태어났어. 앞으로 3년 직업과 돈을 봐줘.

Wenn man angegeben, dass die Geburtszeit unbekannt ist, setzt die Engine nicht willkürlich Mittag ein. Sie gibt die Kandidatencharts vielmehr getrennt zurück * inklusive der beiden Varianten der Tagesgrenze bei der Zi-Zeit.

Für Entwickler ausführen

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

Es braucht ist Node.js 20 oder neuer. Dieses Repository verträglich nur ESM und wurde noch nicht auf npm veröffentlicht.

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

const result = resolve({
  birth: {
    year: 2000,
    month: 7,
    day: 30,
    hour: 8,
    minute: 44,
    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);

Der Rückgabewert ist kein ausgearbeiteter Orakelspruch und keine fertigen Deutung, sondern die Berechnungs- und Beleggrundlage der Daten.

{
  selection: { requested: string[]; selected: string[]; unsupported: string[] };
  routes: CapabilityPreflight[];
  dossier?: {
    claims: EngineClaim[];
    conflicts: ClaimConflict[];
    synthesis: DomainSynthesis[];
    timeline?: LifeTimeline;
    blockedSystems: { capabilityId: string; reason: string }[];
  };
  evidence: SajuEvidence[];
  nameAnalysis?: KoreanNameAnalysis;
  noModelCalls: true;
  interpretationBoundary: string;
}

Warum

Viele Metaphysik-AI-Dienste beginnen mit dem Prompt. Legend Saju hat eine Ebene darunter with Kalkulationen und Belegen an.

  • Deterministischer Kern : Die gleiche Eingabe führe ich ohne LLM zum selben Rechnungsergebnis.

  • Schulden: Bei unterschiedliche Deutungstraditionen (z. B. bei der Auswahl des Tian und dessen Tabellen in Ziwei) werden die verschiedenen Varianten als je eigene Ergebnisse geführt.

  • Unbekannte Geburtszeiten: Unbekannte Stunden werden als Kandidatengruppe gerechnet und nicht willkürlich auf Mittag gelegt.

  • Quellen: Jede Funktion erfasst Reifegrad, Evidenzrolle, Schule, Quellen-ID und fehlende Dimensionen.

  • Keine Schicksals-Punktzahl — Widerstreitende Belege und Konflikte mehrerer Systeme werden nicht zu einer einzigen Zahl zusammengestaucht.

Das tatsächlich enthaltene Material

Diese Repository macht nicht nur die Modell-Schnittselle öffentlich, sondern auch komplizierte Daten- und Regelwerke mit öffentlich.

Material

Öffentlicher Umfang

Mehrsprachiges Metaphysik-Wissenskorpus

36 Themenfeldern, 777 Belege

Mingli-Glossogr

777 Einträge (Koreanisch, Hanja, Chinesisch, Chinesisch)

Ziwei-Doushu-Glossar

214 Einträge, massiv getrennt nach Sprache

Qiong Tong Bao Jiang

120 Zellen (Tagesherr × Monatsbefehl) plus 66 ausführbare Teil-Ausnahmen

Ziwei-Palast-Sterne/-Theorie

163 Strukturregen, 3 getrennt gerechnete „Vier-Wandlungsprofile“

Daliu Ren

60 Tageselinien × 12 Himmelsplatten; anne

20 Stellungse - geschlossene Tabelle

Anfragezeit-Pfade in Tieban Shenxu

1.500 Hexagrammzeilen, 144 Vor-Himmel-Einrichtung, 2.028 Lebenszeilen

Korean Namensanalyse

9.495 Beobachtungen zu Namens-Hul; Zeichen des Obersten Gerichtshof, 2.003 Abweichungsbeobachtungen

81 Namen („81 grids”) angebracht Quellstandorte

alle 81 Zahlenreihen und Abgleich mit der Primärquelle

Traumforschungsdaten

Zhou Gongs Traumdeutung 0908, Artemidoros 211 Abschnitte, 5 interkulturelle Prüfsaatgüter

Prüfbare Originaldaten liegen unter data/. Der ausführung nötige Wissensbestand gehört runtime, d.h. man verlässt sich weder auf eine entfernte Datenbank noch auf einen versteckten Suchdienst.

Die Extraktionsergebnisse sindAuf Dateiebene fix, und der einzige optimierte Berechnungspfad war über 144 Ziwei-Kombinationen hinweg bytegenau mit dem bisherigen Ergebnis-ident. Details stehen in docs/PARITY.md.

Implementierungsumgebung

Verfahren

Aktuelle Implementierungsgrenz

Kalendental „Saju im Ursprung“

Solar-/Lunarkalender, Neuermon-Übertragen, Acht Zeichen, „Große Perioden“, Tagesgrenzen

Mingli (命中) disciplina

Monatsbefehl, unter`w Thousands? "Verstock", ver/E, zehn Gotter, Kontaktmächte, Harmierungen, Clashs, Spannungen und Brüche; drei Harmonisch? plus 120 Qiong-Bao-Kessel

Ziwei Doushu

12 Paläste, „drei Richtungen und vier“ , mehrere Transformations profile, flying-star-Verkettungen, Füllebung

Da Liu Ren

60 Tagesordnung (Stammastämöen) und 12 Himmels-Scheiben, geschlossene Karte mit 72 Stellung; Auswahlmethode nach Ren (Pá)

Qimen Dunjia

Stunden-Drehplatte, 9 Palasts, 9 Sterne, 8 Türe, 8 Götter, Erneuerung und Sprung, Verleere

Eisenplatte-Sieg (Tieban Shen)

Drei Huangji-Himporte für 14 Ask-Zeit-Registerreihen, preconditioned number etc.

Koreanische Namensanalyse

9.482943 Namens-Hanja, Zeichen-/Strich-jenige Analyse, Vier-Säulen-Analysis on users-defined Zählweise und 81-number Quellen

Statt dich auf die entspannten Zahlen im README zu verneien, sind: Es genauer, die aktuelle Registry per getEngineManifest() abzudecken.

Geburtszeiten werden als lokale bürgerliche Zeit interpretiert. timezone und longitudes werden als Metadaten des Geburtsorts bewahrt, aber in der Standardern wird nichts heimlich auf die wahre Ortszeit gerechnet. Diese Lücke wird in den Metadaten der Funktionen- und Eingabenprüfung dokumentiert.

Falsche Geburtsinformationen werden über einen strukturierten blocked-Pfad zurückgegeben, sodass die Korrektur zusammen mit den übrigen Ergebnissen nachgefragt werden kann. Nicht existierende (unmögliche) targetDate oder questionDateTime können bringt die datumsgebundene Berechnung insgesamt unsicher, daher wird das ganze Element abgelehnt.

Ein offener Eingang

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

resolve({ question, ...inputs }) durchsucht die aktuelle Registry, leitet die Frage weiter, ruft die anwendbaren Rechner ab und liefert die fehlenden Eingaben ungeschönt mit. requestedCapabilities akzeptiert „normale Strings, keinen abgeschlossenen Enum. Wenn du neue Module hinzufüge, brauchen daher nicht alle Clientschemata –.

Wenn du die Name als name an resolveAsync übergibst, erhältst du einen eigenen Gesamtpfad für die koreanische Namensherme. Die echten Vor- und Nachnamen-Hanja (in 9.495 Beobachtungsdaten) werdenrieblichen, rechtlich verifiziert Verwendung, offizielle Laute, the zeer noch possible Stroke-Kandidaten, Unicode, Zergliederung der Form und den 81 Vergleich, sono verschließen Ebenen der Begründung.

Der frühere synchrone resolve bleibt für Berechnungsläufer erhalten; die asynchrone Variante und den Großbereich der Makrobegriffe? only lazily when Eingaben samt Name fehlt — es erhöht also nicht die Startkosten einer normalen Saju-Berechnung.

analyze(input) ist eine typisierte Geburtsterminen API. query({ intent, ... }) ist die von Content-Robots bisher genutzte kompatible Schnittstelle mit 26 Intentionen. Antwortschutz, Prompt-Bau und Publishing werden nicht im Rechenkern angemischt.

Performance

Eine reproduzierbares Benchmark ist dabei.

npm run benchmark

Auf der aktuellen Apple-Silicon-Entwicklermaschine und mit einer aktuellen Laufzeit Node 26 lagen die Medianwerte bei 1.13 ms für eine Frage Sju-Rohrligung; etwa 600 ms für die volle Spezifikation, wenn der Geburtszeitpunkt bekannt ist; und 63.1 ms für den Import aus einem neuen Prozess. Das ist eine ja, beachtete – abhängig von Gear und Umfeld. Eine aktuelle Umgebung und Methode findest du unter [docs/PERFORMANCE.md.

Wenn die Geburtszeit unbekannt ist

const result = analyze({
  birth: {
    year: 2004,
    month: 8,
    day: 3,
    calendar: "solar",
    gender: "남",
    birthTimeAccuracy: "unknown"
  },
  question: "전체 인생"
});
  • I keep the fixed columns, the relations that vary, and all candidates for a FortunePillar getrennt zurückgegeben. Zwar können wir die Kandidaten anhand von früheren Ereignissen vergleichen, doch die Engine selbst wird nicht selbst eine zur einzigen Geburtszeit erklären.

  • approach Sie können history, but engine never declares one.

Methodik vor Nystik

This project distinguishes these steps:

  1. Stundensatz und Phasen der Berechnung

  2. Beobachtung des Basis-Musters

  3. Interpretation nach Traditionen/Schule

  4. Integration/Synthese über mehrere Systeme

  5. Explanation written by human or LLM

Before making product claims, read 方法论 und Capabilities / Grenzen.

Der echte Bauablauf enthält die Reihenfolge der Entwicklung, die mehrsprachigen Investigierungs-Abfragen und reproduzierbare Agentarbeiten. Eine öffentliche Release-Checke für Wart

Available Tools

9 tools
legend_saju_analyze_compatibilityAnalyze two-person compatibilityA
Read-only
Inspect

Use this when the user asks 궁합, 결혼 가능성, relationship compatibility, or wants two birth charts compared. Requires both people's birth data.

NameRequiredDescriptionDefault
birthYes
questionYesWhat the user wants to know about the relationship.
maxClaimsNoMaximum interpretation points and raw claims returned outside debug mode.
lifeEventsNo
outputModeNoBackward-compatible developer projection override. Ordinary callers should use detailLevel instead.
targetDateNo
detailLevelNoPreferred depth. brief is shortest, standard is the default readable answer, expert automatically composes question-relevant deep methods and evidence in one call, and raw is the complete developer record.
partnerBirthYes

Output Schema

NameRequiredDescription
modeNo
errorNo
claimsNo
routesNo
blockedNo
dossierNo
sourcesNo
evidenceNo
questionNo
sectionsNo
timelineNo
conflictsNo
selectionNo
inputNotesNo
detailLevelNo
limitationsNo
nameAnalysisNo
noModelCallsNo
dreamAnalysisNo
executionPlanNo
methodAnalysisNo
readingSummaryNo
recommendationsNo
calculationSummaryNo
omittedTimelineYearsNo
interpretationBoundaryNo
publicationSideEffectsNo
legend_saju_analyze_nameAnalyze a Korean nameA
Read-only
Inspect

Use this for 작명, 성명학, 81수, 이름 한자, 인명용 한자, 획수, or 파자 questions. It keeps legal Hanja observations, declared stroke standards, and birth-based naming guidance separate.

NameRequiredDescriptionDefault
nameNo
birthNo
questionYesName, Hanja, stroke-count, or naming question.
maxClaimsNoMaximum interpretation points and raw claims returned outside debug mode.
outputModeNoBackward-compatible developer projection override. Ordinary callers should use detailLevel instead.
detailLevelNoPreferred depth. brief is shortest, standard is the default readable answer, expert automatically composes question-relevant deep methods and evidence in one call, and raw is the complete developer record.
givenStrokesNo
surnameStrokesNo

Output Schema

NameRequiredDescription
modeNo
errorNo
claimsNo
routesNo
blockedNo
dossierNo
sourcesNo
evidenceNo
questionNo
sectionsNo
timelineNo
conflictsNo
selectionNo
inputNotesNo
detailLevelNo
limitationsNo
nameAnalysisNo
noModelCallsNo
dreamAnalysisNo
executionPlanNo
methodAnalysisNo
readingSummaryNo
recommendationsNo
calculationSummaryNo
omittedTimelineYearsNo
interpretationBoundaryNo
publicationSideEffectsNo
legend_saju_capabilitiesFind a calculation methodA
Read-only
Inspect

Use this when a user asks which Saju, Myeongri, Zi Wei, Qimen, Daliuren, I Ching, Tieban, Dang Saju, Tojeong, Feng Shui, naming, dream, or other traditional calculation method fits a specialized question. Do not use it for an ordinary fortune reading.

NameRequiredDescriptionDefault
limitNo
queryNo
systemsNo

Output Schema

NameRequiredDescription
hitsNo
errorNo
queryNo
capabilityCountNo
requestedCapabilityContractNo
legend_saju_cast_divinationCast a traditional divination chartA
Read-only
Inspect

Use this for 기문둔갑, 대육임, 주역, 점괘, or a concrete decision cast from a question time or six line values. Do not use it for a general natal fortune reading.

NameRequiredDescriptionDefault
birthNoOptional natal input when the requested method needs it.
questionYesThe concrete decision or divination question.
maxClaimsNoMaximum interpretation points and raw claims returned outside debug mode.
lineValuesNoSix I Ching line values, bottom line first.
outputModeNoBackward-compatible developer projection override. Ordinary callers should use detailLevel instead.
detailLevelNoPreferred depth. brief is shortest, standard is the default readable answer, expert automatically composes question-relevant deep methods and evidence in one call, and raw is the complete developer record.
questionDateTimeNoCasting moment for Qimen, Daliuren, or Tieban question-time calculations.

Output Schema

NameRequiredDescription
modeNo
errorNo
claimsNo
routesNo
blockedNo
dossierNo
sourcesNo
evidenceNo
questionNo
sectionsNo
timelineNo
conflictsNo
selectionNo
inputNotesNo
detailLevelNo
limitationsNo
nameAnalysisNo
noModelCallsNo
dreamAnalysisNo
executionPlanNo
methodAnalysisNo
readingSummaryNo
recommendationsNo
calculationSummaryNo
omittedTimelineYearsNo
interpretationBoundaryNo
publicationSideEffectsNo
legend_saju_interpret_dreamInterpret a dream from audited traditionsA
Read-only
Inspect

Use this for 해몽, 꿈풀이, or dream interpretation. It currently handles five cross-culturally audited concepts and returns both shared motifs and conflicting conditions with primary-source excerpts; it does not turn the remaining raw corpus into invented meanings.

NameRequiredDescriptionDefault
dreamYesThe dream narrative. Preserve the user's details instead of reducing it to one symbol.
questionYesWhat the user wants to understand about the dream.
maxClaimsNoMaximum interpretation points and raw claims returned outside debug mode.
outputModeNoBackward-compatible developer projection override. Ordinary callers should use detailLevel instead.
detailLevelNoPreferred depth. brief is shortest, standard is the default readable answer, expert automatically composes question-relevant deep methods and evidence in one call, and raw is the complete developer record.
dreamContextNoOnly context the user actually supplied, such as emotion, setting, relationships, work, or health.
maxDreamMatchesNo

Output Schema

NameRequiredDescription
modeNo
errorNo
claimsNo
routesNo
blockedNo
dossierNo
sourcesNo
evidenceNo
questionNo
sectionsNo
timelineNo
conflictsNo
selectionNo
inputNotesNo
detailLevelNo
limitationsNo
nameAnalysisNo
noModelCallsNo
dreamAnalysisNo
executionPlanNo
methodAnalysisNo
readingSummaryNo
recommendationsNo
calculationSummaryNo
omittedTimelineYearsNo
interpretationBoundaryNo
publicationSideEffectsNo
legend_saju_manifestInspect Legend SajuA
Read-only
Inspect

Return the live, source-traceable deterministic engine manifest. No model or network call.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
errorNo
namingNo
versionNo
knowledgeNo
sourceCountNo
capabilitiesNo
deterministicNo
capabilityCountNo
legacyIntentCountNo
publicationSideEffectsNo
legend_saju_read_fortuneRead a Saju fortuneA
Read-only
Inspect

Use this when the user says 사주 봐줘, 운세 봐줘, 올해 운세, 재물운, 사업운, 직업운, 연애운, 결혼운, 건강운, 개운법, 구체적 액션, or asks what to do over a future period. Read structuredContent, especially recommendations for action requests. Use detailLevel=expert for a deep one-call analysis; do not search capability IDs first.

NameRequiredDescriptionDefault
birthYes
asOfYearNo
questionYesThe user's original request, such as 올해 재물운과 사업운을 봐줘.
maxClaimsNoMaximum interpretation points and raw claims returned outside debug mode.
lifeEventsNo
outputModeNoBackward-compatible developer projection override. Ordinary callers should use detailLevel instead.
targetDateNoThe date whose current or future fortune is being read. Supply the current local date for requests such as 올해 운세 or 현재 운세.
detailLevelNoPreferred depth. brief is shortest, standard is the default readable answer, expert automatically composes question-relevant deep methods and evidence in one call, and raw is the complete developer record.
timelineRangeNo

Output Schema

NameRequiredDescription
modeNo
errorNo
claimsNo
routesNo
blockedNo
dossierNo
sourcesNo
evidenceNo
questionNo
sectionsNo
timelineNo
conflictsNo
selectionNo
inputNotesNo
detailLevelNo
limitationsNo
nameAnalysisNo
noModelCallsNo
dreamAnalysisNo
executionPlanNo
methodAnalysisNo
readingSummaryNo
recommendationsNo
calculationSummaryNo
omittedTimelineYearsNo
interpretationBoundaryNo
publicationSideEffectsNo
legend_saju_run_methodsRun specific or mixed traditional methodsA
Read-only
Inspect

Use this for expert, mixed-system, or named-method requests. It covers Myeongri details such as 십성·지장간·투간·통근·합충형파해·삼합·방합·육합·월령·격국·조후·억부·통관·병약·궁통보감·적천수·삼명통회·연해자평·종격·화격·특수격; Zi Wei 12궁·삼방사정·대한·유년·유월·유일·유시·생년사화·궁간사화·자화·비성·흠천사화·중주파; and Qimen, Daliuren, I Ching, Tieban, Dang Saju, Tojeong, Feng Shui, naming, 81-number, Hanja decomposition, and dream traditions. Pass discovered capability IDs together in requestedCapabilities, or let the server plan from the question. Use focused tools for ordinary single-goal requests.

NameRequiredDescriptionDefault
nameNoActual Korean name characters for the separate 9,495-entry official-name analysis path.
birthNo
dreamNoDream narrative for the source-bounded cross-cultural dream engine.
purposeNo
asOfYearNo
questionYesOpen-ended question. Built-in routing terms cover Korean plus common English, Chinese, and Japanese metaphysics vocabulary.
maxClaimsNoMaximum interpretation points and raw claims returned outside debug mode.
rangeDaysNo
lifeEventsNo
lineValuesNo
outputModeNoBackward-compatible developer projection override. Ordinary callers should use detailLevel instead.
targetDateNoDate or range anchor being analyzed.
detailLevelNoPreferred depth. brief is shortest, standard is the default readable answer, expert automatically composes question-relevant deep methods and evidence in one call, and raw is the complete developer record.
dreamContextNoOptional emotion, setting, relationship, work, health, or other context explicitly supplied by the user.
givenStrokesNo
partnerBirthNo
timelineRangeNo
surnameStrokesNo
maxDreamMatchesNo
questionDateTimeNoMoment a Qimen, Daliuren, or question-time calculation is cast.
maxAutoCapabilitiesNo
requestedCapabilitiesNoOptional runtime IDs from legend_saju_capabilities. This is intentionally not an enum.

Output Schema

NameRequiredDescription
modeNo
errorNo
claimsNo
routesNo
blockedNo
dossierNo
sourcesNo
evidenceNo
questionNo
sectionsNo
timelineNo
conflictsNo
selectionNo
inputNotesNo
detailLevelNo
limitationsNo
nameAnalysisNo
noModelCallsNo
dreamAnalysisNo
executionPlanNo
methodAnalysisNo
readingSummaryNo
recommendationsNo
calculationSummaryNo
omittedTimelineYearsNo
interpretationBoundaryNo
publicationSideEffectsNo
legend_saju_select_datesSelect auspicious datesA
Read-only
Inspect

Use this only when the user explicitly asks for 택일, 좋은 날, 계약일, 이사일, 개업일, 수술일, or another date-selection task. Do not use it merely because a fortune request mentions this year.

NameRequiredDescriptionDefault
birthYes
purposeNo
questionYesThe event and constraints for choosing a date.
maxClaimsNoMaximum interpretation points and raw claims returned outside debug mode.
rangeDaysNo
outputModeNoBackward-compatible developer projection override. Ordinary callers should use detailLevel instead.
targetDateYesStart date for the candidate range.
detailLevelNoPreferred depth. brief is shortest, standard is the default readable answer, expert automatically composes question-relevant deep methods and evidence in one call, and raw is the complete developer record.

Output Schema

NameRequiredDescription
modeNo
errorNo
claimsNo
routesNo
blockedNo
dossierNo
sourcesNo
evidenceNo
questionNo
sectionsNo
timelineNo
conflictsNo
selectionNo
inputNotesNo
detailLevelNo
limitationsNo
nameAnalysisNo
noModelCallsNo
dreamAnalysisNo
executionPlanNo
methodAnalysisNo
readingSummaryNo
recommendationsNo
calculationSummaryNo
omittedTimelineYearsNo
interpretationBoundaryNo
publicationSideEffectsNo

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.4.0
    • Addedlegend_saju_analyze_compatibility
    • Addedlegend_saju_analyze_name
    • Changedlegend_saju_capabilities1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "capabilityCount": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "hits": {
        +      "items": {},
        +      "type": "array"
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "requestedCapabilityContract": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Addedlegend_saju_cast_divination
    • Addedlegend_saju_interpret_dream
    • Changedlegend_saju_manifest1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "capabilities": {
        +      "additionalProperties": {},
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "capabilityCount": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "deterministic": {
        +      "type": "boolean"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "knowledge": {},
        +    "legacyIntentCount": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "naming": {},
        +    "publicationSideEffects": {
        +      "type": "boolean"
        +    },
        +    "sourceCount": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "version": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Addedlegend_saju_read_fortune
    • Removedlegend_saju_resolve
    • Addedlegend_saju_run_methods
    • Addedlegend_saju_select_dates
  2. 3 tool updatesv0.1.0
    • First observedlegend_saju_capabilities
    • First observedlegend_saju_manifest
    • First observedlegend_saju_resolve

TDQS

A4.1/5.0

Scored across 9 tools

Disambiguation4/5

Each focused tool has a clear primary intent: fortune readings, compatibility checks, date selection, divination, name analysis, and dream interpretation. The only real ambiguity is among the metadata/router tools (manifest, capabilities, and run_methods), which can be confused when an agent needs to distinguish listing capabilities from executing a specialized method.

Naming Consistency4/5

Seven of the nine tools follow a consistent verb_noun pattern: read_fortune, analyze_compatibility, select_dates, cast_divination, analyze_name, interpret_dream, and run_methods. The two noun-only names, manifest and capabilities, are a small deviation, but the shared legend_saju_ prefix keeps the overall naming recognizable.

Tool Count5/5

Nine tools is well-scoped for a server with such a broad traditional-calculus surface. It provides one focused entry point per major user intent plus introspection and expert-runner tools, without turning the tool list into an overwhelming flat API.

Completeness5/5

The surface covers discovery, ordinary fortune reading, relationship compatibility, date selection, divination, naming, dream interpretation, and mixed expert methods. There is no obvious missed lifecycle step: about every major request route lands on a dedicated tool or the catch-all run_methods tool.

Maintenance

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables Korean Saju (Four Pillars of Destiny) calculation and myeongni-hak glossary lookup via MCP, allowing AI clients to compute accurate saju analysis and look up fortune-telling terms.
    4
    75 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides tools for Bazi (Chinese astrology) chart calculation and analysis, enabling LLMs to generate accurate birth charts, determine patterns, and answer follow-up questions based on actual calculations rather than model knowledge.
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to cast deterministic BaZi, Zi Wei Dou Shu, and Western astrology natal charts from birth details, with no setup or API key.
    1
    68 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides stateless tools for calculating BaZi charts, casting I Ching hexagrams, drawing tarot cards, and generating Zi Wei twelve-palace charts. Agents can call these tools without an account or model key and interpret the structured results with their own model.
    MIT