Skip to main content
Glama
Makefile5.91 kB
# GeoSight MCP Server - Makefile # Common commands for development, testing, and deployment .PHONY: help install dev test lint format clean docker-build docker-up docker-down # Default target help: @echo "🛰️ GeoSight MCP Server - Available Commands" @echo "" @echo "Development:" @echo " make install - Install dependencies" @echo " make dev - Install with development dependencies" @echo " make run - Run the MCP server" @echo " make run-http - Run the server in HTTP mode" @echo " make dashboard - Run the Streamlit dashboard" @echo "" @echo "Testing:" @echo " make test - Run all tests" @echo " make test-cov - Run tests with coverage" @echo " make lint - Run linter" @echo " make format - Format code" @echo " make typecheck - Run type checker" @echo "" @echo "Docker:" @echo " make docker-build - Build Docker images" @echo " make docker-up - Start all services" @echo " make docker-down - Stop all services" @echo " make docker-logs - View logs" @echo "" @echo "Deployment:" @echo " make deploy-railway - Deploy to Railway" @echo " make deploy-fly - Deploy to Fly.io" @echo "" @echo "Utilities:" @echo " make clean - Clean build artifacts" @echo " make check - Check system dependencies" @echo " make demo - Generate demo report" # ============================================================================ # Development # ============================================================================ install: pip install -e . dev: pip install -e ".[dev]" run: python -m geosight.server run-http: SERVER_MODE=http python -m geosight.server dashboard: cd dashboard && streamlit run app.py cli: python -m geosight.cli # ============================================================================ # Testing # ============================================================================ test: pytest -v test-cov: pytest --cov=geosight --cov-report=html --cov-report=term @echo "Coverage report: htmlcov/index.html" test-integration: pytest tests/integration/ -v # ============================================================================ # Code Quality # ============================================================================ lint: ruff check src/ tests/ lint-fix: ruff check src/ tests/ --fix format: black src/ tests/ format-check: black src/ tests/ --check typecheck: mypy src/ quality: format lint typecheck @echo "✅ All quality checks passed" # ============================================================================ # Docker # ============================================================================ docker-build: docker-compose build docker-up: docker-compose up -d docker-down: docker-compose down docker-logs: docker-compose logs -f geosight docker-shell: docker-compose exec geosight bash docker-clean: docker-compose down -v --rmi local # Infrastructure only (for local development) infra-up: docker-compose up -d redis postgres minio infra-down: docker-compose stop redis postgres minio # ============================================================================ # Database # ============================================================================ db-migrate: @echo "Running database migrations..." docker-compose exec postgres psql -U postgres -d geosight -f /docker-entrypoint-initdb.d/init-db.sql db-reset: docker-compose down -v postgres docker-compose up -d postgres sleep 5 $(MAKE) db-migrate db-shell: docker-compose exec postgres psql -U postgres -d geosight # ============================================================================ # Deployment # ============================================================================ deploy-railway: railway up deploy-fly: fly deploy deploy-docker: docker build -t geosight:latest . @echo "Image built. Push to your registry with:" @echo " docker tag geosight:latest your-registry/geosight:latest" @echo " docker push your-registry/geosight:latest" # ============================================================================ # Utilities # ============================================================================ clean: find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true find . -type d -name ".pytest_cache" -exec rm -rf {} + 2>/dev/null || true find . -type d -name ".mypy_cache" -exec rm -rf {} + 2>/dev/null || true find . -type d -name "*.egg-info" -exec rm -rf {} + 2>/dev/null || true find . -type d -name "htmlcov" -exec rm -rf {} + 2>/dev/null || true find . -type f -name "*.pyc" -delete 2>/dev/null || true find . -type f -name ".coverage" -delete 2>/dev/null || true @echo "✅ Cleaned build artifacts" check: python -m geosight.cli check demo: python -m geosight.cli demo --output demo_report.html @echo "Demo report generated: demo_report.html" # Generate requirements.txt from pyproject.toml requirements: pip-compile pyproject.toml -o requirements.txt # ============================================================================ # Documentation # ============================================================================ docs: @echo "Documentation available in docs/ directory" @echo " - README.md - Project overview" @echo " - docs/IMPLEMENTATION_GUIDE.md - Setup guide" @echo " - docs/DEPLOYMENT.md - Deployment guide" # ============================================================================ # Release # ============================================================================ version: @python -c "from geosight import __version__; print(__version__)" release-patch: @echo "Bumping patch version..." # Implement version bumping logic release-minor: @echo "Bumping minor version..." # Implement version bumping logic release-major: @echo "Bumping major version..." # Implement version bumping logic

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/armaasinghn/geosight-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server