legend-saju
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.
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/mcpIn Codex kann man sich über den folgenden Befehl verbinden:
codex mcp add legend-saju-remote --url https://legend-saju-mcp-production.up.railway.app/mcpDer 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 mainDann 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-mcpPrüfen, ob die Verbindung steht:
codex mcp listStarte 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 |
| Listet die Berechnungsmethoden, Quellen und den Datenumfang der aktuellen Engine auf |
| Findet das zu einer natürlichen Frage passende Berechnungsverfahren |
| 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 demoEs 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 benchmarkAuf 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:
Stundensatz und Phasen der Berechnung
Beobachtung des Basis-Musters
Interpretation nach Traditionen/Schule
Integration/Synthese über mehrere Systeme
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 toolslegend_saju_analyze_compatibilityAnalyze two-person compatibilityARead-onlyInspect
Use this when the user asks 궁합, 결혼 가능성, relationship compatibility, or wants two birth charts compared. Requires both people's birth data.
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | ||
| question | Yes | What the user wants to know about the relationship. | |
| maxClaims | No | Maximum interpretation points and raw claims returned outside debug mode. | |
| lifeEvents | No | ||
| outputMode | No | Backward-compatible developer projection override. Ordinary callers should use detailLevel instead. | |
| targetDate | No | ||
| detailLevel | No | Preferred 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. | |
| partnerBirth | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| error | No | |
| claims | No | |
| routes | No | |
| blocked | No | |
| dossier | No | |
| sources | No | |
| evidence | No | |
| question | No | |
| sections | No | |
| timeline | No | |
| conflicts | No | |
| selection | No | |
| inputNotes | No | |
| detailLevel | No | |
| limitations | No | |
| nameAnalysis | No | |
| noModelCalls | No | |
| dreamAnalysis | No | |
| executionPlan | No | |
| methodAnalysis | No | |
| readingSummary | No | |
| recommendations | No | |
| calculationSummary | No | |
| omittedTimelineYears | No | |
| interpretationBoundary | No | |
| publicationSideEffects | No |
legend_saju_analyze_nameAnalyze a Korean nameARead-onlyInspect
Use this for 작명, 성명학, 81수, 이름 한자, 인명용 한자, 획수, or 파자 questions. It keeps legal Hanja observations, declared stroke standards, and birth-based naming guidance separate.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| birth | No | ||
| question | Yes | Name, Hanja, stroke-count, or naming question. | |
| maxClaims | No | Maximum interpretation points and raw claims returned outside debug mode. | |
| outputMode | No | Backward-compatible developer projection override. Ordinary callers should use detailLevel instead. | |
| detailLevel | No | Preferred 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. | |
| givenStrokes | No | ||
| surnameStrokes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| error | No | |
| claims | No | |
| routes | No | |
| blocked | No | |
| dossier | No | |
| sources | No | |
| evidence | No | |
| question | No | |
| sections | No | |
| timeline | No | |
| conflicts | No | |
| selection | No | |
| inputNotes | No | |
| detailLevel | No | |
| limitations | No | |
| nameAnalysis | No | |
| noModelCalls | No | |
| dreamAnalysis | No | |
| executionPlan | No | |
| methodAnalysis | No | |
| readingSummary | No | |
| recommendations | No | |
| calculationSummary | No | |
| omittedTimelineYears | No | |
| interpretationBoundary | No | |
| publicationSideEffects | No |
legend_saju_capabilitiesFind a calculation methodARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| systems | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | No | |
| error | No | |
| query | No | |
| capabilityCount | No | |
| requestedCapabilityContract | No |
legend_saju_cast_divinationCast a traditional divination chartARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| birth | No | Optional natal input when the requested method needs it. | |
| question | Yes | The concrete decision or divination question. | |
| maxClaims | No | Maximum interpretation points and raw claims returned outside debug mode. | |
| lineValues | No | Six I Ching line values, bottom line first. | |
| outputMode | No | Backward-compatible developer projection override. Ordinary callers should use detailLevel instead. | |
| detailLevel | No | Preferred 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. | |
| questionDateTime | No | Casting moment for Qimen, Daliuren, or Tieban question-time calculations. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| error | No | |
| claims | No | |
| routes | No | |
| blocked | No | |
| dossier | No | |
| sources | No | |
| evidence | No | |
| question | No | |
| sections | No | |
| timeline | No | |
| conflicts | No | |
| selection | No | |
| inputNotes | No | |
| detailLevel | No | |
| limitations | No | |
| nameAnalysis | No | |
| noModelCalls | No | |
| dreamAnalysis | No | |
| executionPlan | No | |
| methodAnalysis | No | |
| readingSummary | No | |
| recommendations | No | |
| calculationSummary | No | |
| omittedTimelineYears | No | |
| interpretationBoundary | No | |
| publicationSideEffects | No |
legend_saju_interpret_dreamInterpret a dream from audited traditionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dream | Yes | The dream narrative. Preserve the user's details instead of reducing it to one symbol. | |
| question | Yes | What the user wants to understand about the dream. | |
| maxClaims | No | Maximum interpretation points and raw claims returned outside debug mode. | |
| outputMode | No | Backward-compatible developer projection override. Ordinary callers should use detailLevel instead. | |
| detailLevel | No | Preferred 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. | |
| dreamContext | No | Only context the user actually supplied, such as emotion, setting, relationships, work, or health. | |
| maxDreamMatches | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| error | No | |
| claims | No | |
| routes | No | |
| blocked | No | |
| dossier | No | |
| sources | No | |
| evidence | No | |
| question | No | |
| sections | No | |
| timeline | No | |
| conflicts | No | |
| selection | No | |
| inputNotes | No | |
| detailLevel | No | |
| limitations | No | |
| nameAnalysis | No | |
| noModelCalls | No | |
| dreamAnalysis | No | |
| executionPlan | No | |
| methodAnalysis | No | |
| readingSummary | No | |
| recommendations | No | |
| calculationSummary | No | |
| omittedTimelineYears | No | |
| interpretationBoundary | No | |
| publicationSideEffects | No |
legend_saju_manifestInspect Legend SajuARead-onlyInspect
Return the live, source-traceable deterministic engine manifest. No model or network call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| naming | No | |
| version | No | |
| knowledge | No | |
| sourceCount | No | |
| capabilities | No | |
| deterministic | No | |
| capabilityCount | No | |
| legacyIntentCount | No | |
| publicationSideEffects | No |
legend_saju_read_fortuneRead a Saju fortuneARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | ||
| asOfYear | No | ||
| question | Yes | The user's original request, such as 올해 재물운과 사업운을 봐줘. | |
| maxClaims | No | Maximum interpretation points and raw claims returned outside debug mode. | |
| lifeEvents | No | ||
| outputMode | No | Backward-compatible developer projection override. Ordinary callers should use detailLevel instead. | |
| targetDate | No | The date whose current or future fortune is being read. Supply the current local date for requests such as 올해 운세 or 현재 운세. | |
| detailLevel | No | Preferred 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. | |
| timelineRange | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| error | No | |
| claims | No | |
| routes | No | |
| blocked | No | |
| dossier | No | |
| sources | No | |
| evidence | No | |
| question | No | |
| sections | No | |
| timeline | No | |
| conflicts | No | |
| selection | No | |
| inputNotes | No | |
| detailLevel | No | |
| limitations | No | |
| nameAnalysis | No | |
| noModelCalls | No | |
| dreamAnalysis | No | |
| executionPlan | No | |
| methodAnalysis | No | |
| readingSummary | No | |
| recommendations | No | |
| calculationSummary | No | |
| omittedTimelineYears | No | |
| interpretationBoundary | No | |
| publicationSideEffects | No |
legend_saju_run_methodsRun specific or mixed traditional methodsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Actual Korean name characters for the separate 9,495-entry official-name analysis path. | |
| birth | No | ||
| dream | No | Dream narrative for the source-bounded cross-cultural dream engine. | |
| purpose | No | ||
| asOfYear | No | ||
| question | Yes | Open-ended question. Built-in routing terms cover Korean plus common English, Chinese, and Japanese metaphysics vocabulary. | |
| maxClaims | No | Maximum interpretation points and raw claims returned outside debug mode. | |
| rangeDays | No | ||
| lifeEvents | No | ||
| lineValues | No | ||
| outputMode | No | Backward-compatible developer projection override. Ordinary callers should use detailLevel instead. | |
| targetDate | No | Date or range anchor being analyzed. | |
| detailLevel | No | Preferred 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. | |
| dreamContext | No | Optional emotion, setting, relationship, work, health, or other context explicitly supplied by the user. | |
| givenStrokes | No | ||
| partnerBirth | No | ||
| timelineRange | No | ||
| surnameStrokes | No | ||
| maxDreamMatches | No | ||
| questionDateTime | No | Moment a Qimen, Daliuren, or question-time calculation is cast. | |
| maxAutoCapabilities | No | ||
| requestedCapabilities | No | Optional runtime IDs from legend_saju_capabilities. This is intentionally not an enum. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| error | No | |
| claims | No | |
| routes | No | |
| blocked | No | |
| dossier | No | |
| sources | No | |
| evidence | No | |
| question | No | |
| sections | No | |
| timeline | No | |
| conflicts | No | |
| selection | No | |
| inputNotes | No | |
| detailLevel | No | |
| limitations | No | |
| nameAnalysis | No | |
| noModelCalls | No | |
| dreamAnalysis | No | |
| executionPlan | No | |
| methodAnalysis | No | |
| readingSummary | No | |
| recommendations | No | |
| calculationSummary | No | |
| omittedTimelineYears | No | |
| interpretationBoundary | No | |
| publicationSideEffects | No |
legend_saju_select_datesSelect auspicious datesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | ||
| purpose | No | ||
| question | Yes | The event and constraints for choosing a date. | |
| maxClaims | No | Maximum interpretation points and raw claims returned outside debug mode. | |
| rangeDays | No | ||
| outputMode | No | Backward-compatible developer projection override. Ordinary callers should use detailLevel instead. | |
| targetDate | Yes | Start date for the candidate range. | |
| detailLevel | No | Preferred 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
| Name | Required | Description |
|---|---|---|
| mode | No | |
| error | No | |
| claims | No | |
| routes | No | |
| blocked | No | |
| dossier | No | |
| sources | No | |
| evidence | No | |
| question | No | |
| sections | No | |
| timeline | No | |
| conflicts | No | |
| selection | No | |
| inputNotes | No | |
| detailLevel | No | |
| limitations | No | |
| nameAnalysis | No | |
| noModelCalls | No | |
| dreamAnalysis | No | |
| executionPlan | No | |
| methodAnalysis | No | |
| readingSummary | No | |
| recommendations | No | |
| calculationSummary | No | |
| omittedTimelineYears | No | |
| interpretationBoundary | No | |
| publicationSideEffects | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v0.4.0- Added
legend_saju_analyze_compatibility - Added
legend_saju_analyze_name - Changed
legend_saju_capabilities1 field changed- changed
Output 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" +}
- Added
legend_saju_cast_divination - Added
legend_saju_interpret_dream - Changed
legend_saju_manifest1 field changed- changed
Output 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" +}
- Added
legend_saju_read_fortune - Removed
legend_saju_resolve - Added
legend_saju_run_methods - Added
legend_saju_select_dates
3 tool updates
v0.1.0- First observed
legend_saju_capabilities - First observed
legend_saju_manifest - First observed
legend_saju_resolve
TDQS
Scored across 9 tools
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.
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.
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.
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
Related MCP Connectors
Deterministic BaZi and Chinese metaphysics tools for AI agents: charts, divination, almanac.
Free BaZi, I Ching, tarot, Zi Wei and bilingual learning tools with transparent methods. No API key.
Read-only Bazi, True Solar Time, and Chinese almanac tools in English and Traditional Chinese.
BaZi MCP gateway: 14 tools (6 fortune / 5 forum / 3 meta). API key required. Entertainment only.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.475 npmMIT
- AlicenseAqualityDmaintenanceProvides 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.2MIT

fatenava-mcpofficial
AlicenseAqualityCmaintenanceEnables AI agents to cast deterministic BaZi, Zi Wei Dou Shu, and Western astrology natal charts from birth details, with no setup or API key.168 npmMIT- AlicenseNot gradedqualityBmaintenanceProvides 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