CelestialMCP

CelestialMCP

🚀 天文MCP

天文MCP是为Claude AI量身打造的模型上下文协议(MCP)服务器,可精准计算天体位置、升起和落下时间,以及提供其他丰富的天文数据。

🚀 快速开始

# 安装依赖
npm install

# 构建项目
npm run build

# 启动服务器
npm start

✨ 主要特性

功能

  • 天体位置计算:能获取指定地点地球上空天体的仰角与方位坐标。
  • 升起/落下时间计算:可查找天体从特定地点升起、通过天顶和落下的时间。
  • 详细天体信息:提供天体的全面信息,涵盖:
    • 距离(针对太阳系天体)
    • 相位信息(月球及行星)
    • 未来月相(仅限月球)
  • 丰富的天体目录:包含:
    • 太阳系天体(太阳、月球、行星)
    • HYG数据库中的5,500 + 颗恒星
    • NGC目录中的14,000 + 深空天体

工具

此包包含三个主要工具:

  1. getCelestialPosition:计算天体的仰角与方位坐标。
  2. getCelestialDetails:提供天体的详细信息。
  3. listCelestialObjects:返回按类别划分的可用天体列表。

📦 安装指南

与Claude Desktop一起使用

本地开发

在你的Claude Desktop配置文件中添加以下内容:

  • Windows%APPDATA%/Claude/claude_desktop_config.json
  • MacOS~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"天文学MCP": {
"command": "node",
"args":["/path/to/celstial-mcp/index.js"]
}
}
}

下载星图数据

运行以下命令下载并更新恒星目录:

npm run fetch catalogs

💻 使用示例

基础用法

查询天体位置

const response = await fetch('/api/celstial/position', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
celestialBody: 'Jupiter',
date: new Date().toISOString()
})
});

获取天体信息

const response = await fetch('/api/celstial/details', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
celestialBody: 'Moon'
})
});

📚 详细文档

默认配置

项目默认将观察者位置设为温哥华,具体参数如下:

属性 详情
纬度 49.2827° N
经度 123.1207° W
海拔高度 0 m
时区 America/Vancouver

用户可编辑config.json以匹配自身位置参数。

项目结构

  • src/
    • tools/:天文计算核心工具
    • utils/:辅助功能模块
    • config.js:配置管理文件
    • index.js:服务器入口程序
  • scripts/:包含数据下载和处理脚本
  • data/:存储本地目录数据

🔧 技术细节

天文MCP基于mcp - framework构建,并借助astronomy - engine库实现精确的天文计算。

📄 注意事项

⚠️ 重要提示

  1. 首次运行时需要互联网连接以下载初始星图数据。
  2. 建议在计算密集型任务中启用缓存机制。
  3. 建议在生产环境中配置完善的错误捕捉和日志记录。

更多详细信息请参考官方文档

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-10-03 01:30

相似服务问题

相关AI产品