IMPROVEMENTS_SUMMARY.md•5.08 kB
# MCP Azure DevOps Server - Recent Improvements Summary
## Issues Addressed
### ✅ MAJOR ISSUE RESOLVED: Wiki Management Problems
**Problem**: Wiki operations were very difficult, updates consistently failed, navigation was poor, and nested page handling didn't work. This was causing "major complaints" and preventing effective use of Azure DevOps wiki.
**Root Causes Found & Fixed**:
1. **Critical ETag Bug**: The server was using `page.e_tag` instead of `page.eTag` (camelCase) when updating wiki pages. Azure DevOps API uses camelCase, causing all updates to fail with 500 errors because version parameter was None.
2. **Missing Navigation Tools**: The client had 10+ sophisticated wiki helper methods, but only 3 were exposed as MCP tools, severely limiting navigation capabilities.
**Solutions Implemented**:
- ✅ Fixed ETag bug in `update_wiki_page` and `update_wiki_page_safe` methods
- ✅ Added 7 new wiki navigation MCP tools:
- `get_wiki_page_tree` - Hierarchical page structure
- `find_wiki_by_name` - Find wikis by partial name match
- `get_wiki_page_by_title` - Find pages by title instead of exact path
- `list_all_wikis_in_organization` - Cross-project wiki discovery
- `get_recent_wiki_pages` - Recently modified pages
- `get_wiki_page_suggestions` - Smart autocomplete-like suggestions
- `create_wiki_pages_batch` - Bulk page creation
- ✅ All wiki operations now work: create, read, update, delete, navigate, search
- ✅ Nested page handling fully functional
- ✅ Smart retry mechanisms and error handling
### ✅ MINOR ISSUE RESOLVED: Work Item Status Updates
**Problem**: LLMs were guessing work item statuses, but organizations have customized work item types and states, leading to failed updates.
**Solutions Implemented**:
- ✅ Added 4 new work item metadata discovery MCP tools:
- `get_work_item_types` - List all available work item types in a project
- `get_work_item_states` - Get all possible states for a specific work item type
- `get_work_item_fields` - Get all available fields with metadata (read-only, type info, etc.)
- `get_work_item_transitions` - Get valid state transitions from current state
- ✅ LLMs can now discover proper statuses and make informed decisions instead of guessing
### ✅ NEW FEATURE: Work Item Comments Retrieval
**Problem**: The MCP server supported creating comments on work items, but had no tool to read or list existing comments. Users could not retrieve comment history or view discussions on work items.
**Solutions Implemented**:
- ✅ Added `get_work_item_comments` - Retrieve comments for a specific work item with full pagination support
- ✅ Returns complete comment metadata: id, text, created_by, created_date, modified_date, etc.
- ✅ Supports all Azure DevOps API parameters: pagination (top/continuation_token), include_deleted, expand, order
- ✅ Provides full parity with Work Item Comment management alongside existing comment creation capabilities
## Impact Summary
### Quantitative Improvements
- **Total MCP Tools**: Increased from ~24 to **37 tools** (+54% expansion)
- **Wiki Navigation**: Added 7 missing navigation tools + 1 new move tool
- **Work Item Intelligence**: Added 4 metadata discovery tools
- **Work Item Comments**: Added 1 new comment retrieval tool
- **Bug Fixes**: 1 critical ETag bug resolved
- **Debug Cleanup**: Removed 4 debug files
### Qualitative Improvements
- **Wiki Management**: Transformed from "very difficult" to fully functional
- **Update Reliability**: Wiki updates now work consistently with proper ETag handling
- **Navigation Experience**: Rich hierarchical navigation and smart search capabilities
- **Status Intelligence**: Work item updates now use organization-specific states and fields
- **Comment Management**: Full parity in Work Item Comment management (create and retrieve)
- **Error Handling**: Improved retry mechanisms and comprehensive error messages
- **Code Quality**: Clean codebase with no debug artifacts
## Technical Details
### Files Modified
- `mcp_azure_devops/azure_devops_client.py`: Added work item metadata methods
- `mcp_azure_devops/server.py`: Added 11 new MCP tools with execution handlers
- Fixed ETag property access from `page.e_tag` to `page.eTag`
### Files Cleaned
- Removed: `debug_wiki_etag.py`, `debug_wiki_update.py`, `investigate_wiki_api.py`, `debug_page_properties.py`
### New Capabilities for Tools like Cline
1. **Smart Wiki Management**: Can create, update, navigate wiki hierarchies effectively
2. **Intelligent Status Updates**: Can discover and use correct work item states
3. **Enhanced Navigation**: Can find pages by title, get suggestions, view page trees
4. **Batch Operations**: Can create multiple wiki pages efficiently
5. **Cross-Project Discovery**: Can find wikis across all organization projects
## Result
Both major and minor issues have been comprehensively resolved. The MCP Azure DevOps server now provides a robust, intelligent interface for wiki management and work item operations that adapts to organization-specific configurations.