返回市场
MCP服务器

MCP服务器

作者:adithya10123 星标更新:2025-07-29

项目介绍

NASA MCP 服务器

这是一个提供访问NASA公共API的Model Context Protocol (MCP)服务器,包括天文图片每日一图(APOD)、火星探测器图像以及近地天体(NEO)数据。

功能

  • 天文图片每日一图(APOD):获取带有描述的每日天文图片
  • 火星探测器图像:访问火星探测器拍摄的照片,支持多种相机选项
  • 近地天体(NEO):检索小行星数据及接近地球的信息
  • 地球图片(EPIC):获取NASA DSCOVR卫星拍摄的地球卫星图片
  • GIBS卫星影像:访问NASA全球影像浏览服务提供的高分辨率地球影像
  • GIBS图层信息:获取可用卫星影像图层的详细信息
  • 图像分析工具:从URL中抓取并分析图片,自动处理并转换为base64格式

安装

从PyPI安装包:

pip install nasa-mcp-server

或使用uvx(推荐用于MCP使用):

uvx nasa-mcp-server

配置

获取NASA API密钥

  1. 访问NASA API门户
  2. 生成您的免费API密钥
  3. 将API密钥保存以备配置时使用

VS Code配置

在VS Code的mcp.json配置文件中添加以下内容:

{
  "servers": {
    "nasa-mcp": {
      "command": "uvx",
      "args": ["nasa-mcp-server"],
      "env": {
        "NASA_API_KEY": "YOUR_NASA_API_KEY_HERE"
      }
    }
  }
}

YOUR_NASA_API_KEY_HERE替换为您实际的NASA API密钥。

Claude Desktop配置

在Claude Desktop配置中添加以下内容:

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

{
  "mcpServers": {
    "nasa-mcp": {
      "command": "uvx",
      "args": ["nasa-mcp-server"],
      "env": {
        "NASA_API_KEY": "YOUR_NASA_API_KEY_HERE"
      }
    }
  }
}

YOUR_NASA_API_KEY_HERE替换为您实际的NASA API密钥。

可用工具

1. get_apod - 天文图片每日一图

从NASA的APOD服务获取带有详细描述的精美天文图片。

参数:

  • date (YYYY-MM-DD):特定日期的APOD图片(默认:今天)
  • start_date (YYYY-MM-DD):日期范围的起始日期(不能与date一起使用)
  • end_date (YYYY-MM-DD):日期范围的结束日期(默认:今天)
  • count (int):要检索的随机图片数量(不能与日期参数一起使用)

示例用法:

  • 获取今天的APOD:get_apod()
  • 获取特定日期的APOD:get_apod(date="2024-01-15")
  • 获取日期范围内的APOD:get_apod(start_date="2024-01-01", end_date="2024-01-07")
  • 获取5张随机APOD:get_apod(count=5)

2. get_mars_image - 火星探测器图像

访问火星探测器拍摄的照片,支持多种相机视角。

参数:

  • earth_date (YYYY-MM-DD):照片拍摄的地球日期(默认:今天)
  • sol (int):火星探测器任务中的火星日(默认:1000)
  • camera (string):使用的相机类型

可用相机:

  • FHAZ:前方避障相机
  • RHAZ:后方避障相机
  • MAST:桅杆相机
  • CHEMCAM:化学相机复合体
  • MAHLI:火星手镜成像仪
  • MARDI:火星下降成像仪
  • NAVCAM:导航相机
  • PANCAM:全景相机
  • MINITES:微型热发射光谱仪(Mini-TES)

示例用法:

  • 获取今天的照片:get_mars_image()
  • 获取特定地球日期的照片:`get_mars_image(earth_date="2[...]