CelestialMCP赤道坐标工具
根据系统时间和可配置位置,提供天体的海拔-方位角坐标,包括行星、超过117,000颗恒星和14,000个深空天体。
服务介绍
CelestialMCP
一个为 Claude AI 提供的 Model Context Protocol (MCP) 服务器,提供了计算天体位置、升起/落下时间以及其他天文数据的工具。
概述
CelestialMCP 是使用 mcp-framework 构建的,并利用了 astronomy-engine 库来提供准确的天文计算。它提供了几种工具,用于确定天体的位置,计算它们的升起和落下时间,以及从恒星和深空天体目录中列出可用对象。
功能
- 天体位置计算:从地球上指定位置获取任何天体的高度和方位坐标
- 升起/落下时间计算:找到特定地点上天体的升起、过境和落下的时间
- 详细天体信息:获取包括以下内容在内的关于天体的全面信息:
- 距离(对于太阳系内的天体)
- 相位信息(对于月球和行星)
- 即将到来的月相(对于月球)
- 广泛的天体目录:包含:
- 太阳系天体(太阳、月球、行星)
- 来自 HYG 数据库的 5,500 多颗恒星
- 来自 NGC 目录的 14,000 多个深空天体
工具
该包包含三个主要工具:
- getCelestialPosition:计算天体的高度/方位坐标
- getCelestialDetails:提供有关天体的详细信息
- 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
致谢
- astronomy-engine 为核心天文计算
- mcp-framework 为 MCP 服务器实现
- HYG 数据库为恒星数据
- OpenNGC 为深空天体数据