C

CelestialMCP赤道坐标工具

@Rkm1999/CelestialMCP
1 Stars 390 次浏览 Rkm1999 更新于 2026-08-23

根据系统时间和可配置位置,提供天体的海拔-方位角坐标,包括行星、超过117,000颗恒星和14,000个深空天体。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

CelestialMCP

一个为 Claude AI 提供的 Model Context Protocol (MCP) 服务器,提供了计算天体位置、升起/落下时间以及其他天文数据的工具。

概述

CelestialMCP 是使用 mcp-framework 构建的,并利用了 astronomy-engine 库来提供准确的天文计算。它提供了几种工具,用于确定天体的位置,计算它们的升起和落下时间,以及从恒星和深空天体目录中列出可用对象。

功能

  • 天体位置计算:从地球上指定位置获取任何天体的高度和方位坐标
  • 升起/落下时间计算:找到特定地点上天体的升起、过境和落下的时间
  • 详细天体信息:获取包括以下内容在内的关于天体的全面信息:
    • 距离(对于太阳系内的天体)
    • 相位信息(对于月球和行星)
    • 即将到来的月相(对于月球)
  • 广泛的天体目录:包含:
    • 太阳系天体(太阳、月球、行星)
    • 来自 HYG 数据库的 5,500 多颗恒星
    • 来自 NGC 目录的 14,000 多个深空天体

工具

该包包含三个主要工具:

  1. getCelestialPosition:计算天体的高度/方位坐标
  2. getCelestialDetails:提供有关天体的详细信息
  3. listCelestialObjects:按类别返回可用的天体列表

快速开始

# Install dependencies
npm install

# Build the project
npm run build

# Start the server
npm start

与 Claude Desktop 一起使用

本地开发

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

Windows: %APPDATA%/Claude/claude_desktop_config.json
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "CelestialMCP": {
      "command": "node",
      "args":["/absolute/path/to/CelestialMCP/dist/index.js"]
    }
  }
}

目录数据

本项目包括一个脚本来获取天文目录数据:

# Fetch star and deep sky object catalogs
npm run fetch-catalogs

这会将 HYG 恒星数据库和 NGC 深空天体目录下载到 data/ 目录。

工具使用

这里有一些使用这些工具与 Claude 的示例:

获取对象位置

询问 Claude:“从温哥华看,木星当前在天空中的位置是什么?”

获取对象详情

询问 Claude:“今天在温哥华,月亮什么时候升起和落下?”

列出可用对象

询问 Claude:“给我看看我可以查找的星星列表。”

项目结构

CelestialMCP/
├── src/
│   ├── tools/            # MCP Tools
│   │   ├── CelestialPositionTool.ts
│   │   ├── CelestialDetailsTool.ts
│   │   └── ListCelestialObjectsTool.ts
│   ├── utils/
│   │   └── astronomy.ts  # Core astronomy calculations
│   ├── config.ts         # Observer configuration
│   └── index.ts          # Server entry point
├── scripts/
│   └── fetch-catalogs.js # Script to download star catalogs
├── data/                 # Catalog data files
│   ├── hygdata_v41.csv   # HYG star database
│   └── ngc.csv           # New General Catalogue
├── package.json
└── tsconfig.json

默认配置

默认情况下,观察者的位置设置为加拿大的温哥华。您可以在 src/config.ts 中更改此设置:

export const OBSERVER_CONFIG = {
  latitude: 49.2827,    // Observer latitude
  longitude: -123.1207, // Observer longitude
  altitude: 30,         // Observer altitude in meters
  temperature: 15,      // Default temperature in Celsius
  pressure: 1013.25     // Default pressure in hPa
};

许可证

MIT

致谢

相关 MCP 服务