jaredgrogan
MCP Serverjaredgroganpublic

nanda registry

一个基于分布式网络代理和去中心化 AI 的多机构服务器注册与发现平台。

Repository Info

0
Stars
0
Forks
0
Watchers
0
Issues
Python
Language
-
License

About This Server

一个基于分布式网络代理和去中心化 AI 的多机构服务器注册与发现平台。

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

NANDA Registry

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).

Overview

The NANDA Registry provides a comprehensive API and management system for registering, discovering, and verifying servers in a decentralized architecture. 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

This project 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

Prerequisites

  • Docker and Docker Compose
  • Domain name (for production deployment)
  • SSL certificate (Let's Encrypt recommended)

Steps

  1. Clone the repository:

    git clone https://github.com/aidecentralized/nanda-registry.git
    cd nanda-registry
    
  2. Create a .env file with the following variables:

    # Django
    SECRET_KEY=your-secret-key
    DEBUG=False
    ALLOWED_HOSTS=your-domain.com,www.your-domain.com
    
    # Database
    DB_NAME=nanda_db
    DB_USER=postgres
    DB_PASSWORD=[strong-password]
    DB_HOST=db
    DB_PORT=5432
    
    # Redis
    REDIS_URL=redis://redis:6379/0
    
    # Celery
    CELERY_BROKER_URL=redis://redis:6379/1
    CELERY_RESULT_BACKEND=redis://redis:6379/2
    
    # Email (for verification, not working as of now)
    EMAIL_HOST=smtp.example.com
    EMAIL_PORT=587
    EMAIL_HOST_USER=your-email@example.com
    EMAIL_HOST_PASSWORD=your-email-password
    EMAIL_USE_TLS=True
    DEFAULT_FROM_EMAIL=noreply@your-domain.com
    
    # Frontend URL (for password reset and verification emails)
    FRONTEND_URL=https://your-domain.com
    
  3. Customize Nginx configuration:

    Edit the nginx/default.conf file to include your domain name and SSL configuration.

  4. Build and run the Docker containers:

    docker-compose up -d
    
  5. Create a superuser:

    docker-compose exec web python manage.py createsuperuser
    
  6. Set up SSL with Let's Encrypt:

    docker-compose exec nginx certbot --nginx -d your-domain.com -d www.your-domain.com
    

Option 2: AWS Elastic Beanstalk Deployment

The project is already configured for deployment to AWS Elastic Beanstalk. Talk to the MIT team if you need more help with configuring your AWS.

Prerequisites

  • AWS Account
  • AWS CLI configured
  • EB CLI installed

Steps

  1. Clone the repository:

    git clone https://github.com/aidecentralized/nanda-registry.git
    cd nanda-registry
    
  2. Create an Elastic Beanstalk environment:

    eb init -p docker
    eb create nanda-registry-env
    
  3. Set up environment variables in the Elastic Beanstalk console, or use:

    eb setenv SECRET_KEY=your-secret-key ALLOWED_HOSTS=your-domain.com,www.your-domain.com ...
    
  4. Deploy the application:

    eb deploy
    
  5. Configure your domain with Route 53 or your DNS provider.

Configuration Options

Environment Variables

VariableDescriptionDefault
SECRET_KEYDjango secret keyNone (required)
DEBUGDebug modeFalse
ALLOWED_HOSTSComma-separated list of allowed hostslocalhost,127.0.0.1
DB_NAMEDatabase namemcp_nexus
DB_USERDatabase userpostgres
DB_PASSWORDDatabase passwordNone (required)
DB_HOSTDatabase hostdb
DB_PORTDatabase port5432
REDIS_URLRedis URLredis://redis:6379/0
CELERY_BROKER_URLCelery broker URLredis://redis:6379/1
CELERY_RESULT_BACKENDCelery result backend URLredis://redis:6379/2
EMAIL_HOSTSMTP server hostNone
EMAIL_PORTSMTP server port587
EMAIL_HOST_USERSMTP server usernameNone
EMAIL_HOST_PASSWORDSMTP server passwordNone
EMAIL_USE_TLSUse TLS for emailTrue
DEFAULT_FROM_EMAILDefault sender emailNone
FRONTEND_URLFrontend URL for emailsNone

Custom Settings

Additional settings can be configured by editing mcp_nexus/settings.py:

  • VERIFICATION_TOKEN_EXPIRY: Duration for verification tokens
  • VERIFICATION_CHECK_INTERVAL: Interval for server health checks
  • ANALYTICS_RETENTION_DAYS: Days to retain analytics data

Maintenance

Database Backups

Set up regular database backups:

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

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

Logs

View logs:

# For Docker deployment
docker-compose logs -f web
docker-compose logs -f celery

# For AWS
eb logs

Updates

To update the system:

# For Docker deployment
git pull
docker-compose down
docker-compose build
docker-compose up -d

# For AWS
git pull
eb deploy

API Documentation

When running the application, comprehensive API documentation is available at:

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

Core Features

Server Registration

Users can register their MCP servers with:

  • Basic information (name, description, URL)
  • Server type (Agent, Resource, Tool)
  • Capabilities and parameters
  • Usage requirements

Server Discovery

The registry provides multiple ways to discover servers:

  • Full-text search
  • Filtering by type, tags, verification status
  • Recommendations based on usage patterns
  • Popular servers listing

Verification System

The registry verifies servers through:

  • Ownership verification (DNS, file, or meta tag)
  • Health checks
  • Capabilities validation
  • Security assessment

Analytics

Track and analyze:

  • Server usage patterns
  • Uptime and performance
  • Network-wide trends
  • Client behavior

Webhooks

Integrate with external systems through webhooks for events like:

  • Server registration/updates
  • Verification status changes
  • Server status changes

Customization

Branding

  • Update mcp_nexus/views.py to customize the home page
  • Replace logos and styles in the static files

Adding New Features

  1. Create a new Django app:

    docker-compose exec web python manage.py startapp new_feature
    
  2. Register the app in mcp_nexus/settings.py

  3. Add models, views, and URLs

  4. Update API documentation

Security Considerations

  • Regularly update dependencies
  • Set strong passwords for database and admin users
  • Keep DEBUG=False in production
  • Configure proper HTTPS
  • Implement rate limiting for public APIs
  • Consider adding WAF protection

Support and Community

  • GitHub Issues: Report bugs and feature requests
  • Contribution Guidelines: Follow PEP 8 style and include tests
  • Documentation: Keep API docs and README updated

License

This project is licensed under the MIT License - see the LICENSE file for details.

Quick Start

1

Clone the repository

git clone https://github.com/jaredgrogan/nanda-registry
2

Install dependencies

cd nanda-registry
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownerjaredgrogan
Reponanda-registry
LanguagePython
License-
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation