Skip to main content
Glama

OpenDSS MCP Server

CHANGELOG.md8.06 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.0.0] - 2024-10-20 ### 🎉 Initial Release First production release of OpenDSS MCP Server - bringing conversational AI to power system analysis. **Mission**: Reduce distribution planning studies from 2-3 weeks to 30 minutes through natural language interaction. ### Added #### Core MCP Tools (7/7 Implemented) - **Tool 1: `load_ieee_test_feeder`** - Load IEEE 13, 34, and 123 bus test feeders - **Tool 2: `run_power_flow`** - Power flow analysis with optional harmonic analysis - **Tool 3: `optimize_der_placement`** - DER placement optimization with volt-var/volt-watt control - **Tool 4: `check_voltage_violations`** - Voltage violation detection with customizable limits - **Tool 5: `analyze_feeder_capacity`** - Hosting capacity analysis with incremental loading - **Tool 6: `run_time_series_simulation`** - Multi-timestep simulation with load/generation profiles - **Tool 7: `generate_visualization`** - Network diagrams, voltage profiles, and analysis plots #### Features - Natural language interface through Model Context Protocol (MCP) - Support for IEEE 13, 34, and 123 bus test feeders - Harmonic analysis with THD calculations - Smart inverter control (IEEE 1547, Rule 21 volt-var curves) - DER types: Solar PV, Battery Storage, Wind, EV Chargers, Hybrid systems - Time-series simulation with custom load/generation profiles - Network visualization with matplotlib and networkx - Comprehensive error handling and validation - Structured JSON responses for all tools #### Performance - Power flow (IEEE123): ~0.3ms (>1000x faster than 5s target) - DER optimization (10 buses): ~5ms (>1000x faster than 30s target) - 24-hour simulation: ~1.5ms (>1000x faster than 60s target) #### Testing & Quality - 220 comprehensive tests with 78% code coverage - Automated testing across Python 3.10, 3.11, 3.12 - Code quality score: 8.38/10 (pylint) - Black code formatting (PEP 8 compliant) - Comprehensive type hints (mypy compatible) - Performance benchmarks suite #### Documentation - Complete README with quick start and examples - API reference for all tools - Installation and setup guide - Contributing guidelines - Project architecture documentation (CLAUDE.md) - Verification guide (VERIFICATION.md) - Publishing guide (PUBLISHING.md) - Announcement templates (docs/ANNOUNCEMENT.md) #### CI/CD - GitHub Actions workflows for testing, linting, and publishing - Automated multi-version Python testing - Code quality checks (black, pylint, mypy) - Codecov integration for coverage tracking - Automated PyPI publishing on tag release - Tag-based release workflow with version verification #### Infrastructure - Package build configuration (pyproject.toml) - Automated verification script (verify_complete.sh) - Performance benchmark suite (tests/benchmark.py) - IEEE feeder data files included - Example scripts and usage demonstrations ### Technical Details **Dependencies**: - mcp >= 0.9.0 (Model Context Protocol) - opendssdirect.py >= 0.8.4 (OpenDSS Python interface) - pandas >= 2.0.0 (Data manipulation) - numpy >= 1.24.0 (Numerical computing) - matplotlib >= 3.7.0 (Visualization) - networkx >= 3.1 (Network diagrams) **Python Support**: 3.10, 3.11, 3.12, 3.13 **Platforms**: Linux, macOS, Windows **License**: MIT ### Performance Benchmarks All benchmarks exceed targets by >1000x: | Operation | Target | Actual | Status | |-----------|--------|--------|--------| | Power Flow (IEEE123) | < 5s | ~0.3ms | ✅ | | DER Optimization (10 buses) | < 30s | ~5ms | ✅ | | Time-Series (24 hours) | < 60s | ~1.5ms | ✅ | ### Test Coverage by Module | Module | Coverage | Tests | |--------|----------|-------| | visualization.py | 98% | 28 tests | | voltage_checker.py | 93% | 12 tests | | inverter_control.py | 92% | 18 tests | | timeseries.py | 87% | 17 tests | | feeder_loader.py | 86% | 5 tests | | power_flow.py | 86% | 32 tests | | harmonics.py | 83% | 32 tests | | capacity.py | 79% | 13 tests | | der_optimizer.py | 77% | 19 tests | | **Overall** | **78%** | **220 tests** | ### Known Limitations - IEEE feeder data requires relative path handling (documented) - Some OpenDSS properties return single values vs. arrays (handled) - Harmonic analysis requires convergence at each frequency - Time-series assumes constant topology (no switching) - MCP server is single-threaded (OpenDSS limitation) ### Breaking Changes None - this is the initial release. ### Deprecations None - this is the initial release. ### Security No known security vulnerabilities. Package uses standard dependencies with regular updates. ### Contributors - Ahmed Elshazly (@ahmedelshazly27) - Initial development and implementation ### Acknowledgments - EPRI for OpenDSS - Anthropic for Model Context Protocol - OpenDSS community for opendssdirect.py - IEEE for test feeder models --- ## [Unreleased] ### Planned Features (v1.1.0+) - Additional IEEE feeders (37-bus, 8500-node) - Custom feeder import from OpenDSS files - Advanced control strategies (dynamic VAR control) - Multi-objective optimization - Fault analysis capabilities - Protection coordination tools - Export capabilities (CSV, Excel, JSON) - Interactive dashboard (web UI) - Parallel processing for large-scale analysis - Integration with other power system tools ### Under Consideration - Database backend for results storage - RESTful API alongside MCP - Cloud deployment options - Docker containerization - Integration with GIS systems - Load forecasting integration - Weather data integration - Cost optimization capabilities --- ## Version History ### Release Timeline - **2024-10-20**: v1.0.0 - Initial production release - **2024-10**: Development phase - All 7 tools implemented - **2024-09**: Project inception and planning ### Version Numbering This project follows [Semantic Versioning](https://semver.org/): - **MAJOR** version for incompatible API changes - **MINOR** version for backwards-compatible functionality additions - **PATCH** version for backwards-compatible bug fixes ### Support Policy - Latest major version receives active development - Previous major version receives security updates for 6 months - Bug fixes prioritized based on severity and impact --- ## How to Upgrade ### From Source Installation ```bash # Pull latest changes git pull origin main # Reinstall pip install -e . # Run tests to verify pytest ``` ### From PyPI (when available) ```bash # Upgrade to latest version pip install --upgrade opendss-mcp-server # Upgrade to specific version pip install opendss-mcp-server==1.0.0 ``` --- ## Migration Guides ### Upgrading to v1.0.0 This is the initial release - no migration needed. --- ## Reporting Issues Found a bug or have a feature request? 1. Check [existing issues](https://github.com/ahmedelshazly27/opendss-mcp-server/issues) 2. Create a new issue with: - Clear description - Steps to reproduce (for bugs) - Expected vs actual behavior - Environment details (OS, Python version) - Minimal reproducible example --- ## Links - **Repository**: https://github.com/ahmedelshazly27/opendss-mcp-server - **Issues**: https://github.com/ahmedelshazly27/opendss-mcp-server/issues - **Releases**: https://github.com/ahmedelshazly27/opendss-mcp-server/releases - **PyPI**: https://pypi.org/project/opendss-mcp-server/ (coming soon) - **Documentation**: See README.md and CLAUDE.md --- **[1.0.0]**: https://github.com/ahmedelshazly27/opendss-mcp-server/releases/tag/v1.0.0 **[Unreleased]**: https://github.com/ahmedelshazly27/opendss-mcp-server/compare/v1.0.0...HEAD

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahmedelshazly27/opendss-mcp-server1'

If you have feedback or need assistance with the MCP directory API, please join our Discord server