NASA MCP Server

NASA MCP Server

🚀 NASA MCP 服务器

NASA MCP 服务器是一个用于处理 NASA 相关数据请求的项目,能帮助用户便捷地获取诸如天文每日一图、火星探测器照片等数据,同时具备完善的日志系统和安全防护机制。

🚀 快速开始

若你想快速启动 NASA MCP 服务器,可按以下步骤操作:

# 克隆仓库
git clone https://github.com/ProgramComputer/NASA-MCP-server.git

# 安装依赖项
npm install

# 复制示例环境文件并更新为你的 API 密钥
cp .env.example .env

# 构建 TypeScript 代码
npm run build

# 启动开发服务器
npm start

📦 安装指南

安装该项目,你需要依次执行以下命令:

# 克隆仓库
git clone https://github.com/ProgramComputer/NASA-MCP-server.git

# 安装依赖项
npm install

# 复制示例环境文件并更新为你的 API 密钥
cp .env.example .env

# 构建 TypeScript 代码
npm run build

# 启动开发服务器
npm start

✨ 主要特性

  • 数据获取:支持获取 Astronomy Picture of the Day (APOD) 以及 Mars Rover 照片等 NASA 相关数据。
  • 日志系统:能记录服务器的各类运行信息,如初始化成功、请求处理、警告和错误信息等。
  • 安全可靠:实现了一系列安全最佳实践,包括输入验证、防护命令注入攻击、速率限制等。

📚 详细文档

配置

环境变量

在项目的根目录中创建一个 .env 文件,并添加以下内容:

NEXT_PUBLIC_API_KEY=your_api_key_here
NEXT_PUBLIC_BASE_URL=http://localhost:3000

使用

示例用法

获取 Astronomy Picture of the Day (APOD)
const result = await client.request({
method: "nasa/apod",
params: {}
});
获取 Mars Rover 照片
const result = await client.request({
method: "nasa/mars-rover",
params: {
rover: "curiosity",
sol: 1000
}
});

日志系统

日志示例

[INFO] NASA MCP 服务器初始化成功
[INFO] 处理 APOD 请求,日期为:2023-01-01
[WARNING] 网络请求超时(等待时间超过预期)
[ERROR] 无效参数:'date' 必须符合 YYYY-MM-DD 格式

安全注意事项

本 MCP 服务器实现安全最佳实践,遵循模型上下文协议规范:

  • 输入验证和清理使用 Zod 模式
  • 不执行任意代码
  • 防护命令注入攻击
  • 正确处理错误以防止信息泄露
  • 实施速率限制和请求超时控制
  • 不保留可能被跨会话利用的持久状态

开发

开发步骤

# 克隆仓库
git clone https://github.com/ProgramComputer/NASA-MCP-server.git

# 安装依赖项
npm install

# 复制示例环境文件并更新为你的 API 密钥
cp .env.example .env

# 构建 TypeScript 代码
npm run build

# 启动开发服务器
npm run dev

# 运行测试
npm test

贡献指南

  1. 叉克仓库
  2. 创建功能分支
  3. 运行测试:npm test
  4. 提交拉取请求
  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-22 07:57

相似服务问题

相关AI产品