星盘生成服务器

Kerykeion MCP Server是一个基于Kerykeion库的星盘生成服务器,支持生成出生图、合盘图、行运图等多种星盘类型,并可与Claude Desktop和ChatGPT Desktop兼容。

  • by Jasperb3
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Jasperb3/kerykeion-mcp

使用说明

Kerykeion MCP服务器

使用MCP(模型上下文协议)服务器生成占星图 Kerykeion 的 图书馆。兼容 克劳德桌面版 和 ChatGPT桌面.

特性

  • 纳塔尔图表 -生成包含行星位置、相位和房屋位置的出生图
  • 突触图表 -两人关系相容性分析
  • 交通图 -目前过渡到出生位置
  • 综合图表 -关系动力学的中点合成
  • 行星回归 -太阳、月球和其他行星返回图(带重新定位支持)
  • 事件图表 -特定时刻图表(选修、计时)
  • 当前职位 -快速查找当前行星位置
  • 方面 -用于AI分析的结构化出生和出生方面列表

输出格式

  • 文本 -针对LLM解释优化的AI可读描述
  • 可缩放矢量图形 -矢量图图像已保存到文件中(响应中返回的路径)
  • 便携式网络图形 -高分辨率(1600px)光栅图像(需要 cairosvg)

占星术基础

  • 星座:默认情况下为热带。每个图表工具都支持Sidereal zodiac_type="Sidereal",但需要明确 sidereal_mode (例如。 "LAHIRI",吠陀/Jyotish工作的标准ayanamsha)——服务器将拒绝没有模式的恒星请求,而不是默默地选择一个。
  • 住宅系统职位("P")默认情况下。其他系统(整体标志 "W"科赫 "K",平等 "A",坎帕纳斯 "C"Regiomontanus "R"莫里纳斯 "M",紫菜 "O"高奎林区 "G")可通过以下方式获得 house_system.
  • 解释性文本:the text 每个响应中的字段都是Kerykeion的结构化字段 to_context 输出——位置、方面和尊严。这不是一种综合阅读;综合发生在消费LLM中,由服务器的解释框架指令(发展框架、没有宿命论/医学预测、房屋依赖索赔的出生时间置信警告)指导。
  • 关系评分: generate_synastry_charts relationship_score 使用Ciro Discepolo的方法——计算特定方面的接触,而不是对关系可行性的整体判断。
  • 验证:如果意义承载参数(房屋系统、黄道带类型、恒星模式、图表风格)无效,则会因教育错误而被拒绝,永远不会被默默地替换。每一个成功的回应都包括 applied_settings,与计算结果完全一致。

隐私

  • 所有计算都是本地和离线的(online=False 无处不在)——出生数据永远不会离开运行此服务器的机器。
  • 主题名称仅在DEBUG中记录;信息级日志忽略了个人数据。
  • 图表文件被写入 ~/.kerykeion_charts 默认情况下,或自定义目录(请参见 output_dir / KERYKEION_OUTPUT_BASE 在......下面
  • 默认的HTTP绑定仅为环回(127.0.0.1);绑定到所有接口需要明确的选择加入并记录警告。

安装

使用紫外线(推荐)

cd kerykeion-mcp
uv sync

使用pip

pip install -e .

PNG支持的系统依赖关系

对于PNG转换,您需要开罗图形库:

# Ubuntu/Debian
sudo apt install libcairo2-dev

# macOS
brew install cairo

# Windows - See cairosvg documentation

用法

开发模式(MCP检查器)

uv run mcp dev src/kerykeion_mcp/server.py

MCP检查器打开自己的本地UI(通常 http://localhost:6274)--它不在 :8000/mcp.

Claude桌面配置

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "kerykeion-charts": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/kerykeion-mcp",
        "python", "-m", "kerykeion_mcp.server"
      ]
    }
  }
}

或直接安装:

uv run mcp install src/kerykeion_mcp/server.py --name "Kerykeion Charts"

ChatGPT桌面配置

重要:ChatGPT要求MCP连接器使用HTTPS URL。您需要通过隧道连接本地服务器。

  1. 使用Streamable HTTP传输启动服务器:

    uv run python -m kerykeion_mcp.server --http
    

    服务器运行于 http://127.0.0.1:8000 默认情况下。通过 --host 0.0.0.0 如果你需要隧道到达它,可以绑定所有接口——这会将服务器(接受出生数据并写入文件)暴露给你的本地网络,所以只能在受信任的网络上进行。

  2. 创建HTTPS隧道 使用ngrok(或类似):

    ngrok http 8000
    

    你会得到一个类似的URL: https://abc123.ngrok-free.app

  3. 添加到ChatGPT:

    • 启用开发人员模式:设置→ 连接器→ 高级→ 开发人员模式
    • 添加MCP服务器URL: https://abc123.ngrok-free.app

--sse (传统的HTTP+SSE传输)仍然适用于较旧的客户端,但已被弃用,取而代之的是 --http.

可用工具

