NANDA - Host a Registry

Overview

The NANDA Registry is a multi-institutional decentralized registry and discovery platform for servers built on top of Networked Agents and Decentralized AI (NANDA) and Model Context Protocol (MCP).

It enables:

  • Registration and management of servers (Agents, Resources, and Tools)
  • Discovery of available servers based on various criteria
  • Verification of servers
  • Rating and reviews of servers
  • Analytics tracking on server usage
  • Webhook integration for event notifications

System Architecture

The NANDA Registry is built with:

  • Framework: Django 5.1 with Django REST Framework
  • Database: PostgreSQL
  • Caching & Message Broker: Redis
  • Task Queue: Celery
  • Real-time Communication: Django Channels
  • Authentication: JWT (JSON Web Tokens)
  • Documentation: drf-spectacular (OpenAPI)
  • Deployment: Docker, Nginx, Let's Encrypt, AWS Elastic Beanstalk

Deployment Options

Docker Deployment (Recommended)

Prerequisites:

  • Docker and Docker Compose
  • Domain name (for production deployment)
  • SSL certificate (Let's Encrypt recommended)
# Clone the repository
git clone https://github.com/aidecentralized/nanda-registry.git
cd nanda-registry

# Create .env file with configuration
# Build and run Docker containers
docker-compose up -d

# Create superuser
docker-compose exec web python manage.py createsuperuser

AWS Elastic Beanstalk Deployment

# Clone the repository
git clone https://github.com/aidecentralized/nanda-registry.git
cd nanda-registry

# Create Elastic Beanstalk environment
eb init -p docker
eb create nanda-registry-env

# Deploy the application
eb deploy

Configuration

Configure environment variables in the .env file or Elastic Beanstalk console. Key variables include:

  • SECRET_KEY
  • DATABASE configuration
  • Redis and Celery settings
  • Email configuration

Maintenance

Database Backups

# Docker deployment
docker-compose exec db pg_dump -U postgres mcp_nexus > backup_$(date +%Y%m%d).sql

# AWS
aws rds create-db-snapshot --db-instance-identifier your-db-identifier

API Documentation

When running the application, API documentation is available at:

  • Swagger UI: /api/v1/schema/swagger-ui/
  • ReDoc: /api/v1/schema/redoc/

Core Features

  • Server Registration
  • Server Discovery
  • Verification System
  • Analytics
  • Webhooks

Security Considerations

  • Regularly update dependencies
  • Set strong passwords
  • Keep DEBUG=False in production
  • Configure proper HTTPS
  • Implement rate limiting