AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Crawler Summary
Multi-agent web app that orchestrates weather, news, and NASA data through MCP-backed tools and a CrewAI-powered chat interface. Agentic Web App An agentic chat application with a React frontend, a FastAPI + CrewAI backend, and three MCP-style tool servers for weather, news, and NASA data. The system is designed so a single user query can be routed to the right specialists: - weather_agent for forecasts, geocoding, and weather summaries - news_agent for article search and live headlines - nasa_agent for astronomy, asteroid, Mars rover, and Ear Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
Weather-News-Space-Agent is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
Multi-agent web app that orchestrates weather, news, and NASA data through MCP-backed tools and a CrewAI-powered chat interface. Agentic Web App An agentic chat application with a React frontend, a FastAPI + CrewAI backend, and three MCP-style tool servers for weather, news, and NASA data. The system is designed so a single user query can be routed to the right specialists: - weather_agent for forecasts, geocoding, and weather summaries - news_agent for article search and live headlines - nasa_agent for astronomy, asteroid, Mars rover, and Ear
Public facts
4
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
Ritam3
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Ritam3
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
python
text
React Frontend
-> POST /chat
FastAPI Backend
-> CrewAI manager agent
-> Weather agent -> Weather MCP -> OpenWeather APIs
-> News agent -> News MCP -> NewsAPI
-> NASA agent -> NASA MCP -> api.nasa.govtext
agentic_web_app/ backend/ CrewAI orchestration backend frontend/ React + Tailwind chat UI mcp-servers/ Weather, News, and NASA MCP services scripts/ Test runner helpers test-logs/ Generated test logs and summaries docker-compose.yml Multi-service local stack pytest.ini Shared pytest markers TESTING.md Detailed testing reference
env
BACKEND_HOST=0.0.0.0 BACKEND_PORT=8000 GROQ_API_KEY=your_groq_api_key GROQ_MODEL=openai/gpt-oss-120b GROQ_MODEL_AGENTS=openai/gpt-oss-20b CREWAI_VERBOSE=true WEATHER_MCP_URL=http://localhost:8001 NEWS_MCP_URL=http://localhost:8002 NASA_MCP_URL=http://localhost:8003 VITE_FRONTEND_URL=http://localhost:3000
env
VITE_BACKEND_URL=http://localhost:8000 VITE_APP_NAME=Agentic Web App
env
OPENWEATHER_API_KEY=your_openweather_api_key OPENWEATHER_GEO_BASE_URL=https://api.openweathermap.org/geo/1.0 OPENWEATHER_ONECALL_BASE_URL=https://api.openweathermap.org/data/3.0 MCP_SERVER_HOST=0.0.0.0 MCP_SERVER_PORT=8001 MCP_SERVER_NAME=weather-mcp
env
NEWSAPI_KEY=your_newsapi_key NEWSAPI_BASE_URL=https://newsapi.org/v2 MCP_SERVER_HOST=0.0.0.0 MCP_SERVER_PORT=8002 MCP_SERVER_NAME=news-mcp
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
Multi-agent web app that orchestrates weather, news, and NASA data through MCP-backed tools and a CrewAI-powered chat interface. Agentic Web App An agentic chat application with a React frontend, a FastAPI + CrewAI backend, and three MCP-style tool servers for weather, news, and NASA data. The system is designed so a single user query can be routed to the right specialists: - weather_agent for forecasts, geocoding, and weather summaries - news_agent for article search and live headlines - nasa_agent for astronomy, asteroid, Mars rover, and Ear
An agentic chat application with a React frontend, a FastAPI + CrewAI backend, and three MCP-style tool servers for weather, news, and NASA data.
The system is designed so a single user query can be routed to the right specialists:
weather_agent for forecasts, geocoding, and weather summariesnews_agent for article search and live headlinesnasa_agent for astronomy, asteroid, Mars rover, and Earth imagery dataThe backend manager agent decides which specialists are needed, collects their outputs, and returns one final conversational answer to the frontend.
React Frontend
-> POST /chat
FastAPI Backend
-> CrewAI manager agent
-> Weather agent -> Weather MCP -> OpenWeather APIs
-> News agent -> News MCP -> NewsAPI
-> NASA agent -> NASA MCP -> api.nasa.gov
POST /chat endpoint.run_crew(user_query) using a hierarchical CrewAI process./execute endpoint.agentic_web_app/
backend/ CrewAI orchestration backend
frontend/ React + Tailwind chat UI
mcp-servers/ Weather, News, and NASA MCP services
scripts/ Test runner helpers
test-logs/ Generated test logs and summaries
docker-compose.yml Multi-service local stack
pytest.ini Shared pytest markers
TESTING.md Detailed testing reference
This section explains the purpose of each important module so it is easier to extend the app safely.
backend/app/main.pyThe FastAPI entrypoint for the backend.
python-dotenvhttp://localhost:3000 and VITE_FRONTEND_URLPOST /chatGET /healthbackend/app/crew/crew.pyThe orchestration layer.
run_crew(user_query: str) -> strroute_query(...) for routing testsbackend/app/agents/weather_agent.pyDefines the Meteorologist agent.
backend/app/agents/news_agent.pyDefines the News Analyst agent.
backend/app/agents/nasa_agent.pyDefines the Space Scientist agent.
backend/app/tools/weather_tool.pyCrewAI BaseTool wrappers for the weather MCP server.
WEATHER_MCP_URL/executeWrapped tools:
geocode_cityget_current_and_forecastget_historical_weatherget_daily_aggregationget_weather_overviewbackend/app/tools/news_tool.pyCrewAI BaseTool wrappers for the News MCP server.
NEWS_MCP_URL/executeWrapped tools:
search_newsget_top_headlinesget_news_sourcesbackend/app/tools/nasa_tool.pyCrewAI BaseTool wrappers for the NASA MCP server.
NASA_MCP_URL/executeWrapped tools:
get_astronomy_pictureget_near_earth_asteroidsEach MCP service follows the same internal pattern:
app/main.py: FastAPI entrypointapp/server.py: tool registry, request handlers, and execution logicapp/client.py: HTTP client for the upstream public APIapp/schemas.py: request/response models and input schemastests/: MCP app tests for /health, /tools, and /executeEach MCP service exposes the same contract:
GET /healthGET /toolsPOST /executemcp-servers/weather/Wraps OpenWeatherMap geocoding and One Call 3.0 APIs.
Primary files:
app/main.pyapp/server.pyapp/client.pyapp/schemas.pyTools:
geocode_cityget_current_and_forecastget_historical_weatherget_daily_aggregationget_weather_overviewmcp-servers/news/Wraps NewsAPI v2.
Primary files:
app/main.pyapp/server.pyapp/client.pyapp/schemas.pyTools:
search_newsget_top_headlinesget_news_sourcesmcp-servers/nasa/Wraps NASA public APIs.
Primary files:
app/main.pyapp/server.pyapp/client.pyapp/schemas.pyTools:
get_astronomy_pictureget_near_earth_asteroidsget_mars_rover_photosget_earth_imageryfrontend/src/main.tsxBootstraps the React application.
frontend/src/App.tsxThe app shell that mounts the chat interface.
frontend/src/components/ChatInterface.tsxThe main user interface.
frontend/src/services/api.tsFrontend streaming client.
VITE_BACKEND_URLPOST /chatReadableStreamfrontend/src/index.cssTailwind setup and shared app styling.
backend/tests/test_tool_wrappers.py: unit tests for the CrewAI MCP wrapperstest_backend_e2e.py: mocked end-to-end crew testtest_live_smoke.py: live service availability checkstest_groq_routing_integration.py: real Groq routing verificationconftest.py: shared pytest setup, env loading, delays, markersmcp-servers/*/tests/Service-level tests for MCP endpoints and tool execution.
scripts/run_pytest_group.pyRuns one pytest group and writes a log file under test-logs/.
scripts/run_all_tests.pyRuns all major test groups sequentially with built-in pauses and summary files.
TESTING.mdTesting-specific reference guide with command examples and log behavior.
For local development:
You also need API keys for:
Create these files from the corresponding .env.example templates:
backend/.envfrontend/.envmcp-servers/weather/.envmcp-servers/news/.envmcp-servers/nasa/.envBACKEND_HOST=0.0.0.0
BACKEND_PORT=8000
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=openai/gpt-oss-120b
GROQ_MODEL_AGENTS=openai/gpt-oss-20b
CREWAI_VERBOSE=true
WEATHER_MCP_URL=http://localhost:8001
NEWS_MCP_URL=http://localhost:8002
NASA_MCP_URL=http://localhost:8003
VITE_FRONTEND_URL=http://localhost:3000
VITE_BACKEND_URL=http://localhost:8000
VITE_APP_NAME=Agentic Web App
File:
mcp-servers/weather/.envRequired variables:
OPENWEATHER_API_KEY: API key for OpenWeatherMapOPENWEATHER_GEO_BASE_URL: base URL for the geocoding APIOPENWEATHER_ONECALL_BASE_URL: base URL for One Call 3.0 endpointsMCP_SERVER_HOST: host interface for the FastAPI serverMCP_SERVER_PORT: service port, expected to be 8001MCP_SERVER_NAME: service name returned by /healthOPENWEATHER_API_KEY=your_openweather_api_key
OPENWEATHER_GEO_BASE_URL=https://api.openweathermap.org/geo/1.0
OPENWEATHER_ONECALL_BASE_URL=https://api.openweathermap.org/data/3.0
MCP_SERVER_HOST=0.0.0.0
MCP_SERVER_PORT=8001
MCP_SERVER_NAME=weather-mcp
File:
mcp-servers/news/.envRequired variables:
NEWSAPI_KEY: API key for NewsAPINEWSAPI_BASE_URL: base URL for NewsAPI v2MCP_SERVER_HOST: host interface for the FastAPI serverMCP_SERVER_PORT: service port, expected to be 8002MCP_SERVER_NAME: service name returned by /healthNEWSAPI_KEY=your_newsapi_key
NEWSAPI_BASE_URL=https://newsapi.org/v2
MCP_SERVER_HOST=0.0.0.0
MCP_SERVER_PORT=8002
MCP_SERVER_NAME=news-mcp
File:
mcp-servers/nasa/.envRequired variables:
NASA_API_KEY: API key for NASA public APIsNASA_BASE_URL: base URL for APOD, Earth imagery, and asteroid endpointsNASA_MARS_BASE_URL: base URL for Mars rover photo endpointsMCP_SERVER_HOST: host interface for the FastAPI serverMCP_SERVER_PORT: service port, expected to be 8003MCP_SERVER_NAME: service name returned by /healthNASA_API_KEY=your_nasa_api_key
NASA_BASE_URL=https://api.nasa.gov
NASA_MARS_BASE_URL=https://api.mars-photos.nasa.gov
MCP_SERVER_HOST=0.0.0.0
MCP_SERVER_PORT=8003
MCP_SERVER_NAME=nasa-mcp
git clone <your-repo-url>
cd agentic_web_app
Copy the templates:
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
cp mcp-servers/weather/.env.example mcp-servers/weather/.env
cp mcp-servers/news/.env.example mcp-servers/news/.env
cp mcp-servers/nasa/.env.example mcp-servers/nasa/.env
Then fill in your real API keys.
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r backend/requirements.txt
pip install -r mcp-servers/weather/requirements.txt
pip install -r mcp-servers/news/requirements.txt
pip install -r mcp-servers/nasa/requirements.txt
cd frontend
npm install
cd ..
Start the services in this order.
cd mcp-servers/weather
python -m app.main
cd mcp-servers/news
python -m app.main
cd mcp-servers/nasa
python -m app.main
cd backend
python -m app.main
cd frontend
npm run dev
Visit:
http://localhost:3000
30008000800180028003Build and start everything:
docker compose up --build
Open:
http://localhost:3000
frontend -> host port 3000backend -> host port 8000mcp-weather -> host port 8001mcp-news -> host port 8002mcp-nasa -> host port 8003The frontend uses Vite, which means VITE_* values are baked in at build time. If you change VITE_BACKEND_URL, rebuild the frontend image or rerun docker compose up --build so the new value is included in the static bundle.
You can verify the services individually:
curl http://localhost:8000/health
curl http://localhost:8001/health
curl http://localhost:8002/health
curl http://localhost:8003/health
Run the full scripted test sequence:
python scripts/run_all_tests.py
Run a single test group:
python scripts/run_pytest_group.py --group mcp-app
python scripts/run_pytest_group.py --group backend-unit
python scripts/run_pytest_group.py --group smoke
python scripts/run_pytest_group.py --group integration
Useful direct pytest commands:
pytest mcp-servers/weather/tests
pytest mcp-servers/news/tests
pytest mcp-servers/nasa/tests
pytest backend/tests/test_tool_wrappers.py
pytest -m smoke
pytest -m integration
For more detail, see TESTING.md.
run_crew() returns. It is streaming text to the frontend, but not yet true token-by-token model streaming from Groq.http://localhost:8001. Docker-internal names like http://mcp-weather:8001 only resolve inside the Compose network.frontend/package-lock.json before relying on Docker npm ci.Check:
frontend/.env contains the correct VITE_BACKEND_URL8000Check:
GROQ_API_KEY is present in backend/.envWEATHER_MCP_URL, NEWS_MCP_URL, and NASA_MCP_URL point to reachable servicesCheck:
Rebuild the frontend image after updating VITE_BACKEND_URL:
docker compose up --build
If you are new to the codebase, this is a good reading order:
backend/app/main.pybackend/app/crew/crew.pybackend/app/agents/*.pybackend/app/tools/*.pymcp-servers/*/app/server.pyfrontend/src/components/ChatInterface.tsxfrontend/src/services/api.tsAdd the project license here if you plan to publish the repository.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-10T01:03:53.628Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Ritam3",
"href": "https://github.com/ritam3/Weather-News-Space-Agent",
"sourceUrl": "https://github.com/ritam3/Weather-News-Space-Agent",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T22:27:20.657Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T22:27:20.657Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-ritam3-weather-news-space-agent/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to Weather-News-Space-Agent and adjacent AI workflows.