An MCP server that leverages graph structures to perform sophisticated scientific reasoning through an 8-stage processing pipeline, enabling AI systems to handle complex scientific queries with dynamic confidence scoring.
ββββββββββββββββββββββββββββββββββββββββ
β β
β π§ NexusMind π§ β
β β
β Intelligent Scientific β
β Reasoning through β
β Graph-of-Thoughts β
β β
ββββββββββββββββββββββββββββββββββββββββ
π Next-Generation AI Reasoning Framework for Scientific Research Leveraging graph structures to transform how AI systems approach scientific reasoning
NexusMind leverages graph structures to perform sophisticated scientific reasoning. It implements the Model Context Protocol (MCP) to integrate with AI applications like Claude Desktop, providing an Advanced Scientific Reasoning Graph-of-Thoughts (ASR-GoT) framework designed for complex research tasks.
Key highlights:
graph TD A[π± Stage 1: Initialization] --> B[π§© Stage 2: Decomposition] B --> C[π¬ Stage 3: Hypothesis/Planning] C --> D[π Stage 4: Evidence Integration] D --> E[βοΈ Stage 5: Pruning/Merging] E --> F[π Stage 6: Subgraph Extraction] F --> G[π Stage 7: Composition] G --> H[π€ Stage 8: Reflection] A1[Create root nodeSet initial confidenceDefine graph structure] --> A B1[Break into dimensionsIdentify componentsCreate dimensional nodes] --> B C1[Generate hypothesesCreate reasoning strategySet falsification criteria] --> C D1[Gather evidenceLink to hypothesesUpdate confidence scores] --> D E1[Remove low-value elementsConsolidate similar nodesOptimize structure] --> E F1[Identify relevant portionsFocus on high-value pathsCreate targeted subgraphs] --> F G1[Synthesize findingsCreate coherent insightsGenerate comprehensive answer] --> G H1[Evaluate reasoning qualityIdentify improvementsFinal confidence assessment] --> H style A fill:#e1f5fe style B fill:#f3e5f5 style C fill:#e8f5e8 style D fill:#fff3e0 style E fill:#ffebee style F fill:#f1f8e9 style G fill:#e3f2fd style H fill:#fce4ec
The core reasoning process follows a sophisticated 8-stage pipeline:
π± Initialization
π§© Decomposition
π¬ Hypothesis/Planning
π Evidence Integration
βοΈ Pruning/Merging
π Subgraph Extraction
π Composition
π€ Reflection
π Multi-DimensionalConfidence
π§ Graph-BasedKnowledge
π MCPIntegration
β‘ FastAPIBackend
π³ DockerDeployment
π§© ModularDesign
βοΈ ConfigurationManagement
π TypeSafety
π InterdisciplinaryBridge Nodes
π HyperedgeSupport
π StatisticalPower Analysis
π― ImpactEstimation
Core Features:
networkx
to model complex relationships with hyperedges and multi-layer networks Python 3.13+
FastAPI
NetworkX
Docker
Pytest
Pydantic
Poetry
Uvicorn
NexusMind/
βββ π config/ # Configuration files
β βββ settings.yaml # Application settings
β βββ claude_mcp_config.json # Claude MCP integration config
β βββ logging.yaml # Logging configuration
β
βββ π src/asr_got_reimagined/ # Main source code
β βββ π api/ # API layer
β β βββ π routes/ # API route definitions
β β β βββ mcp.py # MCP protocol endpoints
β β β βββ health.py # Health check endpoints
β β β βββ graph.py # Graph query endpoints
β β βββ schemas.py # API request/response schemas
β β βββ middleware.py # API middleware
β β
β βββ π domain/ # Core business logic
β β βββ π models/ # Domain models
β β β βββ common.py # Common types and enums
β β β βββ graph_elements.py # Node, Edge, Hyperedge models
β β β βββ graph_state.py # Graph state management
β β β βββ confidence.py # Confidence vector models
β β β βββ metadata.py # Metadata schemas
β β β
β β βββ π services/ # Business services
β β β βββ got_processor.py # Main GoT processing service
β β β βββ evidence_service.py # Evidence gathering and assessment
β β β βββ confidence_service.py # Confidence calculation service
β β β βββ graph_service.py # Graph manipulation service
β β β βββ mcp_service.py # MCP protocol service
β β β
β β βββ π stages/ # 8-Stage pipeline implementation
β β β βββ base_stage.py # Abstract base stage
β β β βββ stage_1_initialization.py # Stage 1: Graph initialization
β β β βββ stage_2_decomposition.py # Stage 2: Query decomposition
β β β βββ stage_3_hypothesis.py # Stage 3: Hypothesis generation
β β β βββ stage_4_evidence.py # Stage 4: Evidence integration
β β β βββ stage_5_pruning.py # Stage 5: Pruning and merging
β β β βββ stage_6_extraction.py # Stage 6: Subgraph extraction
β β β βββ stage_7_composition.py # Stage 7: Answer composition
β β β βββ stage_8_reflection.py # Stage 8: Quality reflection
β β β
β β βββ π utils/ # Utility functions
β β βββ graph_utils.py # Graph manipulation utilities
β β βββ confidence_utils.py # Confidence calculation utilities
β β βββ statistical_utils.py # Statistical analysis utilities
β β βββ bias_detection.py # Bias detection algorithms
β β βββ temporal_analysis.py # Temporal pattern analysis
β β
β βββ π infrastructure/ # Infrastructure layer
β β βββ π database/ # Database integration
β β βββ π cache/ # Caching layer
β β βββ π external/ # External service integrations
β β
β βββ main.py # Application entry point
β βββ app_setup.py # Application setup and configuration
β
βββ π tests/ # Test suite
β βββ π unit/ # Unit tests
β β βββ π stages/ # Stage-specific tests
β β βββ π services/ # Service tests
β β βββ π models/ # Model tests
β βββ π integration/ # Integration tests
β βββ π fixtures/ # Test fixtures and data
β
βββ π scripts/ # Utility scripts
β βββ setup_dev.py # Development setup
β βββ add_type_hints.py # Type hint utilities
β βββ deployment/ # Deployment scripts
β
βββ π docs/ # Documentation
β βββ api/ # API documentation
β βββ architecture/ # Architecture diagrams
β βββ examples/ # Usage examples
β
βββ π static/ # Static assets
β βββ nexusmind-logo.png # Application logo
β
βββ π Docker Files & Config
βββ Dockerfile # Docker container definition
βββ docker-compose.yml # Multi-container setup
βββ .dockerignore # Docker ignore patterns
β
βββ π Configuration Files
βββ pyproject.toml # Python project configuration
βββ poetry.lock # Dependency lock file
βββ mypy.ini # Type checking configuration
βββ pyrightconfig.json # Python type checker config
βββ .pre-commit-config.yaml # Pre-commit hooks
βββ .gitignore # Git ignore patterns
β
βββ π Documentation
βββ README.md # This file
βββ CHANGELOG.md # Version history
βββ LICENSE # Apache 2.0 license
βββ CONTRIBUTING.md # Contribution guidelines
Clone the repository:
git clone https://github.com/SaptaDey/NexusMind.git cd NexusMind
Install dependencies using Poetry:
poetry install
This creates a virtual environment and installs all necessary packages specified in pyproject.toml
.
Activate the virtual environment:
poetry shell
Configure the application:
# Copy example configuration cp config/settings.example.yaml config/settings.yaml # Edit configuration as needed vim config/settings.yaml
Set up environment variables (optional):
# Create .env file for sensitive configuration echo "LOG_LEVEL=DEBUG" > .env echo "API_HOST=0.0.0.0" >> .env echo "API_PORT=8000" >> .env
Run the development server:
python src/asr_got_reimagined/main.py
Alternatively, for more control:
uvicorn asr_got_reimagined.main:app --reload --host 0.0.0.0 --port 8000
The API will be available at http://localhost:8000
.
graph TB subgraph "Development Environment" A[π¨βπ» Developer] --> B[π³ Docker Compose] end subgraph "Container Orchestration" B --> C[π¦ NexusMind Container] B --> D[π Monitoring Container] B --> E[ποΈ Database Container] end subgraph "NexusMind Application" C --> F[β‘ FastAPI Server] F --> G[π§ ASR-GoT Engine] F --> H[π MCP Protocol] end subgraph "External Integrations" H --> I[π€ Claude Desktop] H --> J[π Other AI Clients] end style A fill:#e1f5fe style B fill:#f3e5f5 style C fill:#e8f5e8 style F fill:#fff3e0 style G fill:#ffebee style H fill:#f1f8e9
Quick Start with Docker Compose:
# Build and run all services docker-compose up --build # For detached mode (background) docker-compose up --build -d # View logs docker-compose logs -f nexusmind
Individual Docker Container:
# Build the image docker build -t nexusmind:latest . # Run the container docker run -p 8000:8000 -v $(pwd)/config:/app/config nexusmind:latest
Production Deployment:
# Use production compose file docker-compose -f docker-compose.prod.yml up --build -d
Access the Services:
http://localhost:8000/docs
http://localhost:8000/health
http://localhost:8000/mcp
MCP Protocol: POST /mcp
{ "method": "process_query", "params": { "query": "Analyze the relationship between microbiome diversity and cancer progression", "confidence_threshold": 0.7, "max_stages": 8 } }
Health Check: GET /health
{ "status": "healthy", "version": "0.1.0", "timestamp": "2024-05-23T10:30:00Z" }
Graph Query: POST /api/v1/graph/query
{ "query": "Research question or hypothesis", "parameters": { "disciplines": ["immunology", "oncology"], "confidence_threshold": 0.6, "include_temporal_analysis": true, "enable_bias_detection": true } }
Graph State: GET /api/v1/graph/{session_id}
Analytics: GET /api/v1/analytics/{session_id}
Subgraph Extraction: POST /api/v1/graph/{session_id}/extract
{ "criteria": { "min_confidence": 0.7, "node_types": ["hypothesis", "evidence"], "include_causal_chains": true } }
π§ͺTesting
πType Checking
β¨Linting
πCoverage
poetry run pytest
poetry run pytest -v
poetry run mypy src/
pyright src/
poetry run ruff check .
poetry run ruff format .
poetry run pytest --cov=src
coverage html
# Run full test suite with coverage poetry run pytest --cov=src --cov-report=html --cov-report=term # Run specific test categories poetry run pytest tests/unit/stages/ # Stage-specific tests poetry run pytest tests/integration/ # Integration tests poetry run pytest -k "test_confidence" # Tests matching pattern # Type checking and linting poetry run mypy src/ --strict # Strict type checking poetry run ruff check . --fix # Auto-fix linting issues poetry run ruff format . # Format code # Pre-commit hooks (recommended) poetry run pre-commit install # Install hooks poetry run pre-commit run --all-files # Run all hooks
Type Safety:
mypy.ini
and pyrightconfig.json
python scripts/add_type_hints.py
Code Quality:
config/settings.yaml
)# Core application settings app: name: "NexusMind" version: "0.1.0" debug: false log_level: "INFO" # API configuration api: host: "0.0.0.0" port: 8000 cors_origins: ["*"] # ASR-GoT Framework settings asr_got: max_stages: 8 default_confidence_threshold: 0.6 enable_bias_detection: true enable_temporal_analysis: true max_hypotheses_per_dimension: 5 # Graph settings graph: max_nodes: 10000 enable_hyperedges: true enable_multi_layer: true temporal_decay_factor: 0.1
config/claude_mcp_config.json
){ "name": "nexusmind", "description": "Advanced Scientific Reasoning with Graph-of-Thoughts", "version": "0.1.0", "endpoints": { "mcp": "http://localhost:8000/mcp" }, "capabilities": [ "scientific_reasoning", "graph_analysis", "confidence_assessment", "bias_detection" ] }
We welcome contributions! Please see our Contributing Guidelines for details.
git checkout -b feature/amazing-feature
poetry install --with dev
poetry run pytest
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Built with β€οΈ for the scientific research community NexusMind - Advancing scientific reasoning through intelligent graph structures
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!