工具 说明
generate_natal_chart 创建出生图表
generate_synastry_chart 关系兼容性分析
generate_transit_chart 当前或特定转世到出生地
generate_composite_chart 适合情侣的中点组合
generate_planetary_return 太阳能/月球返回,可选择搬迁
generate_event_chart 任何特定时刻的图表
get_current_positions 当前行星位置(仅文本)
get_aspects 获取无图像的出生图表方面
get_synastry_aspects 获取图表间的兼容性特性
get_chart_patterns 检测Stellium、T形方块、三角/十字架、yods、风筝和元素/模式平衡

通用参数

大多数图表工具接受:

  • 拉特/液化天然气:坐标(正N/E,负S/W)
  • tz_str:IANA时区(例如,“欧洲/罗马”、“美洲/纽约”)
  • 城市/国家:图表标题的可选标签(计算始终使用lat/lng;如果省略,则使用坐标派生标签,如 "41.90N, 12.50E" 使用而不是默认为Greenwich)
  • 主题:“经典”、“亮”、“暗”、“草莓”、“深高对比度”
  • 语言:“EN”(默认)、“IT”、“FR”、“ES”、“PT”、“CN”、“RU”、“TR”、“DE”、“HI”
  • 房屋系统:“P”(Placidus)、“W”(Whole Sign)、“K”(Koch)、“M”(Morinus)等。
  • 黄道带类型 / 恒星健康模式:“Tropical”(默认)或“Sidereal”(需要 sidereal_mode例如“LAHIRI”)
  • 输出格式:“文本”、“图像”或“全部”
  • output_dir:保存图表图像的自定义目录(可选;必须在下解析 ~/.kerykeion_charts 或 KERYKEION_OUTPUT_BASE)
  • 图表风格:“full”(默认)、“wheel_only”或“aspect_grid”

generate_planetary_return 另外接受 return_month/return_day (默认为今天,因此从1月份开始,月球返回不会被困在搜索中), return_lat/return_lng/return_tz_str 为该人的当前位置而不是出生位置绘制返回图,以及 return_city/return_nation 标记该位置(重新定位将默认返回坐标标签)。Sidereal回报图因解释错误而被拒绝——见路线图。

generate_synastry_chart 回报 relationship_score 作为一个对象(value, description, is_destiny_sign, breakdown, scale, note)使用Ciro Discepolo的方法——这是众多镜头中的一个,而不是对关系可行性的判断。

响应格式

每个工具都会返回 status (“成功”或“错误”),成功后, applied_settings 准确报告计算结果:

{
  "status": "success",
  "chart_type": "Natal",
  "subject_name": "Test",
  "applied_settings": {
    "house_system": "P (Placidus)",
    "zodiac_type": "Tropical",
    "sidereal_mode": null,
    "theme": "classic",
    "language": "EN",
    "chart_style": "full"
  },
  "text": "AI-readable chart analysis...",
  "svg_path": "/home/user/.kerykeion_charts/natal_test_20260106.svg",
  "png_path": "/home/user/.kerykeion_charts/natal_test_20260106.png",
  "output_dir": "/home/user/.kerykeion_charts"
}

无效输入返回结构化错误,而不是原始异常:

{
  "status": "error",
  "error": "Longitude 500.0 is outside the valid range -180 to +180 (positive = East).",
  "hint": ""
}

备注:图表图像保存到文件中,而不是内联返回。这使响应保持较小,并防止MCP客户端显示“工具结果太大”消息。AI助手可以直接从以下位置读取SVG文件 svg_path 如果需要嵌入。

在Claude Artifacts中嵌入图表

方法1:读取SVG文件(推荐)

AI助手可以直接从以下位置读取SVG文件 svg_path 并将其内容嵌入HTML工件中。

方法2:带文件路径的PNG

响应包括 png_path 对于本地文件链接:

![Chart](file:///C:/Users/.../chart.png)

从本地路径下载markdown文件-图像渲染。

示例用法

询问克劳德或ChatGPT:

为1990年6月15日下午2:30在罗马出生的人制作出生图 (纬度:41.9028,液化天然气:12.4964,时区:欧洲/罗马)”

“制作一张比较人a(1985年1月1日出生于纽约市)的结对图 B(1987年12月25日生于伦敦)

“目前我的出生星盘上的行星凌日是什么?”

提示

服务器包括预定义的提示来引导对话:

  • natal_chart_prompt -用于创建出生图表的模板
  • synstry_prompt -关系兼容性模板
  • transit_prompt -运输分析模板

路线图

  • 未知出生时间支持 --中午违约,角度/房屋被抑制,因此房屋相关索赔在未知时间内从未提出。
  • 年度利润工具 --时间领主技术,与现有的回报图自然配对。
  • 太阳弧方向 --一种广泛使用的预测技术,不包括过境或返回。
  • Sidereal收益图 --上游受阻:克赖肯的返回搜索将出生恒星经度与过境恒星经度相匹配 热带的 经度(经探测器验证,LAHIRI有约25天的假期),因此服务器拒绝恒星回报,而不是默默地发送错误的图表。
  • 运输方面列表工具 --故意拖延;以马内利MCP的 transit_to_natal 工具已经涵盖了这个堆栈中的快速传输方面分析。

许可证

麻省理工学院