Mystilink MCP

An Agent-Used multi-theories metaphysics calculator, which are Bazi, Ziwei Dou Shu, Liuyao, Tarot and Horoscope, providing accurate chart for reading, manifesting and forecasting.

Documentation

Mystilink MCP

Languages: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Español

Listed on mcpservers.org

Overview

Local integration that exposes Mystilink calculator CLIs as MCP tools (stdio) for Agent hosts such as Cursor. Optionally serves the same orchestration over loopback FastAPI on 127.0.0.1 for local debugging.

This package does not compute charts. It spawns installed short CLIs (bazi, ziwei, horoscope, lunar, tarot, liuyao) and returns JSON. Default tool responses use mystilink.envelope/0.1 when the calculator supports --envelope.

There is no remote HTTP/HTTPS service to deploy. The FastAPI entry is localhost-only.

Delivery type

This repository is an MCP / local integration package. It does not implement the C / C++ / C# / Java / JavaScript / Python language matrix used by calculator libraries.

Requirements

  • Python 3.10+
  • Calculator CLIs on PATH (install the corresponding packages), or set MYSTILINK_*_CLI env vars
SystemShort CLIEnv override
lunarlunarMYSTILINK_LUNAR_CLI
bazibaziMYSTILINK_BAZI_CLI
ziweiziweiMYSTILINK_ZIWEI_CLI
horoscopehoroscopeMYSTILINK_HOROSCOPE_CLI
tarottarotMYSTILINK_TAROT_CLI
liuyaoliuyaoMYSTILINK_LIUYAO_CLI

Install

cd mystilink-mcp
python3 -m pip install -e .

# optional local FastAPI extras
python3 -m pip install -e '.[local-api]'

Probe CLIs:

mystilink-mcp status
mystilink-mcp version

MCP (stdio)

Default entry starts the MCP server on stdio:

mystilink-mcp
# same as:
mystilink-mcp stdio

Cursor MCP config example

See examples/cursor-mcp.json. Typical shape:

{
  "mcpServers": {
    "mystilink": {
      "command": "mystilink-mcp",
      "args": ["stdio"]
    }
  }
}

Ensure calculator CLIs are on the same PATH as the process Cursor launches.

Tools

ToolCalculator
lunar_convertlunar convert
bazi_calculatebazi calculate
ziwei_chartziwei chart
horoscope_natalhoroscope natal
tarot_drawtarot draw
liuyao_castliuyao cast
list_cli_statusPATH probe
versionpackage version

Most chart tools accept envelope (default true) and optional locale.

Local FastAPI (127.0.0.1 only)

mystilink-mcp local-api
# listens on http://127.0.0.1:8765
# override port: MYSTILINK_MCP_LOCAL_PORT=8765
MethodPath
GET/health
GET/v1/cli-status
POST/v1/lunar/convert
POST/v1/bazi/calculate
POST/v1/ziwei/chart
POST/v1/horoscope/natal
POST/v1/tarot/draw
POST/v1/liuyao/cast

Example:

curl -s http://127.0.0.1:8765/health
curl -s -X POST http://127.0.0.1:8765/v1/tarot/draw \
  -H 'content-type: application/json' \
  -d '{"seed":123}'

Python API

from mystilink_mcp.tools import bazi_calculate, tarot_draw

chart = bazi_calculate(date="1990-05-15", hour=12, timezone="Asia/Shanghai")
draw = tarot_draw(seed=123)

Limits

  • Requires separately installed calculator packages / CLIs
  • Does not interpret charts or call remote Mystilink product APIs
  • Local FastAPI host is hardcoded to 127.0.0.1

License

MIT. See LICENSE.

Feedback

Report issues with: tool name, CLI version (bazi version, …), and a minimal fictional payload.