A comprehensive Model Context Protocol (MCP) server providing advanced graph analysis capabilities using NetworkX.
- Complete MCP Implementation: Full Model Context Protocol support with Tools, Resources, and Prompts
- Modular Architecture: Clean, maintainable codebase with 35+ focused modules
- Advanced Graph Analysis: Comprehensive suite of graph algorithms and analytics
- Production Ready: Enterprise-grade security, monitoring, and scalability features
- Developer Friendly: Extensive documentation, testing, and development tools
The server follows a clean modular architecture:
βββ Core Layer # Basic graph operations and MCP server
βββ Handler Layer # Function organization and re-exports
βββ Advanced Layer # Specialized algorithms and features
βββ Supporting Layer # Monitoring, security, and infrastructure
See ARCHITECTURE.md for detailed architectural documentation.
git clone https://github.com/username/networkx-mcp-server.git
cd networkx-mcp-server
pip install -e .
from networkx_mcp.server import create_graph, add_nodes, add_edges
# Create a graph
result = create_graph("my_graph", "undirected")
# Add nodes and edges
add_nodes("my_graph", ["A", "B", "C"])
add_edges("my_graph", [("A", "B"), ("B", "C")])
# Start the MCP server
python -m networkx_mcp
# Or use the development script
./run_tests.sh
The project maintains 80%+ test coverage with comprehensive test suites:
# Run all tests
pytest
# Run with coverage
pytest --cov=src/networkx_mcp --cov-report=html
# Run specific test categories
pytest tests/unit/ # Unit tests
pytest tests/integration/ # Integration tests
pytest tests/performance/ # Performance tests
- Architecture Overview - Complete system architecture
- Module Structure - Detailed module organization
- Development Guide - Developer handbook
- API Documentation - Detailed API reference
We welcome contributions! Please see our Development Guide for:
- Setting up the development environment
- Code standards and conventions
- Testing requirements
- Submission guidelines
# Install development dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install
# Run the test suite
pytest
This project maintains high quality standards:
- Code Quality: Automated formatting with ruff, black, and isort
- Type Safety: Comprehensive type hints with mypy validation
- Security: Bandit security scanning and vulnerability checks
- Testing: 80%+ test coverage with multiple test categories
- Documentation: Comprehensive documentation and examples
- Python 3.11+
- NetworkX 3.0+
- FastMCP (or compatible MCP implementation)
See pyproject.toml for complete dependency list.
# Build and run with Docker
docker build -t networkx-mcp-server .
docker run -p 8000:8000 networkx-mcp-server
# Deploy to Kubernetes
kubectl apply -f k8s/
See deployment documentation for production deployment guides.
The server is optimized for performance:
- Modular Design: Efficient memory usage and fast load times
- Algorithm Optimization: Optimized implementations for large graphs
- Monitoring: Built-in performance metrics and health checks
- Scalability: Stateless design supporting horizontal scaling
Security is a top priority:
- Input Validation: Comprehensive input sanitization and validation
- Access Control: Authentication and authorization layers
- Audit Logging: Complete audit trail for security events
- Vulnerability Scanning: Automated dependency vulnerability checks
Built-in observability features:
- Health Checks: Comprehensive health monitoring endpoints
- Metrics: Performance and usage metrics collection
- Tracing: Distributed tracing support
- Logging: Structured logging with configurable levels
networkx-mcp-server/
βββ src/networkx_mcp/ # Main source code
β βββ core/ # Core graph operations
β βββ handlers/ # Function handlers
β βββ advanced/ # Advanced algorithms
β βββ monitoring/ # Monitoring and observability
β βββ security/ # Security features
βββ tests/ # Comprehensive test suite
βββ docs/ # Documentation
βββ scripts/ # Development and deployment scripts
βββ examples/ # Usage examples
This project is licensed under the MIT License - see the LICENSE file for details.
- NetworkX team for the excellent graph analysis library
- FastMCP team for the Model Context Protocol implementation
- Contributors and users of this project
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Project Documentation
Built with β€οΈ for the graph analysis community