Update README.md
Browse files
README.md
CHANGED
@@ -35,7 +35,7 @@ tags:
|
|
35 |
|
36 |
**Organization:** Agents-MCP-Hackathon
|
37 |
|
38 |
-
This project
|
39 |
|
40 |
## ๐ Live Demo
|
41 |
|
@@ -46,20 +46,21 @@ This project provides **3 specialized MCP servers** that enable LLMs to access N
|
|
46 |
|
47 |
**๐ [Link to Demo Video - NASA MCP Server in Action]**
|
48 |
|
49 |
-
This video demonstrates the NASA Space Explorer MCP
|
50 |
-
-
|
51 |
-
-
|
52 |
-
-
|
53 |
-
-
|
54 |
|
55 |
-
*
|
56 |
|
57 |
## ๐ Features
|
58 |
|
59 |
-
###
|
60 |
- **๐ APOD MCP**: Astronomy Picture of the Day (3 tools)
|
61 |
- **๐ NeoWs MCP**: Near Earth Objects - Asteroids (6 tools)
|
62 |
- **๐ด Mars Rover MCP**: Photos from Mars rovers (6 tools)
|
|
|
63 |
|
64 |
### ๐ ๏ธ **15 Total MCP Tools**
|
65 |
```
|
@@ -90,10 +91,34 @@ This video demonstrates the NASA Space Explorer MCP Server working with an MCP C
|
|
90 |
- **Date Correlation**: Find all space events for a specific date
|
91 |
- **Size Comparisons**: Compare asteroid sizes with Mars rover scale
|
92 |
- **Intelligent Analysis**: AI-powered insights across multiple NASA APIs
|
|
|
93 |
|
94 |
## ๐ Quick Start
|
95 |
|
96 |
-
###
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
```bash
|
98 |
# Clone repository
|
99 |
git clone https://github.com/Clemente-H/gradio-hackaton-mcp-nasa
|
@@ -102,228 +127,212 @@ cd gradio-hackaton-mcp-nasa
|
|
102 |
# Install dependencies
|
103 |
pip install -r requirements.txt
|
104 |
|
105 |
-
# Setup environment
|
106 |
cp .env.example .env
|
107 |
-
#
|
108 |
-
```
|
109 |
|
110 |
-
|
111 |
-
```bash
|
112 |
-
# For Hugging Face Spaces, the main file should be app.py
|
113 |
python app.py
|
114 |
```
|
115 |
|
116 |
-
The application will start:
|
117 |
-
- **Web Interface**: http://localhost:8000
|
118 |
-
- **MCP Server**: http://localhost:8000/gradio_api/mcp/sse
|
119 |
-
- **Chat Interface**: Available with Mistral API key
|
120 |
-
|
121 |
-
### Connect MCP Client
|
122 |
-
|
123 |
-
**For most MCP Clients (Cursor, Cline, Tiny Agents):**
|
124 |
-
```json
|
125 |
-
{
|
126 |
-
"mcpServers": {
|
127 |
-
"nasa-space-explorer": {
|
128 |
-
"url": "https://huggingface.co/spaces/Agents-MCP-Hackathon/nasa-space-explorer/gradio_api/mcp/sse"
|
129 |
-
}
|
130 |
-
}
|
131 |
-
}
|
132 |
-
```
|
133 |
-
|
134 |
-
**For Claude Desktop (requires mcp-remote):**
|
135 |
-
```json
|
136 |
-
{
|
137 |
-
"mcpServers": {
|
138 |
-
"nasa-space-explorer": {
|
139 |
-
"command": "npx",
|
140 |
-
"args": [
|
141 |
-
"mcp-remote",
|
142 |
-
"https://huggingface.co/spaces/Agents-MCP-Hackathon/nasa-space-explorer/gradio_api/mcp/sse"
|
143 |
-
]
|
144 |
-
}
|
145 |
-
}
|
146 |
-
}
|
147 |
-
```
|
148 |
-
|
149 |
## ๐๏ธ Architecture
|
150 |
|
151 |
```
|
152 |
-
|
153 |
-
โ
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
โโโ APOD MCP โโโ NASA APOD API
|
158 |
-
โโโ NeoWs MCP โโโ NASA
|
159 |
-
โโโ Mars Rover MCP โโโ NASA Mars Rover
|
160 |
```
|
161 |
|
162 |
-
|
|
|
|
|
163 |
|
164 |
-
|
165 |
|
166 |
```bash
|
167 |
-
#
|
168 |
python tests/test_apod_quick.py # 4/4 tests โ
|
169 |
python tests/test_neows_quick.py # 5/5 tests โ
|
170 |
python tests/test_marsrover_quick.py # 6/6 tests โ
|
171 |
|
172 |
-
#
|
173 |
-
python app.py # Interactive testing
|
174 |
```
|
175 |
|
176 |
-
**
|
177 |
|
178 |
-
## ๐ก Example
|
179 |
|
180 |
-
|
|
|
181 |
|
182 |
-
|
183 |
- *"What's today's astronomy picture?"*
|
184 |
- *"Are there any dangerous asteroids approaching Earth this week?"*
|
185 |
- *"Show me the latest photos from Curiosity rover on Mars"*
|
186 |
-
- *"
|
187 |
|
188 |
-
|
189 |
- *"What space events happened on July 4th, 2023? Show me the astronomy picture, any asteroids, and Mars rover activity for that date."*
|
190 |
- *"Compare this week's largest asteroid to the size of a Mars rover"*
|
191 |
- *"Give me a complete space summary for today: astronomy highlights, asteroid activity, and Mars discoveries"*
|
192 |
-
- *"Find correlations between astronomy pictures and asteroid approaches"*
|
193 |
-
|
194 |
-
|
195 |
-
- *"Analyze the threat level of asteroid 2023 BU and
|
196 |
-
- *"How has Curiosity's mission progressed
|
197 |
-
- *"Show me
|
198 |
-
|
199 |
-
## ๐ Technical Highlights
|
200 |
-
|
201 |
-
|
202 |
-
-
|
203 |
-
-
|
204 |
-
-
|
205 |
-
-
|
206 |
-
|
207 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
|
209 |
## ๐ง Configuration
|
210 |
|
211 |
-
###
|
212 |
```bash
|
213 |
-
#
|
214 |
-
NASA_API_KEY=your_nasa_api_key_here
|
215 |
-
|
216 |
-
# Mistral API (optional, for chat features)
|
217 |
-
MISTRAL_API_KEY=your_mistral_api_key_here # Get at https://console.mistral.ai/
|
218 |
|
219 |
-
# Optional
|
220 |
DEBUG=false
|
221 |
LOG_LEVEL=INFO
|
222 |
```
|
223 |
|
224 |
-
### API
|
225 |
-
- **
|
226 |
-
- **
|
227 |
-
- **
|
228 |
-
|
229 |
-
## ๐ฏ Why This Project Stands Out
|
230 |
-
|
231 |
-
### 1. **๐ง Technical Excellence**
|
232 |
-
- Full MCP protocol implementation with 15 working tools
|
233 |
-
- Professional architecture with proper separation of concerns
|
234 |
-
- Comprehensive error handling and retry logic
|
235 |
-
- Extensive testing suite with 15+ tests
|
236 |
-
|
237 |
-
### 2. **๐ Real-World Impact**
|
238 |
-
- Access to NASA's incredible space data that people actually want
|
239 |
-
- Educational value for astronomy enthusiasts and students
|
240 |
-
- Research applications for space science community
|
241 |
-
- Real-time access to current space events
|
242 |
-
|
243 |
-
### 3. **๐ฏ Innovation**
|
244 |
-
- **Cross-MCP queries** that don't exist anywhere else
|
245 |
-
- Intelligent correlation between different space data sources
|
246 |
-
- Natural language interface to complex space APIs
|
247 |
-
- Unique combination of APOD, asteroids, and Mars data
|
248 |
-
|
249 |
-
### 4. **๐ Scalability**
|
250 |
-
- Modular architecture ready for additional space APIs
|
251 |
-
- Easy to extend with new NASA endpoints
|
252 |
-
- Professional codebase that others can build upon
|
253 |
-
- Clear documentation for contributors
|
254 |
-
|
255 |
-
### 5. **๐ User Experience**
|
256 |
-
- Works with any MCP client (Claude Desktop, Cursor, Cline, etc.)
|
257 |
-
- Intuitive natural language queries
|
258 |
-
- Rich, detailed responses with context
|
259 |
-
- Both technical users and space enthusiasts can use it
|
260 |
|
261 |
## ๐ฎ Future Enhancements
|
262 |
|
|
|
263 |
- **Additional NASA APIs**: Earth Imagery, Exoplanet Archive, Solar System Dynamics
|
264 |
-
- **Enhanced
|
265 |
-
- **
|
266 |
-
- **
|
|
|
|
|
|
|
|
|
267 |
- **Historical Analysis**: Trend analysis across years of space data
|
|
|
268 |
|
269 |
-
## ๐
|
270 |
|
271 |
-
### Project Structure
|
272 |
```
|
273 |
nasa-space-explorer/
|
274 |
-
โโโ app.py # Main Gradio
|
275 |
-
โโโ requirements.txt #
|
276 |
โโโ .env.example # Environment template
|
277 |
โโโ src/
|
278 |
-
โ โโโ mcp_server.py #
|
279 |
-
โ โโโ chat_agent.py # LlamaIndex
|
280 |
โ โโโ config.py # Configuration management
|
281 |
โ โโโ mcps/ # Individual MCP implementations
|
282 |
-
โ โโโ
|
283 |
-
โ
|
|
|
|
|
|
|
284 |
โโโ tests/ # Comprehensive test suite
|
285 |
โโโ docs/ # Additional documentation
|
286 |
```
|
287 |
|
288 |
-
### MCP Protocol Details
|
289 |
-
- **Protocol Version**: 2024-11-05
|
290 |
-
- **Transport**: Server-Sent Events (SSE)
|
291 |
-
- **Capabilities**: Tools, Resources, Prompts
|
292 |
-
- **Tool Discovery**: Automatic via MCP handshake
|
293 |
-
- **Error Handling**: Standardized error responses
|
294 |
-
|
295 |
## ๐ค Contributing
|
296 |
|
297 |
-
This project was created for the Gradio Agents & MCP Hackathon 2025.
|
298 |
|
299 |
-
1. Fork the repository
|
300 |
-
2. Create a feature branch
|
301 |
-
3. Add tests for new
|
302 |
-
4. Submit a pull request
|
303 |
|
304 |
## ๐ License
|
305 |
|
306 |
-
MIT License - See LICENSE file for
|
307 |
|
308 |
## ๐ Acknowledgments
|
309 |
|
310 |
-
This project
|
311 |
-
While this project uses data
|
312 |
|
313 |
-
|
314 |
-
- **
|
315 |
-
- **
|
316 |
-
- **
|
317 |
-
- **
|
|
|
318 |
|
319 |
---
|
320 |
|
321 |
-
|
322 |
|
323 |
-
**
|
324 |
-
**Author:** @Clemente-H on github
|
325 |
-
**
|
326 |
**Organization:** Agents-MCP-Hackathon
|
327 |
**Repository:** https://github.com/Clemente-H/gradio-hackaton-mcp-nasa
|
328 |
|
329 |
-
*Making
|
|
|
35 |
|
36 |
**Organization:** Agents-MCP-Hackathon
|
37 |
|
38 |
+
This project implements a **custom MCP server** with advanced NASA space data integration, featuring unique cross-API correlations and natural language access through an integrated chat interface.
|
39 |
|
40 |
## ๐ Live Demo
|
41 |
|
|
|
46 |
|
47 |
**๐ [Link to Demo Video - NASA MCP Server in Action]**
|
48 |
|
49 |
+
This video demonstrates the NASA Space Explorer MCP implementation showcasing:
|
50 |
+
- Custom MCP server architecture with 15 specialized NASA tools
|
51 |
+
- Unique cross-MCP queries combining APOD + Asteroids + Mars data
|
52 |
+
- Natural language interface through integrated chat (MCP client)
|
53 |
+
- Interactive testing dashboard for all NASA tools
|
54 |
|
55 |
+
*Demonstrates advanced MCP architecture with capabilities beyond standard implementations*
|
56 |
|
57 |
## ๐ Features
|
58 |
|
59 |
+
### ๐๏ธ **Custom MCP Architecture**
|
60 |
- **๐ APOD MCP**: Astronomy Picture of the Day (3 tools)
|
61 |
- **๐ NeoWs MCP**: Near Earth Objects - Asteroids (6 tools)
|
62 |
- **๐ด Mars Rover MCP**: Photos from Mars rovers (6 tools)
|
63 |
+
- **๐ฎ Cross-MCP Engine**: Advanced correlation queries (unique capability)
|
64 |
|
65 |
### ๐ ๏ธ **15 Total MCP Tools**
|
66 |
```
|
|
|
91 |
- **Date Correlation**: Find all space events for a specific date
|
92 |
- **Size Comparisons**: Compare asteroid sizes with Mars rover scale
|
93 |
- **Intelligent Analysis**: AI-powered insights across multiple NASA APIs
|
94 |
+
- **Natural Language Access**: Chat interface using LlamaIndex + Mistral integration
|
95 |
|
96 |
## ๐ Quick Start
|
97 |
|
98 |
+
### Interactive Demo
|
99 |
+
Visit the live Space and explore:
|
100 |
+
|
101 |
+
1. **๐ค Chat with NASA Assistant**
|
102 |
+
- Ask natural language questions about space
|
103 |
+
- AI automatically uses appropriate NASA tools
|
104 |
+
- Get comprehensive answers with live data
|
105 |
+
|
106 |
+
2. **๐ ๏ธ MCP Server Dashboard**
|
107 |
+
- Test individual NASA tools interactively
|
108 |
+
- See real-time tool execution and responses
|
109 |
+
- Monitor server status and performance
|
110 |
+
|
111 |
+
3. **๐ Cross-MCP Queries**
|
112 |
+
- Advanced correlations across multiple NASA APIs
|
113 |
+
- Date-based space event summaries
|
114 |
+
- Unique insights not available elsewhere
|
115 |
+
|
116 |
+
4. **๐ Complete Documentation**
|
117 |
+
- Technical architecture details
|
118 |
+
- Example queries and use cases
|
119 |
+
|
120 |
+
|
121 |
+
### Local Development
|
122 |
```bash
|
123 |
# Clone repository
|
124 |
git clone https://github.com/Clemente-H/gradio-hackaton-mcp-nasa
|
|
|
127 |
# Install dependencies
|
128 |
pip install -r requirements.txt
|
129 |
|
130 |
+
# Setup environment variables
|
131 |
cp .env.example .env
|
132 |
+
# Add your NASA_API_KEY and MISTRAL_API_KEY
|
|
|
133 |
|
134 |
+
# Run the application
|
|
|
|
|
135 |
python app.py
|
136 |
```
|
137 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
## ๐๏ธ Architecture
|
139 |
|
140 |
```
|
141 |
+
๐ User Interface (Gradio)
|
142 |
+
โ
|
143 |
+
๐ค Chat Agent (LlamaIndex + Mistral) โ MCP Client
|
144 |
+
โ
|
145 |
+
๐ ๏ธ Custom NASA MCP Server (Advanced Implementation)
|
146 |
+
โโโ ๐ APOD MCP โโโ NASA APOD API
|
147 |
+
โโโ ๐ NeoWs MCP โโโ NASA Asteroids API
|
148 |
+
โโโ ๐ด Mars Rover MCP โโโ NASA Mars Rover API
|
149 |
```
|
150 |
|
151 |
+
**Key Innovation:** The integrated chat acts as an intelligent MCP client, automatically selecting and combining the appropriate NASA tools based on user queries.
|
152 |
+
|
153 |
+
## ๐งช Comprehensive Testing
|
154 |
|
155 |
+
Production-ready implementation with extensive testing:
|
156 |
|
157 |
```bash
|
158 |
+
# Individual MCP testing
|
159 |
python tests/test_apod_quick.py # 4/4 tests โ
|
160 |
python tests/test_neows_quick.py # 5/5 tests โ
|
161 |
python tests/test_marsrover_quick.py # 6/6 tests โ
|
162 |
|
163 |
+
# Integration testing
|
164 |
+
python app.py # Interactive testing dashboard
|
165 |
```
|
166 |
|
167 |
+
**Test Coverage:** 15+ individual tool tests + integration testing + error handling validation
|
168 |
|
169 |
+
## ๐ก Example Interactions
|
170 |
|
171 |
+
### Natural Language Queries
|
172 |
+
*Ask the chat interface these questions and watch it automatically use the right NASA tools:*
|
173 |
|
174 |
+
**Single API Queries:**
|
175 |
- *"What's today's astronomy picture?"*
|
176 |
- *"Are there any dangerous asteroids approaching Earth this week?"*
|
177 |
- *"Show me the latest photos from Curiosity rover on Mars"*
|
178 |
+
- *"Compare the mission statistics of all Mars rovers"*
|
179 |
|
180 |
+
**Cross-API Magic โจ (Unique Feature):**
|
181 |
- *"What space events happened on July 4th, 2023? Show me the astronomy picture, any asteroids, and Mars rover activity for that date."*
|
182 |
- *"Compare this week's largest asteroid to the size of a Mars rover"*
|
183 |
- *"Give me a complete space summary for today: astronomy highlights, asteroid activity, and Mars discoveries"*
|
184 |
+
- *"Find correlations between interesting astronomy pictures and asteroid approaches"*
|
185 |
+
|
186 |
+
**Advanced Analysis:**
|
187 |
+
- *"Analyze the threat level of asteroid 2023 BU and tell me if any cool space images were taken that day"*
|
188 |
+
- *"How has Curiosity's mission progressed compared to when the most spectacular nebula photos were taken?"*
|
189 |
+
- *"Show me patterns: when do we see more asteroids vs more interesting deep space images?"*
|
190 |
+
|
191 |
+
## ๐ Technical Implementation Highlights
|
192 |
+
|
193 |
+
### **๐ง Advanced MCP Architecture**
|
194 |
+
- **Custom Protocol Implementation**: Full MCP 2024-11-05 compliance with extensions
|
195 |
+
- **Tool Discovery**: Dynamic registration and discovery of all 15 NASA tools
|
196 |
+
- **Cross-MCP Engine**: Unique capability to correlate data across multiple APIs
|
197 |
+
- **Error Handling**: Production-grade retry logic with exponential backoff
|
198 |
+
|
199 |
+
### **๐ค Intelligent Agent Integration**
|
200 |
+
- **LlamaIndex Framework**: Advanced tool selection and response synthesis
|
201 |
+
- **Mistral Large Model**: Natural language understanding and generation
|
202 |
+
- **Automatic Tool Selection**: AI chooses appropriate NASA tools based on queries
|
203 |
+
- **Context Awareness**: Maintains conversation context across multiple tool calls
|
204 |
+
|
205 |
+
### **๐ Production Features**
|
206 |
+
- **Rate Limiting**: Intelligent request pacing (950 requests/hour with buffer)
|
207 |
+
- **Comprehensive Logging**: Full request/response tracking and debugging
|
208 |
+
- **Schema Validation**: Pydantic models for all NASA API responses
|
209 |
+
- **Async Architecture**: Non-blocking operations for better performance
|
210 |
+
|
211 |
+
### **๐ NASA API Integration**
|
212 |
+
- **APOD API**: Complete access to Astronomy Picture archive
|
213 |
+
- **NeoWs API**: Real-time asteroid tracking and threat analysis
|
214 |
+
- **Mars Rover API**: Photos and mission data from Curiosity, Opportunity, Spirit
|
215 |
+
- **Live Data**: Always current information from NASA's active missions
|
216 |
+
|
217 |
+
## ๐ฏ Why This Implementation Stands Out
|
218 |
+
|
219 |
+
### **1. ๐ Unique Innovation**
|
220 |
+
- **Cross-MCP Queries**: Only implementation that correlates multiple NASA APIs
|
221 |
+
- **Date-Based Correlations**: Find all space events for any specific date
|
222 |
+
- **Intelligent Analysis**: AI-powered insights across different data sources
|
223 |
+
- **Natural Language Interface**: No need to learn API specifics
|
224 |
+
|
225 |
+
### **2. ๐ง Technical Excellence**
|
226 |
+
- **Advanced Architecture**: Goes far beyond standard MCP implementations
|
227 |
+
- **Custom Protocol Extensions**: Cross-API correlation capabilities
|
228 |
+
- **Production Quality**: Comprehensive error handling, testing, and monitoring
|
229 |
+
- **Scalable Design**: Easy to extend with additional NASA APIs
|
230 |
+
|
231 |
+
### **3. ๐ Real-World Value**
|
232 |
+
- **Live NASA Data**: Access to current space missions and discoveries
|
233 |
+
- **Educational Impact**: Perfect for students, educators, and space enthusiasts
|
234 |
+
- **Research Applications**: Valuable for space science community
|
235 |
+
- **Instant Access**: No API setup required for end users
|
236 |
+
|
237 |
+
### **4. ๐จ User Experience**
|
238 |
+
- **Multiple Interfaces**: Chat, dashboard testing, and cross-API queries
|
239 |
+
- **Rich Responses**: Detailed explanations with context and insights
|
240 |
+
- **Error Resilience**: Graceful handling of API failures and edge cases
|
241 |
+
- **Accessible Design**: Works for both technical and non-technical users
|
242 |
+
|
243 |
+
### **5. ๐ Professional Quality**
|
244 |
+
- **Clean Architecture**: Proper separation of concerns and modularity
|
245 |
+
- **Comprehensive Documentation**: Clear guides for users and developers
|
246 |
+
- **Extensive Testing**: Ensures reliability and handles edge cases
|
247 |
+
- **Open Source**: Available for community contributions and extensions
|
248 |
|
249 |
## ๐ง Configuration
|
250 |
|
251 |
+
### Environment Variables
|
252 |
```bash
|
253 |
+
# Required
|
254 |
+
NASA_API_KEY=your_nasa_api_key_here # Get free at https://api.nasa.gov/
|
255 |
+
MISTRAL_API_KEY=your_mistral_key_here # Get at https://console.mistral.ai/
|
|
|
|
|
256 |
|
257 |
+
# Optional
|
258 |
DEBUG=false
|
259 |
LOG_LEVEL=INFO
|
260 |
```
|
261 |
|
262 |
+
### NASA API Details
|
263 |
+
- **Rate Limits**: 1000 requests/hour (we use 950 with safety buffer)
|
264 |
+
- **Endpoints**: APOD, NeoWs, Mars Rover Photos
|
265 |
+
- **Data Coverage**: Real-time space events, historical archive access
|
266 |
+
- **Update Frequency**: Live data from ongoing NASA missions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
|
268 |
## ๐ฎ Future Enhancements
|
269 |
|
270 |
+
### **Immediate Extensions**
|
271 |
- **Additional NASA APIs**: Earth Imagery, Exoplanet Archive, Solar System Dynamics
|
272 |
+
- **Enhanced Visualizations**: Interactive plots and 3D models
|
273 |
+
- **External MCP Endpoint**: Standard endpoint for other MCP clients
|
274 |
+
- **Mobile Optimization**: Responsive design improvements
|
275 |
+
|
276 |
+
### **Advanced Features**
|
277 |
+
- **Machine Learning**: Pattern recognition in space data
|
278 |
+
- **Notification System**: Alerts for significant space events
|
279 |
- **Historical Analysis**: Trend analysis across years of space data
|
280 |
+
- **API Expansion**: Integration with other space agencies (ESA, JAXA)
|
281 |
|
282 |
+
## ๐ Project Structure
|
283 |
|
|
|
284 |
```
|
285 |
nasa-space-explorer/
|
286 |
+
โโโ app.py # Main Gradio application
|
287 |
+
โโโ requirements.txt # Python dependencies
|
288 |
โโโ .env.example # Environment template
|
289 |
โโโ src/
|
290 |
+
โ โโโ mcp_server.py # Custom MCP server implementation
|
291 |
+
โ โโโ chat_agent.py # LlamaIndex + Mistral integration
|
292 |
โ โโโ config.py # Configuration management
|
293 |
โ โโโ mcps/ # Individual MCP implementations
|
294 |
+
โ โ โโโ apod_mcp.py # APOD tools
|
295 |
+
โ โ โโโ neows_mcp.py # Asteroid tools
|
296 |
+
โ โ โโโ marsrover_mcp.py # Mars rover tools
|
297 |
+
โ โโโ nasa_api/ # NASA API clients
|
298 |
+
โ โโโ schemas/ # Pydantic validation schemas
|
299 |
โโโ tests/ # Comprehensive test suite
|
300 |
โโโ docs/ # Additional documentation
|
301 |
```
|
302 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
## ๐ค Contributing
|
304 |
|
305 |
+
This project was created for the Gradio Agents & MCP Hackathon 2025. The core implementation is complete and production-ready. Future contributions are welcome:
|
306 |
|
307 |
+
1. **Fork** the repository
|
308 |
+
2. **Create** a feature branch
|
309 |
+
3. **Add** comprehensive tests for new features
|
310 |
+
4. **Submit** a pull request with clear documentation
|
311 |
|
312 |
## ๐ License
|
313 |
|
314 |
+
MIT License - See LICENSE file for complete terms
|
315 |
|
316 |
## ๐ Acknowledgments
|
317 |
|
318 |
+
This project uses public NASA APIs available at https://api.nasa.gov.
|
319 |
+
*While this project uses NASA data, it is not endorsed or certified by NASA.*
|
320 |
|
321 |
+
**Special Thanks:**
|
322 |
+
- **NASA** for providing incredible free APIs and inspiring space exploration
|
323 |
+
- **Gradio Team** for the excellent framework that made this possible
|
324 |
+
- **Anthropic** for the MCP protocol that inspired this advanced architecture
|
325 |
+
- **Hackathon Organizers** for creating this amazing opportunity
|
326 |
+
- **Space Community** for the passion that drives projects like this
|
327 |
|
328 |
---
|
329 |
|
330 |
+
**๐ Built for Gradio Agents & MCP Hackathon 2025** ๐
|
331 |
|
332 |
+
**Created:** June 2-7, 2025
|
333 |
+
**Author:** @Clemente-H on github. @ClementeH on HuggingFace
|
334 |
+
**Track:** MCP Server/Tool
|
335 |
**Organization:** Agents-MCP-Hackathon
|
336 |
**Repository:** https://github.com/Clemente-H/gradio-hackaton-mcp-nasa
|
337 |
|
338 |
+
*Making the universe accessible through advanced MCP architecture and AI* โจ
|