Skip to main content
Glama
SihyeonJeon

legend-saju

by SihyeonJeon

Legend Saju

Это не обёртка, которая передаёт несколько знаков саджу в LLM. Это движок восточной метафизики, который возвращает структурированные расчётные формулы, школы, источники и неопределённости.

CI License TypeScript

Одни и та же дата рождения рассчитывается по нескольким традициям. В расчётном пути нет скрытых вызовов LLM.

777 знаний с привязкой к источникам · 720 бюро далюжэнь · 9 495 наблюдений корейских ханча для имён · 0 вызовов модели на расчётном пути

Legend Saju обращается с расчётами разных традиций в одном движке: саджу и минли, цзывэй доу шу, ци мэнь дунь цзя, далюжэнь, тебань шэн шу, сонмёнхак и другие. Если школы расходятся, их не загоняют в один вывод; если время рождения неизвестно, не выдумывается произвольный час.

Самый быстрый способ начать

Текущая публичная версия включает одновременно локальный STDIO MCP и удалённый MCP через HTTPS. Локальный сервер можно запустить без отдельного API-ключа, если установлен Node.js 20 или выше.

Подключение к удалённому серверу без установки

Публичная точка входа MCP находится по адресу:

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

В Codex подключиться можно следующей командой:

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

Удалённый сервер не хранит входные значения и не вызывает API модел. На публичную точку входа действуют ограничения на размер запроса, количество запросов в минуту и число одновременных выполнений. Если вы not хотите отправлять дату рождения или имя на внешний сервер, используйте локальный способ ниже.

Установка в качестве плагина

В Codex и настольном ChatGPT может установить плагин, в котором вместе объединены MCP-подключение и инструкции по использованию естественного языка. Сначала добавьте этот репозиторий как источник плагинов.

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

Затем на экране Plugins достаточно установить Legend Saju. Этот способ использует открытый удалённый MCP, поэтому Node.js или отдельный API-ключ не нужен. Регистрация в публичном каталоге плагинов ChatGPT для веба — это отдельный этап с подачей заявки и ревью.

Подключение одной строкой в Codex

Terminal terminal run the following command.

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

Проверьте, что подключение прошло.

codex mcp list

Запустите Codex заново; если в /mcp видно legend-saju, установка закончена. Теперь можно задавать вопросы обычным образом, не называя имена инструментов или JSON.

Женщина, 30 июля 2000 года, 8:44 утра. Посмотри умно карьеру, деньги, брак и ближайшие три года.

Мужчина, 14 июля 1999 года, 11:24, женщина, 30 июля 2000 года, 8:44. Посмотри Совместимость и расчёт времени свадьбы.

Имя Kim Sang Су., иероглифы 金相洙. Отдельно от саджу проанализируй также основания учения имён.

Codex CLI, расширение Codex IDE и настольное приложение ChatGPT используют один и тот же конфигурации MCP Codex. Подробнее about support see the OpenAI MCP guide.

Подключение из других MCP-клиентов

В любом клиенте, поддерживающем MCP STDIO, можно использовать следующую конфигурацию запуска. Расположение файла настроек зависит от клиента.

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

Если нужно зафиксировать локальный источник, можно собрать репозиторий и напрямую использовать CLI-обёртку.

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

Локальный способ требует один раз выполнить npm ci && npm run build в корне репозитория.

Можно ли этим сразу пользоваться в вебе ChatGPT?

HTTPS-сервер удалённого MCP был готов. Однако появление публичного URL и регистрация в каталоге плагинов ChatGPT — это разные этапы. В режиме разработачика или в клиентах, поддерживающих удалённое MCP-подключение, приведённый выше URL можно использовать напрямую. Чтобы пользователи один стар получить установочный плагин, остаётся отдельный процесс регистрации и ревью.

Related MCP server: mcp-luopan

Что делает MCP

MCP-сервер предоставляет три инструмента read-only.

Тост

Функция

legend_saju_manifest

Показывает методы расчёта, источники и состав данных текущего движка

legend_saju_capabilities

Находит подходящий метод расчёта для запроса на естественном языке

legend_saju_resolve

