- Use importlib.metadata for dynamic version (single source in pyproject.toml)
- Clean up duplicate `import re` statements across modules
- Add missing type hints to all public methods
- Fix PATH auto-discovery for ilspycmd (~/.dotnet/tools)
- Add pytest test suite with 35 tests covering models, metadata reader, wrapper
- Bump version to 0.2.0, add CHANGELOG.md
- Replace global mutable state with FastMCP lifespan pattern
- Add AppState dataclass for dependency management
- Use lifespan context for ILSpyWrapper caching
- get_wrapper() now accepts optional Context parameter
- Improve type parsing robustness in ilspy_wrapper
- Compile regex pattern for better performance
- Add _split_type_name() to handle nested types (Outer+Nested)
- Add logging for unparsed lines (helps debug edge cases)
- Standardize error handling across all tools
- Add _format_error() helper for consistent formatting
- All tools now return "**Error**: message" format
- Replace create_subprocess_shell with create_subprocess_exec
in _try_install_dotnet_sdk() to prevent shell injection
- Add install_commands list to _detect_platform() returning
safe argument lists for each platform
- Add 5-minute timeout to ilspy_wrapper._run_command() to
prevent hanging on malicious/corrupted assemblies
- Add badges (PyPI, Python version, License, MCP)
- Hero section with clear value proposition
- Quick Start in 30 seconds at the top
- "What Can You Do?" section with real-world use cases
- Features at a Glance table showing tool/dependency matrix
- Collapsible <details> sections for tool reference (cleaner UX)
- Table of contents for navigation
- Streamlined troubleshooting section
- Centered footer tagline for security researchers
Major update with new capabilities:
- Rename package from ilspy_mcp_server to mcilspy
- Add 6 new dnfile-based tools that work without ilspycmd:
- search_methods, search_fields, search_properties
- list_events, list_resources, get_metadata_summary
- Add installation/diagnostic tools:
- check_ilspy_installation: verify toolchain status
- install_ilspy: platform-aware installer with auto-detection
for pacman, apt, dnf, zypper, homebrew, winget, chocolatey
- Fix metadata_reader bugs:
- Use _get_row_index helper consistently for dnfile compatibility
- Handle HeapItemBinary conversion for public key tokens
- Update documentation with all 14 tools