Mingli Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mingli Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
一个支持多种命理系统(紫微斗数、八字、占星等)的 Model Context Protocol (MCP) 服务器,专为 AI 工具(如 Cursor IDE)设计。
新用户推荐阅读路径:
开发者文档:
获取紫微斗数完整排盘信息
参数:
date (string, 必需): 出生日期 YYYY-MM-DD,如 "2000-08-16"time_index (integer, 必需): 时辰序号 0-12gender (string, 必需): 性别 "男" 或 "女"calendar (string, 可选): 历法 "solar"(阳历) 或 "lunar"(农历), 默认 "solar"is_leap_month (boolean, 可选): 是否闰月,默认 falseformat (string, 可选): 输出格式 "json" 或 "markdown", 默认 "markdown"language (string, 可选): 输出语言,可选 "zh-CN", "zh-TW", "en-US", "ja-JP", "ko-KR", "vi-VN",默认 "zh-CN" ⭐ 新增示例:
{
"date": "2000-08-16",
"time_index": 2,
"gender": "女",
"calendar": "solar"
}获取紫微斗数运势信息
参数:
birth_date (string, 必需): 出生日期time_index (integer, 必需): 时辰序号gender (string, 必需): 性别calendar (string, 可选): 历法类型query_date (string, 可选): 查询日期,不填则为今天format (string, 可选): 输出格式language (string, 可选): 输出语言,默认 "zh-CN" ⭐ 新增分析紫微斗数特定宫位
参数:
birth_date (string, 必需): 出生日期time_index (integer, 必需): 时辰序号gender (string, 必需): 性别palace_name (string, 必需): 宫位名称,可选值:calendar (string, 可选): 历法类型format (string, 可选): 输出格式language (string, 可选): 输出语言,默认 "zh-CN" ⭐ 新增列出所有可用的命理系统
获取八字(四柱)排盘信息
参数:
date (string, 必需): 出生日期 YYYY-MM-DDtime_index (integer, 必需): 时辰序号 0-12gender (string, 必需): 性别 "男" 或 "女"calendar (string, 可选): 历法 "solar"(阳历) 或 "lunar"(农历), 默认 "solar"is_leap_month (boolean, 可选): 是否闰月,默认 falseformat (string, 可选): 输出格式 "json" 或 "markdown", 默认 "markdown"示例:
{
"date": "2000-08-16",
"time_index": 2,
"gender": "女"
}输出包含:
获取八字运势信息
参数:
birth_date (string, 必需): 出生日期time_index (integer, 必需): 时辰序号gender (string, 必需): 性别calendar (string, 可选): 历法类型query_date (string, 可选): 查询日期,不填则为今天format (string, 可选): 输出格式输出包含:
分析八字五行强弱
参数:
birth_date (string, 必需): 出生日期time_index (integer, 必需): 时辰序号gender (string, 必需): 性别calendar (string, 可选): 历法类型format (string, 可选): 输出格式输出包含:
claude mcp add mingli -- uvx mingli-mcpcodex mcp add mingli -- uvx mingli-mcp使用 uvx 是最简单的安装方式,无需手动管理依赖:
在 ~/.cursor/mcp.json 或对应IDE的MCP配置文件中添加:
{
"mcpServers": {
"mingli": {
"command": "uvx",
"args": ["mingli-mcp"],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}使用 Docker 部署,适合服务器环境或需要隔离的场景:
# 下载配置文件
mkdir -p /opt/mingli-mcp
cd /opt/mingli-mcp
wget https://raw.githubusercontent.com/spyfree/mingli-mcp/main/docker-compose.yml
# 启动服务
docker-compose up -d然后在MCP配置中使用HTTP连接:
{
"mcpServers": {
"mingli": {
"url": "http://localhost:8080/mcp"
}
}
}适合开发者或需要自定义的场景:
cd /Users/lix18854/Documents/code
# 项目已在 ziwei_mcp 目录中
cd ziwei_mcppython3 -m venv venv
source venv/bin/activate # macOS/Linux
# 或
venv\Scripts\activate # Windows#### 基础安装(stdio模式,推荐)
pip install -r requirements.txt#### 或完整安装(包含HTTP传输支持)
pip install -r requirements-http.txt
# 或使用 pip install .[http]注意: stdio模式无需任何额外配置即可使用,推荐日常使用。HTTP模式仅在需要Docker部署或服务器环境时使用。
cp examples/config/.env.example .env
# 编辑 .env 文件根据需要调整配置chmod +x mingli_mcp.py
python mingli_mcp.py编辑或创建 ~/.cursor/mcp.json:
{
"mcpServers": {
"mingli": {
"command": "/Users/lix18854/Documents/code/ziwei_mcp/venv/bin/python",
"args": ["/Users/lix18854/Documents/code/ziwei_mcp/mingli_mcp.py"],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}注意: 请根据实际路径调整command和args
重启 Cursor IDE 以加载新的 MCP 配置。
ziwei_mcp/
├── mingli_mcp.py # MCP服务器主入口
├── config.py # 配置管理
├── requirements.txt # Python依赖
├── pyproject.toml # 项目配置
├── .gitignore # Git忽略文件
├── README.md # 项目文档
│
├── core/ # 核心抽象层
│ ├── __init__.py
│ ├── base_system.py # 命理系统抽象基类
│ ├── birth_info.py # 生辰信息数据模型
│ └── chart_result.py # 排盘结果数据模型
│
├── transports/ # 传输层(支持多种传输方式)
│ ├── __init__.py
│ ├── base_transport.py # 传输层抽象基类
│ └── stdio_transport.py # stdio传输实现(默认)
│
├── systems/ # 命理系统实现
│ ├── __init__.py # 系统注册中心
│ ├── ziwei/ # 紫微斗数(已实现)
│ │ ├── __init__.py
│ │ ├── ziwei_system.py # 系统实现
│ │ └── formatter.py # 结果格式化
│ ├── bazi/ # 八字(已实现)
│ │ ├── __init__.py
│ │ ├── bazi_system.py # 系统实现
│ │ └── formatter.py # 结果格式化
│ └── astrology/ # 占星(预留)
│ └── __init__.py
│
├── utils/ # 工具函数
│ ├── __init__.py
│ ├── validators.py # 参数验证
│ └── formatters.py # 响应格式化
│
├── docs/ # 文档
│ ├── README.md # 文档索引
│ ├── guides/ # 用户指南
│ ├── deployment/ # 部署文档
│ ├── architecture/ # 架构设计
│ └── development/ # 开发文档
│
├── examples/ # 示例配置
│ └── config/ # 配置文件示例
│ ├── .env.example
│ ├── codex_config.toml.example
│ └── cursor_mcp_config.example.json
│
├── scripts/ # 脚本工具
│ ├── tests/ # 测试脚本
│ └── check_ready_to_publish.sh
│
└── tests/ # 单元测试
└── __init__.py本项目采用插件化架构,添加新命理系统只需3步:
在 systems/ 下创建新目录,实现 BaseFortuneSystem 接口:
# systems/bazi/bazi_system.py
from core.base_system import BaseFortuneSystem
class BaziSystem(BaseFortuneSystem):
def get_system_name(self) -> str:
return "八字"
def get_chart(self, birth_info):
# 实现八字排盘逻辑
return {...}
# 实现其他必需方法...在 systems/__init__.py 中注册:
from .bazi import BaziSystem
register_system('bazi', BaziSystem)在 mingli_mcp.py 的 _handle_tools_list() 中添加工具定义。
就这么简单!无需修改核心框架代码。
当前默认使用 stdio 传输(适用于 Cursor)。未来可扩展:
# transports/http_transport.py
class HttpTransport(BaseTransport):
def __init__(self, host, port):
# 实现HTTP服务器
pass# transports/ws_transport.py
class WebSocketTransport(BaseTransport):
def __init__(self, host, port):
# 实现WebSocket服务器
pass与AI助手(如Claude、Cursor等)对话时,可以直接使用自然语言查询:
紫微斗数示例:
八字示例:
农历支持:
详细查询:
请帮我详细分析:
- 出生日期:2000年8月16日
- 出生时辰:寅时(早上5点)
- 性别:女
- 使用紫微斗数系统
- 重点看事业宫和财帛宫对比分析:
请对比两个人的八字:
人A:1990年5月20日,午时,男
人B:1992年3月15日,辰时,女
看看他们的五行是否相配运势追踪:
请记住这个人的信息:1988年10月1日,未时,男性
然后每个月帮我分析当月运势直接在对话中提问:
帮我排一个紫微斗数盘:2000年8月16日,寅时,女性查询2000年8月16日寅时出生的女性,今天的紫微运势分析上面这个人的命宫帮我看看这个人的五行:1995年7月10日,申时,男性from systems import get_system
# 获取紫微系统
ziwei = get_system('ziwei')
# 准备生辰信息
birth_info = {
'date': '2000-08-16',
'time_index': 2, # 寅时
'gender': '女',
'calendar': 'solar'
}
# 获取排盘
chart = ziwei.get_chart(birth_info)
print(chart)
# 获取运势
from datetime import datetime
fortune = ziwei.get_fortune(birth_info, datetime.now())
print(fortune)
# 分析宫位
palace = ziwei.analyze_palace(birth_info, '命宫')
print(palace)# 运行测试(待实现)
pytest tests/
# 测试单个系统
python -m systems.ziwei.ziwei_system本服务采用零配置设计,所有配置都是可选的,服务器无需任何配置即可直接运行。
如果需要自定义行为,可通过以下环境变量进行配置:
| 环境变量 | 描述 | 默认值 | 示例 |
|---|---|---|---|
LOG_LEVEL | 日志级别 | INFO | DEBUG, INFO, WARNING, ERROR |
TRANSPORT_TYPE | 传输协议类型 | stdio | stdio, http |
HTTP_HOST | HTTP监听地址(仅http模式) | 0.0.0.0 | 127.0.0.1, 0.0.0.0 |
HTTP_PORT | HTTP监听端口(仅http模式) | 8080 | 8080, 3000 |
HTTP_API_KEY | HTTP API密钥(可选) | "" | your-secret-key |
DEFAULT_LANGUAGE | 默认输出语言 | zh-CN | zh-CN, zh-TW, en-US, ja-JP, ko-KR, vi-VN |
方法1: 在MCP配置中设置
{
"mcpServers": {
"mingli": {
"command": "uvx",
"args": ["mingli-mcp"],
"env": {
"LOG_LEVEL": "DEBUG",
"DEFAULT_LANGUAGE": "zh-TW"
}
}
}
}方法2: 使用 .env 文件
# 创建 .env 文件
cat > .env << EOF
LOG_LEVEL=INFO
DEFAULT_LANGUAGE=zh-CN
TRANSPORT_TYPE=stdio
EOF方法3: 系统环境变量
export LOG_LEVEL=DEBUG
export DEFAULT_LANGUAGE=zh-CN
python mingli_mcp.py欢迎贡献代码、报告问题或提出建议!
MIT License
🔮 开始你的命理探索之旅!
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.