使用说明
楚克mcp天体
天文天文数据MCP服务器
MCP(模型上下文协议)服务器,提供月相、太阳/月亮升起/落下 时间、日食预测、地球季节、行星位置/事件, 以及来自美国海军天文应用部API的全天空摘要 以及本地Skyfield计算。
这是一个为学习和测试目的而提供的演示项目。
🌐 立即尝试-托管版本可用! -无需安装。
特性
🌙 综合天体数据:
- 精确计时的月相(新月、第一季度、满月、最后一季度)
- 任何地点的太阳和月亮升起/落下/过境时间
- 结合当地情况的日食预测
- 地球的季节(春分、至点、近日点、远日点)
- 行星位置(高度、方位角、距离、星等、星座、RA/Dec、伸长率、能见度)
- 行星事件(上升、设定、凌日时间)
⚡ 灵活的供应商:
- 海军API -美国海军权威数据,所有功能
- Skyfield -离线计算速度提高28倍,研究级精度(默认包含)
- 混合模式 -按工具混合提供者(例如,月相的Skyfield,日食的Navy)
- S3存储 -通过chuk虚拟fs实现基于云的星历存储
- 文物存储 -计算结果通过chuk工件(S3、文件系统、内存)持久化
- GeoJSON输出 -基于位置的响应遵循GeoJSON功能规范
🔒 类型安全且坚固:
- Pydantic v2模型适用于所有响应-无需字典!
- 所有常量的枚举-没有神奇的字符串!
- httpx完全支持异步/等待
- 全面的错误处理
🔗 多服务器集成:
✅ 质量保证:
- pytest的测试覆盖率超过70%
- GitHub操作CI/CD
- 自动发布到PyPI
- 使用mypy进行类型检查
- 带有褶皱的代码质量
安装
安装方法比较
| 方法 | 设置时间 | 需要互联网 | 更新 | 最适合 |
|---|---|---|---|---|
| 托管 | 即时 | 是 | 自动 | 快速测试,生产使用 |
| uvx | 即时 | 是(首次运行) | 自动 | 无本地安装,始终最新 |
| 本地 | 1-2分钟 | 仅用于安装 | 手动 | 离线使用,自定义部署 |
选项1:使用托管版本(推荐)
无需安装!使用我们的公共托管版本:
{
"mcpServers": {
"celestial": {
"url": "https://celestial.chukai.io/mcp"
}
}
}
选项2:通过uvx安装(无需安装)
无需安装即可直接运行:
{
"mcpServers": {
"celestial": {
"command": "uvx",
"args": ["chuk-mcp-celestial"]
}
}
}
选项3:本地安装
# With pip
pip install chuk-mcp-celestial
# Or with uv (recommended)
uv pip install chuk-mcp-celestial
# Or with pipx (isolated installation)
pipx install chuk-mcp-celestial
默认情况下,Skyfield和NumPy都包含在内——所有7个工具都可以开箱即用。
使用S3工件存储(可选):
pip install "chuk-mcp-celestial[s3]"
然后在MCP客户端中配置:
{
"mcpServers": {
"celestial": {
"command": "chuk-mcp-celestial"
}
}
}
可选:配置混合提供程序模式 (创建 celestial.yaml):
# Use Skyfield for fast queries, Navy API for everything else
default_provider: navy_api
providers:
moon_phases: skyfield # 28x faster
earth_seasons: skyfield # 33x faster
快速开始
安装
# No installation required (runs directly)
uvx chuk-mcp-celestial
# Or install from PyPI
uv pip install chuk-mcp-celestial
# Or install from source with dev tools
git clone https://github.com/chuk-ai/chuk-mcp-celestial.git
cd chuk-mcp-celestial
uv pip install -e ".[dev]"
Claude桌面配置
{
"mcpServers": {
"celestial": {
"url": "https://celestial.chukai.io/mcp"
}
}
}
或者在本地运行:
{
"mcpServers": {
"celestial": {
"command": "uvx",
"args": ["chuk-mcp-celestial"]
}
}
}
跑
# STDIO mode (Claude Desktop, mcp-cli)
chuk-mcp-celestial stdio
# HTTP mode (API access)
chuk-mcp-celestial http --port 8080
支持的提供商
| 提供商 | 速度 | 离线 | 功能 |
|---|---|---|---|
| 海军API (默认) | ~700ms | 否 | 月亮、太阳/月亮、日食、季节。美国政府官方消息来源。 |
| Skyfield | ~25ms | 是 | 月相、季节、行星位置、行星事件。喷气推进实验室星历表 |
默认情况下,这两个提供程序都包含在内,不需要额外的功能。
工具
月相(1个工具)
| 工具 | 说明 |
|---|---|
get_moon_phases |
精确计时的即将到来的月相(UT1) |
太阳和月亮(1个工具)
| 工具 | 说明 |
|---|---|
get_sun_moon_data |
上升/设定/过境时间、黄昏、月相、地点照明 |
日食(2个工具)
| 工具 | 说明 |
|---|---|
get_solar_eclipse_by_date |
本地日食情况(类型、震级、遮蔽、时间) |
get_solar_eclipses_by_year |
一年中的所有日食 |
地球季节(1个工具)
| 工具 | 说明 |
|---|---|
get_earth_seasons |
一年的春分、至点、近日点、远日点 |
行星(2个工具)
| 工具 | 说明 |
|---|---|
get_planet_position |
高度、方位角、距离、震级、星座、RA/Dec、伸长率、能见度 |
get_planet_events |
给定日期行星的上升、设定和凌日时间 |
支持:水星、金星、火星、木星、土星、天王星、海王星、冥王星
天空摘要(1个工具)
| 工具 | 说明 |
|---|---|
get_sky |
全天空总结:每个行星的位置、月相、黑暗检查——一个电话 |
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
CELESTIAL_PROVIDER |
没有 | navy_api |
默认提供程序 |
CELESTIAL_MOON_PHASES_PROVIDER |
否 | 默认值 | 月相提供程序 |
CELESTIAL_EARTH_SEASONS_PROVIDER |
否 | 默认值 | 地球季节提供程序 |
CELESTIAL_PLANET_POSITION_PROVIDER |
没有 | skyfield |
行星位置提供者 |
CELESTIAL_PLANET_EVENTS_PROVIDER |
没有 | skyfield |
行星活动提供商 |
CELESTIAL_SKY_PROVIDER |
没有 | skyfield |
天空摘要提供者 |
CELESTIAL_CONFIG_PATH |
否 | -- | 通往celestial.yaml的路径 |
SKYFIELD_STORAGE_BACKEND |
没有 | s3 |
星历表存储: local, s3, memory |
SKYFIELD_S3_BUCKET |
没有 | chuk-celestial-ephemeris |
S3星历桶 |
NAVY_API_TIMEOUT |
没有 | 30.0 |
请求超时(秒) |
混合提供商模式
创建 celestial.yaml 按工具混合供应商:
default_provider: navy_api
providers:
moon_phases: skyfield # 28x faster, offline
earth_seasons: skyfield # 33x faster, offline
sun_moon_data: navy_api # Full features
solar_eclipse_date: navy_api
solar_eclipse_year: navy_api
planet_position: skyfield # Only provider with planet support
planet_events: skyfield
sky: skyfield # All-sky summary
发展
# Install with dev dependencies
uv pip install -e ".[dev]"
# Run tests
make test
# Run tests with coverage
make test-cov
# Lint and format
make lint
make format
# All checks
make check
部署
托管版本
无需安装:
{
"mcpServers": {
"celestial": {
"url": "https://celestial.chukai.io/mcp"
}
}
}
码头工人
make docker-build
make docker-run
Fly.io
fly launch
fly secrets set AWS_ACCESS_KEY_ID=your_key AWS_SECRET_ACCESS_KEY=your_secret
make fly-deploy
跨服务器工作流
chuk-mcp-astrial与更广泛的chuk-mcp生态系统整合:
- 天体+时间 --时区感知天文学(当地时间日出,直到下一个事件的时间)
- 天体+天气 --观测计划(月相+云量预报)
- 天体+潮汐 --海岸摄影(黄金时段+潮位)
- 天体+天气 --日食观测(日食能见度+天气预报)
{
"mcpServers": {
"celestial": { "url": "https://celestial.chukai.io/mcp" },
"time": { "url": "https://time.chukai.io/mcp" },
"weather": { "url": "https://weather.chukai.io/mcp" }
}
}
许可证
Apache许可证2.0-有关详细信息,请参阅许可证。
学分
- 基于chuk-mcp服务器构建
- 数据由 美国海军天文应用部