
Unlocking your internal APIs for AI β The missing bridge that transforms how AI tools discover and interact with your organization's hidden service ecosystem.
Planet Earth is an open-source platform that bridges the gap between modern AI-powered development environments and your internal services. By indexing and vectorizing your internal OpenAPI schemas, Planet Earth enables AI IDEs to discover and utilize your private APIs - something traditional AI assistants can't do without specific context about your internal systems.
- API Discovery: Index and search internal OpenAPI schemas through vector embeddings
- AI IDE Integration: Seamlessly connect AI-powered IDEs with your internal services
- MCP Server: Expose a Machine Code Protocol server that AI tools can leverage
- Self-Hosted: Deploy on your own infrastructure, keeping sensitive API data secure
- Scalable Architecture: Built with FastAPI, Celery, React, Postgres with pgvector, and Bun for scalable MCP (Optional)
- Helm Support: Easy Kubernetes deployment with included Helm charts
- BYO Infrastructure: Bring your own Postgres or Redis instances if desired
- π Overview
- β¨ Features
- π Table of Contents
- ποΈ System Architecture
- π§ Installation
- π Usage
- π Project Structure
- π» Development
- π₯ Contributing
- π License
- π Community
Planet Earth follows a modern, microservices-based architecture:
The diagram below shows the major services in Planet Earth and their primary communication paths. The backend (earth-service
) exposes an MCP endpoint for low/normal traffic, while the dedicated earth-mcp
service is used for high-scale MCP workloads. Both MCP endpoints can be connected to by AI IDEs. Only the most essential connections are shown for clarity.
flowchart TD
FE[earth-frontend React]
BE[earth-service FastAPI]
CEL[Celery Worker]
REDIS[Redis]
PG[Postgres + pgvector]
MCP[earth-mcp Bun, high-scale MCP]
IDE[AI IDE]
FE --> BE
BE ---> PG
BE --> REDIS
CEL ---> PG
REDIS --> CEL
BE <-.-> IDE
MCP <-.-> IDE
MCP <---> PG
Key points:
- The backend (
earth-service
) exposes an MCP endpoint for low/normal traffic, and also handles core API and Celery orchestration. - The dedicated
earth-mcp
service is used for high-scale MCP workloads and only interacts with the vector database (pgvector in Postgres) and AI IDEs. - Both MCP endpoints can be added to your AI IDE for internal API discovery and usage.
- Docker and Docker Compose
- Kubernetes cluster (for production deployments)
- Helm (for Kubernetes deployments)
# Clone the repository
git clone https://github.com/uriafranko/planet-earth.git
cd planet-earth/earth-service
# Create .env file (copy from example)
cp .env.example .env
# Start all services
docker-compose up -d
# Add the Planet Earth Helm repository
helm repo add planet-earth https://your-username.github.io/planet-earth/charts
# Update repositories
helm repo update
# Install Planet Earth
helm install planet-earth planet-earth/earth-chart \
--namespace planet-earth \
--create-namespace \
--values your-values.yaml
- Access the Planet Earth web interface at
http://localhost:3000
(or your custom domain) - Navigate to the "Schemas" section
- Upload your OpenAPI / Postman JSON or YAML files
- Planet Earth will automatically process and index the schemas
- In your Planet Earth dashboard, go to "MCP Settings"
- Copy your MCP endpoint URL and API key
- Configure your AI IDE to use the Planet Earth MCP:
- For Cursor: Settings > AI > Custom Tools > Add MCP Server
- For other IDEs: Follow your IDE's documentation for MCP/custom tool integration
Once connected, your AI IDE will be able to discover and use your internal APIs during code generation and assistance. Simply describe what you're trying to do, and the AI will suggest the appropriate internal API calls.
planet-earth/
βββ earth-service/ # FastAPI backend + Celery workers
β βββ app/ # Application code
β βββ tests/ # Backend tests
β βββ Dockerfile # Backend Docker image
β βββ compose.yaml # Docker compose configuration
β
βββ earth-frontend/ # React frontend
β βββ src/ # Frontend source code
β βββ public/ # Static assets
β
βββ earth-mcp/ # Scalable MCP server (Bun)
β βββ index.ts # MCP server code
β βββ Dockerfile # MCP Docker image
β
βββ earth-chart/ # Helm charts for Kubernetes deployment
β βββ templates/ # Kubernetes manifest templates
β βββ values.yaml # Default configuration values
β
βββ docs/ # Documentation
β βββ getting-started/ # Getting started guides
β βββ api/ # API documentation
β
βββ scripts/ # Utility scripts
βββ .github/ # GitHub workflows and templates
βββ README.md # This file
# Clone the repository
git clone https://github.com/uriafranko/planet-earth.git
cd planet-earth
# Backend development
cd earth-service
make install
pre-commit install
# Frontend development
cd ../earth-frontend
npm install
# Start development servers
cd ../earth-service
docker-compose -f compose.yaml up
# Backend tests
cd earth-service
pytest
# Frontend tests
cd ../earth-frontend
npm test
We love contributions! Please see our Contributing Guide for details on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub Discussions - For questions and discussions