MCP server by marcos2872
NASA MCP Server
Este é um projeto de estudo que implementa um servidor MCP (Model Context Protocol) para acessar APIs públicas da NASA. O servidor fornece ferramentas para buscar imagens astronômicas, fotos de rovers marcianos, asteroides próximos à Terra e muito mais.
📚 Sobre o Projeto
Este é um projeto educacional para aprender sobre:
- Model Context Protocol (MCP)
- APIs públicas da NASA
- Desenvolvimento de servidores em Node.js
- Integração com ferramentas de IA
🚀 Funcionalidades
O servidor oferece as seguintes ferramentas:
- get_apod - Astronomy Picture of the Day (imagem astronômica do dia)
- search_nasa_images - Busca no arquivo de imagens/vídeos/áudios da NASA
- get_mars_rover_photos - Fotos dos rovers de Marte (Curiosity, Opportunity, Spirit)
- get_neo_feed - Dados sobre asteroides próximos à Terra
- get_earth_imagery - Imagens de satélite da Terra
📋 Pré-requisitos
- Node.js (versão 14 ou superior)
- npm ou yarn
- Chave API da NASA (gratuita)
🔑 Obtendo a Chave API da NASA
- Acesse https://api.nasa.gov/
- Preencha o formulário com seu nome e email
- Você receberá sua chave API instantaneamente
- Salve a chave para usar no próximo passo
⚙️ Instalação
-
Clone ou baixe este repositório
-
Instale as dependências:
npm install
- Configure a variável de ambiente com sua chave API da NASA:
No Linux/Mac:
export NASA_API_KEY="sua_chave_aqui"
No Windows (CMD):
set NASA_API_KEY=sua_chave_aqui
No Windows (PowerShell):
$env:NASA_API_KEY="sua_chave_aqui"
🏃 Como Rodar
Modo de Desenvolvimento
Execute o servidor diretamente:
node index.js
Instalação Global
Para instalar o servidor como um comando global:
npm install -g .
Depois você pode executar de qualquer lugar:
nasa-mcp-server
🧪 Testando
O servidor usa comunicação stdio (entrada/saída padrão), então é melhor testá-lo integrado com um cliente MCP ou ferramenta compatível (como Claude Desktop ou outras aplicações que suportam MCP).
Exemplo de Configuração para Claude Desktop
Adicione ao arquivo de configuração do Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"nasa": {
"command": "node",
"args": ["/caminho/completo/para/index.js"],
"env": {
"NASA_API_KEY": "sua_chave_aqui"
}
}
}
}
📖 Exemplos de Uso
Quando integrado com um cliente MCP, você pode fazer perguntas como:
- "Mostre a imagem astronômica do dia"
- "Busque fotos do rover Curiosity"
- "Quais asteroides estão próximos da Terra hoje?"
- "Mostre imagens de satélite das coordenadas -23.5505, -46.6333"
🛠️ Estrutura do Projeto
nasa-mcp-server/
├── index.js # Código principal do servidor
├── package.json # Configurações e dependências
└── README.md # Este arquivo
📚 Recursos de Aprendizado
- NASA APIs - Documentação oficial das APIs
- Model Context Protocol - Especificação do MCP
- MCP SDK - SDK usado neste projeto
📝 Licença
ISC
🤝 Contribuindo
Este é um projeto de estudo! Sinta-se à vontade para fazer fork, experimentar e aprender.
⚠️ Notas
- A chave API gratuita da NASA tem limite de 1000 requisições por hora
- Algumas APIs podem ter disponibilidade limitada de dados históricos
- Este projeto é apenas para fins educacionais