Принимает запрос и входные значения и запускает подходящие методы

Три инструмента не три функции. Это маленький входной вход в большой реестр функции: его просмотр, поиск и запуск.

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

Legend Saju MCP сам по себе does not read OpenAI or Anthropic API-ключ and does not call models. Для разговора и пояснительных текстов используется существующая модельная сессия текущего клиента — Codex, Claude или другого.

Отличие MCP от прилагающего плагина

  • Если подключить т и базовое движение и три инструмента станут доступны сразу.

  • В Codex-плагине plugins/legend-saju/ собраны MCP-настройки и инструкции по естественному способу. Он улучшает обработку на сторону модели-хозяина, чтобы пользователю не вынуждать выбрать capability ID или входную схему.

  • Расчётные возможности внутри плагина не сильно утоньшены. MCP и плагин use одну и ту же публичную точку входа в движок.

Естественно-языковой ввод

Интерфейсом, который продуман в этом проекте, является диалог, а не форма приёма или меню интентов. Модель извлекает из диалога только надёжную информацию, находит нужный метод расчёта и объясняет основания, которые вернул движок.

2004년 8월 3일 양력 남자고 태어난 시간은 몰라.
경기도 구리에서 태어났어. 앞으로 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 и пока не опубликован в npm.

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);

Возвращается не готовый текст гадания, а данные-основание для расчёта и интерпретации.

{
  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;
}

Зачем это создано

Многие AI-сервисы в area динамики start с промпта. Legend Saju начинает на уровень ниже есть calculations and foundations.

  • Детерминированное ядро: одинаковый вход даёт одинаковый результат без LLM.

  • Сохранение школ: Different view in Mingli or the Saho chips in Zhivei Doushu сохраняются как отдельные результаты.

  • Обработка неизвестного времени рождения: unknown hour is computed as a set of candidates and не выдумывается в полден.

  • Отслеживание sources: для каждой функции ставится зрелость, роль доказательства, школа, идентификатор источника and missing dimensions.

  • Никакого сокращённого «балла судьбы»: не объединяют основания и конфликты разных систем в единую цифру.

Фактические опубликованные данные

Репозиторий должен публиковать не только интерфейс для вызова моделей, но и письменную работу над сложными данными и правилами.

Запас

Диапазон выкладки

Многоязычная база знаний по восточной метафизике

36 fields, 777 evidence items

Глоссарий по минли

777 слов, including Korean · Hanja · Japan

Глоссарий по шанвэй Душу

214 слов (отсортированы по языкам)

by language

Проренв г Дуюн баоджан

"日日⨯月月" 120 cells + 66 executable exceptions

Теория дворцов и звёзд Шанцвей Душу

163 structured rules and 3 different systems of Sihua computed separately

ДалюЖж

60 day-stem × 12 heavenly branch, closed 720-transmitted table

"Железным верным" время?

1,500 wall, 32? 144 first, 2,028 in Life

Korea name study

9 495 observций юридических канча "Изучение имени" регулярно и 2 003 strokes shape, 2 003 observations

81 "числа" with specified range of origin

all 81 rows and primary source comparison

Исследования снов

《Zhou Gong》 988 dreams, Artemidorus 211 fragments, cross-cultural audit seeds 5

Проверяемые исходные данные лежат в отдельных открытых datasets.

В Мое repository, transfer everything as source, data/ [data/README.md].

Raw extraction result fixed by file; single optimized computation path совпадал побайтово с прежними result на 144 комбинациях Цаньвэй Душу. Details are in docs/PARITY.md.

Объём реализации

Система

Актуальные границы реализации

Календарь, натальная карта Saju

конвортация solar/lunar/leap, восемь иероглифов, большой периода, границы дат

命理

месячная сила, основания, hidden обрасти, десяти столпов? signals, three methods "божественного" корня, 120 cells of "Цзюнтун баоцзян"

Цзывей Доу Шу

Двенадцать дворцов, Три стороны и четыре угла, multiple Sihua profile, chain star connection, stacked layers

Daniel

closed table 60 day branches × 12 godly branch + boundary explicitness

Ци мэнь

"Метод"?" early decomposition all

"Cycles" (sext)

