用途
Asterwise MCP Server 将占星与占卜计算封装为 MCP 工具,使支持 MCP 协议的 AI 客户端(如 Claude Desktop、Cursor、VS Code)能够调用吠陀占星(Jyotish)与西洋占星的计算能力,并生成遵循古典 Jyotish 方法的解读。
主要能力
服务器共暴露 118 个只读工具,按 Python 模块组织。分类反映代码结构,部分工具跨传统使用(例如合婚工具同时包含梵语 Dashakoot 与泰米尔 Porutham 方法)。
- western — 25 个工具(星盘、行运、回归、推运、空亡月亮、行星时、profection、日月食、日视图、日常因素、事件、卜卦、象征)
- natal — 13 个工具(星盘、大运树、上升系统)
- factors — 5 个工具(tarabala、吠陀日常因素、吠陀事件、BPHS 象征、参考盘)
- numerology — 11 个工具(档案、相容性、生命灵数)
- tarot — 9 个工具(抽牌、牌阵、花色参考)
- vedic_reference — 8 个工具(nakshatra、行星性质、ayanamsha、古典参考)
- numerology_gaps — 7 个工具(表达、灵魂驱策、人格、成熟、平衡、业力、个人周期)
- panchanga — 6 个工具(含所有肢体与时刻的 Panchanga 日、月历、muhurta 搜索、choghadiya、rahu kaal、hora)
- crystals — 5 个工具(列表、按行星、推荐、单项)
- dasha — 5 个工具(vimshottari、ashtottari、yogini、char、行运)
- matchmaking — 5 个工具(dashakoot、porutham、thirumana、papasamyam、相容性)
- horoscope — 4 个工具(每日/每周/每月/每年)
- yoga_dosha — 4 个工具(yogas、doshas、sade sati、pitra dosha)
- angel_numbers — 3 个工具(今日、个人、查询)
- varshaphal — 3 个工具(年盘、saham、harsha bala)
- dreams — 2 个工具(符号、个人)
- panchanga_ext — 3 个工具(节日与斋戒日历、泰米尔 panchanga、地点名称地理编码)
完整工具列表见 docs.asterwise.com 或 MCP 服务器的工具列表端点。
精度与验证
每个位置均与独立运行的瑞士星历表进行验证(asterwise.com/proof),并与 NASA JPL Horizons 对照,在 80 个位置上中位误差为 0.050 角秒(asterwise.com/accuracy)。与其他七个占星 API 的对比见 asterwise.com/compare。
使用方式
快速开始
- 获取 API Key:在 asterwise.com/dashboard 免费注册,Sandbox 层级每月 500 次调用,无需信用卡,无时间限制。
- 连接 Claude Desktop:在 ~/Library/Application Support/Claude/claude_desktop_config.json 中添加配置。
- 连接 Cursor:在项目的 .cursor/mcp.json 中添加配置。
- 测试连接。
认证方式(支持三种)
- 方式一 — API Key(快速开始):将 Asterwise API Key(以 aw_ 开头)作为 Authorization: Bearer <api-key> 或 X-API-Key: <api-key> 头传递。两者等价,视 MCP 客户端能力选用。
- 方式二 — OAuth 2.1(生产环境):用 API Key 换取短期令牌,返回 {"access_token": "...", "expires_in": 3600, ...},然后使用 Authorization: Bearer <access_token>。访问令牌是无状态 HS256 JWT,API Key 以 JWT_SECRET 派生的密钥加密后携带在令牌内,sub 声明中仅出现密钥的 SHA-256 哈希。JWT_SECRET 须保密。
- 方式三 — OAuth 2.1 授权码(面向 MCP 客户端:Claude、Cursor、VS Code、Smithery):客户端通过标准授权码流程配合 PKCE(S256)登录,发现端点在 /.well-known/oauth-authorization-server。支持两种客户端标识方式:
- Client ID Metadata Documents(当前 MCP 规范首选):使用 HTTPS URL 作为 client_id,该 URL 须提供 JSON 文档,其中 client_id 等于该 URL,并含 client_name、redirect_uris 及 token_endpoint_auth_method: "none"。此类客户端是公共客户端:无密钥,仅 PKCE,支持 authorization_code 与 refresh_token 授权,刷新令牌每次使用后轮换。重定向 URI 须为 https,或 localhost / 127.0.0.1 / [::1] 上的 http(端口忽略,依 RFC 8252)。可复制的参考文档:https://asterwise.com/public/oauth/example-client.json。
- Dynamic Client Registration(POST /oauth/register,MCP 规范中已废弃但仍支持):返回 client_id 与 client_secret,在 /oauth/token 处需要该 secret。
服务器以 SSRF 防护获取元数据文档(仅公共地址、不跟随重定向、64 KB、10 秒),并按文档的 Cache-Control: max-age 缓存(60 秒至 24 小时,默认 1 小时)。同意页面显示发布该文档的主机。
stdio 接入
对于使用 stdio 而非 HTTP 的主机(Glama 托管构建、本地 Claude Desktop 条目、快速测试):通过 stdio 时密钥来自 ASTERWISE_API_KEY;服务器在没有密钥时也能启动并列出工具,但工具调用需要密钥。日志输出到 stderr。
本地运行
复制 .env.example 为 .env 并至少设置相应变量。uvicorn server:app 与生产 Dockerfile 及 railway.toml 使用相同的入口点,因此本地也具备认证中间件、OAuth 路由与 /health。运行时依赖固定在 requirements.txt,requirements-dev.txt 增加测试工具。
适用场景
适用于需要在 AI 客户端内进行吠陀或西洋占星排盘、大运计算、合婚匹配、Panchanga 查询、数字命理与塔罗抽取等操作的场景。
限制
- 工具均为只读。
- 免费 Sandbox 层级每月 500 次调用。
- 官方文本中关于收费与价格的描述仅提及 Sandbox 免费层级,其他层级价格暂未提供。
- 覆盖要求:核心模块(auth、client、errors、logging_config、models、runtime、server)强制 78%,工具模块不在覆盖门禁内(见 .coveragerc)。
- 许可:MIT,见 LICENSE。安全报告见 SECURITY.md。状态页:https://status.asterwise.com。
- 官方文本中关于具体安装命令、环境变量完整列表等内容未在资料中给出,暂未提供。