NASA API访问服务器

一个基于Node.js的MCP协议服务器,提供NASA公共API的访问功能,包括天文图片、火星车照片、近地小行星数据等。

  • by marcos2872
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 marcos2872/nasa-mcp-server

使用说明

NASA MCP服务器

这是一个实施模型上下文协议(MCP)服务器来访问NASA公共API的研究项目。该服务器提供了搜索天文图像,火星漫游车照片,近地小行星等的工具。

📚 关于项目

这是一个教育项目,以了解:

  • 模型上下文协议(MCP)
  • NASA 公共 API
  • Node.js 服务器开发
  • 与 AI 工具集成

🚀 功能

服务器提供以下工具:

  1. get_apod 天文图片(Astronomy Picture of the Day)
  2. search_nasa_images - 搜索NASA图像/视频/音频文件
  3. get_mars_rover_photos -火星车照片(好奇号、机遇号、勇气号)
  4. get_neo_feed 近地小行星数据
  5. 获取艺术图片 地球卫星图像

📋 先决条件

  • Node.js(版本 14 或更高版本)
  • npm瓯纱
  • NASA的API密钥(免费)

🔑 从NASA获取API密钥

  1. 爱搜索https://api.nasa.gov/
  2. 填写您的姓名和电子邮件
  3. 您将立即获得API密钥
  4. 保存用于下一步的密钥

⚙️ 安装

  1. 克隆或下载此仓库

  2. 安装依赖关系 :

npm install
  1. 使用您的 NASA API 密钥配置环境变量:

没有Linux/Mac:

export NASA_API_KEY="sua_chave_aqui"

无窗口(CMD):

set NASA_API_KEY=sua_chave_aqui

无Windows(PowerShell):

$env:NASA_API_KEY="sua_chave_aqui"

🏃 如何旋转

开发模式

直接运行服务器 :

node index.js

全球安装

要将服务器安装为全局命令:

npm install -g .

然后你可以从任何地方运行:

nasa-mcp-server

🧪 正在测试

服务器使用 stdio 通信(标准输入/输出),因此最好将其集成到 MCP 客户端或兼容工具(如 Claude Desktop 或其他支持 MCP 的应用程序)中。

Claude Desktop 配置示例

添加到 Claude 桌面配置文件 (claude_desktop_config.json):

{
  "mcpServers": {
    "nasa": {
      "command": "node",
      "args": ["/caminho/completo/para/index.js"],
      "env": {
        "NASA_API_KEY": "sua_chave_aqui"
      }
    }
  }
}

📖 使用范例

当与 MCP 客户端集成时,您可以提出以下问题:

  • “显示当天的天文图像”
  • “搜索好奇号漫游车的照片”
  • “今天哪些小行星离地球最近?”
  • “显示坐标-23.5505,-46.6333 的卫星图像”

🛠️ 项目结构

nasa-mcp-server/
├── index.js       # Código principal do servidor
├── package.json   # Configurações e dependências
└── README.md      # Este arquivo

📚 学习资源

📝 许可证

国际协调委员会

🤝 贡献

这是一个研究项目!随意分叉,尝试和学习。

⚠️ 注释

  • NASA的免费API密钥每小时限制为1000个请求
  • 一些 API 可能对历史数据的可用性有限
  • 本项目仅用于教育目的