"Хuanji" long chains for three board + 14 series of personal wan si, 108-year chart

Корейская наука имен

9 549 hanja immutable, unicode and glyph decontext, horizontal "five" arithmetic stated by user, 81 with source

Better than trusting fixed numbers in README, call it getEngineManИровать() for the current "current registry" — it is more accurate.

The time of birth is treated as local civil time. timezone and longitudeE are saved in the birth metadata, but the base chart doesn't silently apply a correction of approximate true solar time. This lack is recorded in the function and input audit metadata.

"Wrong birth data" are returned through a structured blocked path, so that request can be changed together with other results. Non-existent targetDate or questionDateTime cannot safely run all date-based calc, so the request is rejected.

One open entry point

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

resolve({ question, ...inputs }) searches the current registry, routes the question, calls executable calculators and returns all needed but not missing entries. requestedCapabilities accepts not closed enum, but general strings. Therefore adding a new module to the engine doesn't require rewriting all client schemas.

If you pass a name to the name argument of resolveAsync, a separate Korean name-study path opening. The actual name Han characters are compared against 9,495 observed snapshots. It keeps in separate evidence layers: legal usability, assigned reading, observed stroke count, each Unicode, glyph decomposition, explicitly chosen five-frame calculation, cross-check with 81 "fortune numbers".

The existing synchronous resolve is compatible with users who only need calculations. The async variant lazily loads large name-study data only when a name is passed, so it does not increase startup cost for common saju tasks.

analyze(input) is an API with typed "born" specification. query({ intent, ... }) is the 26-intent compatibility interface used by legacy content bot. Content creation, prompt and publishing automation are not mixed into the compute core.

Performance

Reproducible benchmarks included.

npm run benchmark

On the current Apple Silicon dev machine/Node 26, the optimized current values were: median time for natal chart query 1.13 ms, median for full detailed natal chart with known birth time approx. 600 ms, median for New Process 63.1 ms import. These are engineering observations that can vary with hardware/environment. The current environment and method are given in PERFORMANCE.md.

When birth time is unknown

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

The engine returns separately the fixed pillar, changing relation, and all candidate hour pillars. It can compare candidates against past events, but it never decides one birth time by itself.

Скорее методология, чем мистика

Проект различает следующие этапы.

  1. расчёт календаря и натальной карты

  2. изучение структуры

  3. interpretation in separate school

  4. synthesis of multiple systems

  5. Описание, written by human or LLM

Прежде чем претендовать на product-level, прочти Methodology and Feature Limits.

Actual development process: development order, multilingual queries, executable agent "tasks". For maintainers, the GitHub release checklist is in docs/RELEASING.md.

Release status

Supported generation object is public GitHub source. package.json is marked private to avoid publishing to npm. npm run release:check checks that the public files match image in source and no common secret patterns appear. Data sources and publishing scope are described in DATA_LICENSES.md and release-boundary.json.

Next steps

  • Optional input screen for those not using MCP clients

  • strengthening remote MCP stability and optional authentication

  • Standalone input screen that works non-public "default private"

  • Separate license on dream interpretation data package

  • additional reference fixed values with independent review for each school

Responsible use

Legend Saju lets the traditional doctrinal systems be reproduced and compared. "Passes validation" means it reproduces the documented calculations, not that the prediction of accuracy is proven in the scientific sense. Do not use it as a replacement for medical, legal, financial, or psychological experts.

License

Project code is Apache-2.0. External libraries and data sets are subject to licensing. See DATA_LICENSES.md and THIRD_PARTY_NOTICES.md.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
4Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    44
    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 perform Chinese metaphysics calculations including BaZi charts, Tong Shu indicators, solar terms, and more, using a verified engine with 740+ tests.
    8
    8
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides traditional Chinese astrology (Bazi, Ziwei) and divination (Liuyao, Meihua, Qimen, etc.) calculations as MCP tools for AI assistants.
    17
    28
    103
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Chinese metaphysics (bazi, qimen, 5-element) as decision-support tools for AI agents.

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

  • Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SihyeonJeon/legend-saju'

If you have feedback or need assistance with the MCP directory API, please join our Discord server