/networkx-mcp-server

πŸ•ΈοΈ First NetworkX MCP server for graph analysis in AI conversations | Community & Enterprise editions | Graph algorithms β€’ Network analysis β€’ MCP integration

Primary LanguagePythonMIT LicenseMIT

NetworkX MCP Server

A comprehensive Model Context Protocol (MCP) server providing advanced graph analysis capabilities using NetworkX.

πŸš€ Features

  • 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

πŸ—οΈ Architecture

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.

πŸ“¦ Quick Start

Installation

git clone https://github.com/username/networkx-mcp-server.git
cd networkx-mcp-server
pip install -e .

Basic Usage

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")])

Running the Server

# Start the MCP server
python -m networkx_mcp

# Or use the development script
./run_tests.sh

πŸ§ͺ Testing

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

πŸ“– Documentation

🀝 Contributing

We welcome contributions! Please see our Development Guide for:

  • Setting up the development environment
  • Code standards and conventions
  • Testing requirements
  • Submission guidelines

Quick Development Setup

# Install development dependencies
pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

# Run the test suite
pytest

πŸ† Quality Standards

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

πŸ“‹ Requirements

  • Python 3.11+
  • NetworkX 3.0+
  • FastMCP (or compatible MCP implementation)

See pyproject.toml for complete dependency list.

πŸš€ Deployment

Docker

# Build and run with Docker
docker build -t networkx-mcp-server .
docker run -p 8000:8000 networkx-mcp-server

Kubernetes

# Deploy to Kubernetes
kubectl apply -f k8s/

See deployment documentation for production deployment guides.

πŸ“Š Performance

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

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

πŸ“ˆ Monitoring

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

πŸ—‚οΈ Project Structure

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

πŸ“œ License

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

πŸ™ Acknowledgments

  • NetworkX team for the excellent graph analysis library
  • FastMCP team for the Model Context Protocol implementation
  • Contributors and users of this project

πŸ“ž Support


Built with ❀️ for the graph analysis community