NASA API服务

一个提供访问NASA API的模型上下文协议(MCP)服务器,包括每日天文图片和NASA图像库搜索功能。

  • by ankitzaveri
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ankitzaveri/nasa-mcp-server-demo

使用说明

NASA MCP服务器

提供对NASA API访问的模型上下文协议(MCP)服务器:

  • APOD(当日天文图片):获取每日天文图像和解释
  • 美国国家航空航天局图像库:搜索美国国家航空航天局的大量图像和视频

特性

  • 🚀 访问美国国家航空航天局当天的天文图片
  • 🔍 搜索美国国家航空航天局的图像和视频库
  • 🛠️ 实施MCP协议,便于集成
  • 🔑 支持自定义NASA API密钥

设置

1.安装依赖项

在使用Python 3.12的Windows上:

py -3.12 -m pip install -r requirements.txt

在Linux/Mac或默认Python上:

pip install -r requirements.txt

注: 这个项目需要Python 3.10或更高版本。

2.配置API密钥(可选)

获取免费的NASA API密钥:https://api.nasa.gov/

创建一个 .env 文件:

cp .env.example .env

编辑 .env 并添加您的API密钥:

NASA_API_KEY=your_api_key_here

注意:该应用程序适用于 DEMO_KEY 但有速率限制。获取您自己的密钥以供生产使用。

运行服务器

选项1:直接服务器模式

直接运行MCP服务器(用于与MCP客户端集成):

使用Python 3.12的Windows:

py -3.12 server.py

Linux/Mac或默认Python:

python server.py

选项2:使用MCP检查器进行交互式测试(推荐)

MCP检查器提供了一个基于web的UI,用于与您的MCP服务器进行交互。

步骤1:安装MCP检查器

npm install -g @modelcontextprotocol/inspector

步骤2:运行检查器

使用Python 3.12的Windows:

npx @modelcontextprotocol/inspector py -3.12 server.py

或者使用提供的脚本:

.\run_inspector.ps1

Linux/Mac或默认Python:

npx @modelcontextprotocol/inspector python server.py

步骤3:访问Web界面

检查员将启动本地web服务器(通常在 http://localhost:5173 或类似端口)。

在浏览器中打开URL:

  • 🔍 查看可用工具:参见 get_apod 和 search_nasa_images 与他们的模式
  • 🧪 测试工具调用:使用自定义参数执行工具并查看实时结果
  • 📊 检查消息:查看完整的MCP协议请求/响应流程
  • 🐛 调试:监控NASA API的错误和响应

Inspector中的示例测试用例:

测试1:获取今天的APOD

  • 工具: get_apod
  • 参数: {} (今天为空)

测试2:获取历史APOD

  • 工具: get_apod
  • 参数: {"date": "2024-01-01"}

测试3:搜索火星图像

  • 工具: search_nasa_images
  • 参数: {"query": "mars rover", "media_type": "image"}

测试4:1969年的阿波罗11号

  • 工具: search_nasa_images
  • 参数: {"query": "apollo 11", "year_start": "1969", "year_end": "1969"}

可用工具

1.get_apod

获取美国国家航空航天局的每日天文图片。

参数:

  • date (可选):YYYY-MM-DD格式的日期(默认为今天)

例子:

{
  "date": "2024-01-01"
}

2.搜索_ nasa_images

搜索美国国家航空航天局的图像和视频库。

参数:

  • query (必填):搜索词(例如,“火星车”、“星云”)
  • media_type (可选):“图像”、“视频”或“音频”(默认为“图像”)
  • year_start (可选):搜索范围的起始年份
  • year_end (可选):搜索范围的年末

例子:

{
  "query": "apollo 11",
  "media_type": "image",
  "year_start": "1969",
  "year_end": "1969"
}

整合

要将此MCP服务器与MCP客户端一起使用,请将其添加到您的客户端配置中:

{
  "mcpServers": {
    "nasa": {
      "command": "python",
      "args": ["C:\\path\\to\\server.py"]
    }
  }
}

API费率限制

  • DEMO_KEY:每小时30个请求,每天50个请求
  • 个人密钥:每小时1000个请求

资源