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.pyLinux/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.ps1Linux/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个请求
