ADO Instructions MCP Server

ADO Instructions MCP Server

Converts meeting transcripts, text inputs, and images into structured Azure DevOps work items using Azure OpenAI for advanced image analysis.

Category
Visit Server

README

ADO Instructions MCP Server

A modular## ๐Ÿ–ผ๏ธ Image Analysis: Process workflow diagrams with dependency arrows using Azure OpenAI โœ… NEWMCP (Model Context Protocol) server that converts meeting transcripts, text inputs, and images into structured Azure DevOps work items using Azure OpenAI for advanced image analysis.

๐Ÿ†• New: Azure OpenAI Image Processing

The server now includes advanced image analysis capabilities powered by Azure OpenAI's vision models:

  • ๐Ÿ–ผ๏ธ Advanced Image Analysis - Uses Azure OpenAI o4-mini model for intelligent image understanding
  • ๐Ÿ“Š Workflow Diagram Recognition - Identifies project structures and dependency arrows from visual diagrams
  • ๏ฟฝ Dependency Arrow Analysis - Parses arrows to determine Epic โ†’ Task parent-child relationships
  • ๐Ÿ—๏ธ Hierarchical Structure Detection - Creates proper work item hierarchy from visual flows

Designed for analyzing wireframes, workflow diagrams with dependency arrows, and project documentation images.

๐Ÿ“ Text Analysis and Processing

The server specializes in analyzing text content for requirements and work item generation:

  • ๐Ÿ“‹ Requirements Extraction - Identifies tasks and features from text content
  • ๐Ÿ”— Dependency Analysis - Understands relationships between work items
  • ๐Ÿ“ Smart Processing - Extracts structured information from unstructured text
  • โšก Fast Text Analysis - Optimized for meeting notes and requirements documents

Designed for processing meeting transcripts, requirements documents, and project text.

๐Ÿ› ๏ธ Available Tools

Tool Input Output Description
process_meeting_transcript transcript: str ADO instructions JSON Process long meeting notes/transcripts
process_feature_image ๐Ÿ†• image_base64: str<br>description: str ADO instructions JSON AZURE OPENAI: Analyze workflow diagrams and dependency arrows using AI vision
generate_ado_workitems_from_text text_input: str<br>project_name: str<br>priority_override: str ADO instructions JSON Flexible text-to-ADO conversion
format_ado_instructions_summary โญ instructions_json: str Formatted summary Format work items for user review
search_files_for_processing ๐Ÿ” search_pattern: str<br>file_types: str<br>search_locations: str File search results Find text and image files on PC
validate_ado_structure instructions_json: str Validation report Validate JSON structure
get_organization_context None Organization details Get Omar Solutions context
load_image_from_file ๐Ÿ†• image_path: str Base64 image data Load and convert images for processing

โœจ Features

  • ๐Ÿ“ Text Processing: Convert meeting transcripts and notes into structured ADO work items โœ… WORKING
  • ๐Ÿ–ผ๏ธ Image Analysis: Process wireframes and diagrams using Azure OpenAI โœ… NEW
  • ๐Ÿ”— Structured Output: Generate properly hierarchized Epic โ†’ Task relationships โœ… WORKING
  • ๐ŸŽฏ Smart Prioritization: Auto-assign priorities based on content analysis โœ… WORKING
  • ๐Ÿ“‹ Comprehensive Validation: Ensure work item structure correctness โœ… WORKING
  • โญ User Confirmation: Format summaries for review before proceeding โœ… NEW
  • ๐Ÿ” File Discovery: Find text and image files on PC automatically โœ… NEW

๐Ÿš€ Quick Start

1. Setup Dependencies

# Clone or navigate to project directory
cd ado_instructions

# Activate virtual environment
.venv\Scripts\Activate.ps1

# Install dependencies (already configured in pyproject.toml)
uv sync

2. Configure Azure OpenAI

Create or update .env file with your Azure OpenAI credentials:

# Azure OpenAI Configuration
AZURE_OPENAI_ENDPOINT=https://omaragent.openai.azure.com/
AZURE_OPENAI_API_KEY=your-api-key-here
AZURE_OPENAI_API_VERSION=2024-12-01-preview
AZURE_OPENAI_DEPLOYMENT=o4-mini-imagebot
AZURE_OPENAI_MODEL=o4-mini

3. Run the Server

# Start MCP server on default port 2000
python server.py

# Different port
python server.py --port 8001

# Different transport
python server.py --transport stdio

4. Connect from VS Code

Add to your MCP settings:

{
  "mcpServers": {
    "ado-instructions": {
      "command": "python",
      "args": ["c:/path/to/your/ado_instructions/server.py"],
      "cwd": "c:/path/to/your/ado_instructions"
    }
  }
}

๐Ÿ“– Usage Examples

1. Basic Text Processing Workflow

# Step 1: Process meeting transcript
result = process_meeting_transcript(
    transcript="Team discussed new user authentication system. Need login page, password reset, user registration, and admin dashboard. High priority for login and registration. Medium priority for password reset. Low priority for admin dashboard."
)

# Step 2: Format summary for user review
summary = format_ado_instructions_summary(result)
print(summary)

# Step 3: Present to user and ask for confirmation
# User reviews the formatted output and confirms/requests changes

# Step 4: Proceed with validated work items
validated_json = result  # If user approved

2. ๐Ÿ†• Azure OpenAI Image Processing Workflow

# Step 1: Load image from file
image_data = load_image_from_file(
    image_path="c:/path/to/wireframe.png"
)

# Step 2: Process image with Azure OpenAI
result = process_feature_image(
    image_base64=image_data,
    description="Wireframe showing user authentication flow with login, registration, and dashboard components"
)

# Step 3: Format summary for user review
summary = format_ado_instructions_summary(result)
print(summary)

# Step 4: Present to user and ask for confirmation
# User reviews the formatted output and confirms/requests changes

# Step 5: Proceed with validated work items
validated_json = result  # If user approved

3. Flexible Text Input Workflow

# Step 1: Convert any text to ADO work items
result = generate_ado_workitems_from_text(
    text_input="Build a mobile app with user profiles, messaging, and notifications",
    project_name="Mobile App Development",
    priority_override="High"
)

# Step 2: Format summary for user review
summary = format_ado_instructions_summary(result)
print(summary)

# Step 3: Present to user and ask for confirmation
# User reviews the formatted output and confirms/requests changes

# Step 4: Proceed with validated work items
validated_json = result  # If user approved

๐Ÿ”— Dependency Arrow Analysis for Workflow Diagrams

The process_feature_image tool includes advanced visual analysis to understand workflow dependencies from arrows and connections in diagrams:

๐Ÿ“Š Visual Pattern Recognition

  • Arrow Direction Analysis: Parent โ†’ Child relationships are identified from arrow flow
  • Hierarchical Structure Detection: Creates proper Epic โ†’ Task relationships based on visual hierarchy
  • Dependency Chain Mapping: Follows arrow sequences to understand process flows

๐ŸŽฏ Supported Workflow Patterns

Visual Pattern Interpretation ADO Structure
Database โ†’ Website โ†’ Frontend Sequential dependencies Epic: Database Implementation<br>Tasks: Website, Frontend
Login โ† Dashboard โ† Reports Reverse dependency flow Epic: Dashboard<br>Tasks: Login, Reports
API โ†• Database Bidirectional dependency Epic: System Integration<br>Tasks: API, Database

๐Ÿ“ Example: Workflow Diagram Processing

Input Image: [Database] โ†’ [Website] โ†’ [Frontend/Backend]

Expected Output:
- Epic: "Database Implementation" (parent)
  - Task: "Build Website" (child of Database)
  - Task: "Develop Frontend" (child of Website)  
  - Task: "Develop Backend" (child of Website)

โš ๏ธ Important:

When processing workflow diagrams, the system should:

  1. Identify the root Epic from the leftmost/topmost element
  2. Follow arrows to determine task dependencies
  3. Create hierarchical structure where arrows indicate parent โ†’ child relationships
  4. Avoid creating multiple separate Epics unless the diagram shows parallel workflows

4. File Discovery and Processing Workflow (๐Ÿ” NEW)

# Step 1: Search for files on the PC
search_results = search_files_for_processing(
    search_pattern="wireframe",
    file_types="images,text",
    search_locations="desktop,documents"
)

# Step 2: Process found files
# User selects files from search results
# Load content and process with appropriate tool

๐Ÿ—๏ธ Project Structure

ado_instructions/
โ”œโ”€โ”€ server.py                 # Main MCP server (FastMCP 2.11.2)
โ”œโ”€โ”€ pyproject.toml           # Dependencies and project config
โ”œโ”€โ”€ uv.lock                  # Dependency lock file
โ”œโ”€โ”€ README.md                # This documentation
โ”œโ”€โ”€ .env                     # Environment variables (Azure OpenAI config)
โ”œโ”€โ”€ modules/
โ”‚   โ”œโ”€โ”€ __init__.py          # Module initialization
โ”‚   โ”œโ”€โ”€ models.py            # Data classes and enums
โ”‚   โ”œโ”€โ”€ config.py            # Environment and organization setup
โ”‚   โ”œโ”€โ”€ text_processor.py    # Text analysis and feature extraction
โ”‚   โ”œโ”€โ”€ image_processor.py   # ๐Ÿ†• Azure OpenAI image analysis
โ”‚   โ”œโ”€โ”€ ado_generator.py     # ADO work item generation
โ”‚   โ”œโ”€โ”€ file_search.py       # File discovery functionality
โ”‚   โ”œโ”€โ”€ error_handling.py    # Comprehensive error management
โ”‚   โ””โ”€โ”€ common_utils.py      # Shared utilities
โ””โ”€โ”€ tests/
    โ”œโ”€โ”€ test_optimization.py # Performance tests
    โ”œโ”€โ”€ test_utils.py        # Utility tests
    โ”œโ”€โ”€ images/              # Test image files
    โ””โ”€โ”€ text/                # Test text files

๐Ÿ“Š Dependencies

Core Dependencies (5 packages total)

  • โœ… fastmcp: MCP framework (2.11.2)
  • โœ… uvicorn: ASGI server
  • โœ… fastapi: Web framework
  • โœ… python-dotenv: Environment management
  • โœ… openai: Azure OpenAI SDK for image processing ๐Ÿ†•

Module Status

  • โœ… Error handling (fallback processing)
  • โœ… Common utilities (shared functions)
  • โœ… Models (data classes and enums)
  • โœ… Configuration (environment setup)
  • โœ… Text processing (feature extraction)
  • โœ… ๐Ÿ†• Image processing (Azure OpenAI integration)
  • โœ… ADO generation (work item creation)

๐Ÿ“Š MCP Tools Reference

Tool Input Output Description
process_meeting_transcript transcript: str ADO instructions JSON Process long meeting notes/transcripts
process_feature_image ๐Ÿ†• image_base64: str<br>description: str ADO instructions JSON Analyze images using Azure OpenAI vision
generate_ado_workitems_from_text text_input: str<br>project_name: str<br>priority_override: str ADO instructions JSON Flexible text-to-ADO conversion
format_ado_instructions_summary โญ instructions_json: str Formatted summary NEW: Format work items for user review
validate_ado_structure instructions_json: str Validation report Validate JSON structure
get_organization_context None Organization details Get Omar Solutions context
search_files_for_processing search_pattern: str<br>file_types: str<br>search_locations: str File search results Find text and image files on PC
load_image_from_file ๐Ÿ†• image_path: str Base64 image data Load and convert images for processing

Tool-Specific Details

process_meeting_transcript

  • Purpose: Convert meeting notes/transcripts to ADO work items
  • Input: Long text containing meeting discussion
  • Output: Structured JSON with Epics and Tasks
  • Use Case: Transform unstructured meeting notes into organized work items

๐Ÿ†• process_feature_image (NEW - Azure OpenAI)

  • Purpose: Analyze images using Azure OpenAI's advanced vision capabilities
  • Input: Base64 image data + optional description
  • Output: Structured JSON with Epics and Tasks
  • Use Case: Extract requirements from wireframes, diagrams, and visual project documentation
  • Technology: Azure OpenAI o4-mini model with vision capabilities

generate_ado_workitems_from_text

  • Purpose: Flexible text-to-ADO conversion
  • Input: Any text description + optional project name and priority
  • Output: Structured JSON with Epics and Tasks
  • Use Case: Quick conversion of requirements text to work items

โญ format_ado_instructions_summary (NEW)

  • Purpose: Format work items for user review and confirmation
  • Input: ADO instructions JSON from any generation tool
  • Output: User-friendly formatted summary with project structure
  • Use Case: Present work items to user for approval before proceeding

๐Ÿ” search_files_for_processing (NEW)

  • Purpose: Find text and image files on PC for processing
  • Input: Search pattern, file types, locations
  • Output: List of found files with paths and metadata
  • Use Case: Discover relevant files without knowing exact paths

๐Ÿ†• load_image_from_file (NEW)

  • Purpose: Load and convert local images to base64 format
  • Input: Absolute path to image file
  • Output: Base64 encoded image data
  • Use Case: Prepare local images for Azure OpenAI processing

๐Ÿ”ง Module Details

๐Ÿ“Š modules/models.py

  • WorkItem: Data class for individual work items
  • ADOInstructions: Container for complete project structure
  • WorkItemType: Enum (Epic, Task, User Story, Bug)
  • Priority: Enum (Low, Medium, High, Critical)
  • ORGANIZATION_CONTEXT: Omar Solutions configuration

โš™๏ธ modules/config.py

  • setup_environment(): Load .env variables including Azure OpenAI config
  • get_organization_context(): Access organization data
  • get_azure_openai_config(): ๐Ÿ†• Azure OpenAI configuration management

๐Ÿ“ modules/text_processor.py

  • extract_features_from_text(): Extract project features from text
  • extract_requirements_from_text(): Find specific requirements
  • determine_priority_from_text(): Auto-assign priorities

๐Ÿ–ผ๏ธ modules/image_processor.py ๐Ÿ†• NEW

  • process_image_with_azure_openai(): Analyze images using Azure OpenAI
  • extract_features_from_image(): Extract project features from images
  • analyze_workflow_diagram(): Specialized diagram analysis
  • format_image_analysis_result(): Format AI analysis into ADO structure

๐Ÿ—๏ธ modules/ado_generator.py

  • create_epic_from_feature(): Generate Epic work items
  • create_task_from_requirement(): Generate Task work items
  • generate_ado_instructions(): Complete instruction generation
  • format_ado_summary(): Format work items for user review

๐Ÿ” modules/file_search.py โญ NEW

  • search_files_for_processing(): Find text and image files on PC
  • format_search_results_for_display(): User-friendly result formatting
  • get_search_usage_examples(): Usage documentation and examples

๐Ÿ› ๏ธ Advanced Configuration

Azure OpenAI Setup

# .env file configuration
AZURE_OPENAI_ENDPOINT=https://omaragent.openai.azure.com/
AZURE_OPENAI_API_KEY=your-api-key-here
AZURE_OPENAI_API_VERSION=2024-12-01-preview
AZURE_OPENAI_DEPLOYMENT=o4-mini-imagebot
AZURE_OPENAI_MODEL=o4-mini

Server Options

# Custom port
python server.py --port 8001

# Different transport
python server.py --transport stdio

Azure OpenAI Configuration Example

from openai import AzureOpenAI

client = AzureOpenAI(
    api_version="2024-12-01-preview",
    azure_endpoint="https://omaragent.openai.azure.com/",
    api_key=subscription_key
)

# Example image analysis call
response = client.chat.completions.create(
    messages=[
        {
            "role": "system",
            "content": "You are an expert at analyzing project diagrams and wireframes to extract requirements.",
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Analyze this wireframe and extract the project requirements"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/jpeg;base64,{image_base64}"
                    }
                }
            ]
        }
    ],
    max_completion_tokens=40000,
    model="o4-mini-imagebot"
)

๐Ÿงช Testing Dependency Arrow Analysis

โœ… Test Case 1: Linear Workflow

Input Diagram: [Database] โ†’ [Website] โ†’ [Frontend]
Expected Output:
- Epic: "Database Implementation" 
- Task: "Build Website" (depends on Database)
- Task: "Develop Frontend" (depends on Website)

โœ… Test Case 2: Parallel Dependencies

Input Diagram: [API] โ†’ [Frontend]
                    โ†˜ [Backend]
Expected Output:
- Epic: "API Implementation"
- Task: "Develop Frontend" (depends on API)
- Task: "Develop Backend" (depends on API)

โœ… Test Case 3: Complex Workflow

Input Diagram: [Database] โ†’ [API Layer] โ†’ [Authentication] โ†’ [User Interface]
Expected Output:
- Epic: "Database Implementation"
- Task: "Build API Layer" (depends on Database)
- Task: "Implement Authentication" (depends on API)
- Task: "Create User Interface" (depends on Authentication)

๐Ÿ” Testing Your Workflow Diagrams

  1. Create test images with clear arrows showing dependencies
  2. Use descriptive context: Include description explaining the workflow
  3. Verify hierarchy: Check that ONE Epic is created with proper Task dependencies
  4. Review dependency chains: Ensure Tasks reference their dependencies
# Test workflow diagram processing
result = process_feature_image(
    image_base64=your_workflow_diagram,
    description="Website development workflow: Database โ†’ Website โ†’ Frontend/Backend dependencies"
)

# Should generate:
# - 1 Main Epic (not multiple Epics)
# - Tasks with dependency context
# - Proper workflow sequence preserved

โŒ Common Issues to Avoid

  • Multiple Epics: Should create ONE Epic from workflow root
  • Missing Dependencies: Tasks should reference what they depend on
  • Wrong Hierarchy: Follow arrows for parent โ†’ child relationships
  • Lost Sequence: Preserve workflow order shown by arrows )

### Dependency Management
The server gracefully handles missing dependencies:
- **Azure OpenAI**: Falls back to text-only processing if API key unavailable
- **Image Processing**: Uses fallback methods if Azure OpenAI is unavailable
- **All modules**: Comprehensive error handling with fallbacks

## ๐Ÿ” Troubleshooting

| Issue | Solution |
|-------|----------|
| **ModuleNotFoundError** | Activate virtual environment: `.venv\Scripts\Activate.ps1` |
| **Azure OpenAI API errors** | Check API key and endpoint configuration in .env |
| **Image processing failures** | Verify Azure OpenAI deployment and model availability |
| **Port already in use** | Change port: `python server.py --port 8001` |
| **Import errors** | Check module structure and relative imports |
| **Text processing errors** | Verify input format and content |

## ๐Ÿš€ Production Deployment

### Azure Container Apps Deployment

The server is designed to run in Azure Container Apps with proper containerization and dependency management.

#### ๐Ÿ”ง **Key Deployment Configurations**

```dockerfile
# Dockerfile - Fixed configuration for Azure Container Apps
FROM python:3.11-slim

ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
ENV CONTAINER_ENV=true

WORKDIR /app

# Use uv for fast dependency management
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /usr/local/bin/
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-cache

COPY . .

# Critical: Use 0.0.0.0 for container networking
CMD ["uv", "run", "python", "server.py", "--port", "3000", "--host", "0.0.0.0"]

๐Ÿ› ๏ธ Environment Variables for Azure Container Apps

# Required Azure OpenAI Configuration
AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com/
AZURE_OPENAI_API_KEY=your-api-key
AZURE_OPENAI_API_VERSION=2024-12-01-preview
AZURE_OPENAI_DEPLOYMENT=o4-mini-imagebot
AZURE_OPENAI_MODEL=o4-mini

# Container Environment Detection
CONTAINER_ENV=true

๐Ÿ“‹ Deployment Steps

  1. Build and Tag Image

    docker build -t your-registry.azurecr.io/ado-instructions-server:v1.2.0 .
    
  2. Push to Azure Container Registry

    az acr login --name your-registry
    docker push your-registry.azurecr.io/ado-instructions-server:v1.2.0
    
  3. Update Container App

    az containerapp update \
      --name ado-instructions-server \
      --resource-group YourResourceGroup \
      --image your-registry.azurecr.io/ado-instructions-server:v1.2.0
    

โš ๏ธ Common Deployment Issues Solved

Issue Root Cause Solution
503 Service Unavailable Server binding to localhost instead of 0.0.0.0 Use --host 0.0.0.0 in CMD
ModuleNotFoundError: openai Dependencies not loaded in container Use uv run python server.py
Port mismatch Default port 2000 vs container port 3000 Explicitly set --port 3000
Environment detection Local .env vs Azure environment variables Smart environment detection in config.py

โœ… Deployment Verification

After deployment, verify the server is running:

# Check container app status
az containerapp show --name ado-instructions-server --resource-group YourResourceGroup --query "properties.runningStatus"

# Check logs for successful startup
az containerapp logs show --name ado-instructions-server --resource-group YourResourceGroup --tail 20

# Expected log output:
# โœ… Azure OpenAI configured - Image processing available
# INFO: Uvicorn running on http://0.0.0.0:3000

๐Ÿงฉ Deployment Challenges Solved

Challenge 1: Network Binding in Containers

  • Problem: Server defaulted to localhost, preventing external connections in Azure Container Apps
  • Root Cause: Container networking requires binding to 0.0.0.0 to accept traffic from container orchestrator
  • Solution: Changed default host from "localhost" to "0.0.0.0" in server.py argument parsing
  • Impact: Fixed 503 Service Unavailable errors

Challenge 2: Dependency Loading in Containers

  • Problem: ModuleNotFoundError: No module named 'openai' when running python server.py directly
  • Root Cause: Container environment needed proper dependency isolation and loading
  • Solution: Use uv run python server.py instead of direct python server.py execution
  • Impact: Ensures all dependencies are available in container runtime

Challenge 3: Port Configuration Consistency

  • Problem: Dockerfile used port 3000, but server default was 2000
  • Root Cause: Mismatched port configurations between container and server defaults
  • Solution: Explicitly specify --port 3000 in Dockerfile CMD instruction
  • Impact: Consistent port usage across all deployment methods

Challenge 4: Environment Variable Detection

  • Problem: Server tried to load .env file in container environment
  • Root Cause: No environment detection logic to differentiate local vs cloud deployment
  • Solution: Added smart environment detection in config.py using Azure-specific environment variables
  • Impact: Proper configuration loading for both local development and Azure deployment

๐Ÿ”„ Before vs After Deployment Fix

Aspect Before (Failing) After (Working)
Host Binding localhost (container internal) 0.0.0.0 (accepts external traffic)
Dependency Loading python server.py (missing modules) uv run python server.py (isolated environment)
Port Configuration Mixed (2000 default, 3000 exposed) Consistent 3000 throughout
Environment Detection Always tries .env file Smart detection: .env for local, env vars for Azure
Container Status 503 Service Unavailable โœ… Running successfully

๐Ÿ”— MCP Configuration

Update your local MCP configuration to use the deployed server:

{
  "servers": {
    "ado-instruction-server": {
      "url": "https://your-app.azurecontainerapps.io/mcp/",
      "type": "http"
    }
  }
}

Local Development vs Production

Environment Host Port Dependencies Environment Variables
Local localhost or 0.0.0.0 2000 (default) uv run recommended .env file
Azure Container Apps 0.0.0.0 (required) 3000 uv run (required) Azure Container App settings

๐ŸŽฏ Best Practices

โญ NEW: File Discovery Workflow

  • โœ… Use search tool first: Find files without knowing exact paths
  • โœ… Filter by type: Search for "images", "text", or "all" file types
  • โœ… Multiple locations: Search desktop, documents, downloads simultaneously
  • โœ… Pattern matching: Use wildcards or keywords to find specific files
  • โœ… Check file sizes: Avoid processing very large files

โญ NEW: User Confirmation Workflow

  • โœ… Always format and present work items after generation
  • โœ… Ask user confirmation: "Are these instructions correct?"
  • โœ… Offer modifications if user wants changes
  • โœ… Document any changes requested by the user
  • โœ… Validate final output before proceeding

For Text Inputs:

  • โœ… Use action-oriented language ("build", "create", "implement")
  • โœ… Mention specific technologies or features
  • โœ… Include requirements and acceptance criteria
  • โœ… Test with various input lengths

๐Ÿ†• For Image Inputs:

  • โœ… Use clear wireframes or diagrams
  • โœ… Provide descriptive context in the description field
  • โœ… Supported formats: PNG, JPG, GIF, BMP, WebP
  • โœ… Keep images under 10MB for optimal processing
  • โœ… Ensure good contrast and readable text in diagrams
  • โœ… Include workflow arrows and clear component relationships

For Development:

  • โœ… Follow modular architecture principles
  • โœ… Add comprehensive error handling
  • โœ… Include type hints and docstrings
  • โœ… Test modules independently

๐Ÿš€ Next Steps

  1. Enhanced Azure OpenAI Integration: Improve image analysis accuracy and speed
  2. Advanced Visual Analysis: Better UI component detection in wireframes
  3. Multi-Modal Processing: Combine text and image inputs for richer analysis
  4. ADO Integration: Direct API integration for work item creation
  5. AI Enhancement: LLM-powered requirement analysis
  6. Web Interface: Optional web UI for easier testing

๐Ÿ† Successfully Tested Features

  • โœ… Text Processing: Handles complex project descriptions
  • โœ… Modular Architecture: All modules working independently (6 modules)
  • โœ… Server Startup: Runs on configured port (2000) with 8 tools
  • โœ… Error Handling: Graceful fallbacks for missing dependencies
  • โœ… MCP Integration: Compatible with VS Code MCP framework
  • โœ… ADO Generation: Produces valid work item structures
  • โœ… โญ NEW: Formatted Summaries: User-friendly work item presentation
  • โœ… โญ NEW: User Confirmation Workflow: Ask before proceeding
  • โœ… โญ NEW: Priority Display: Clear "High/Medium/Low" labels
  • โœ… ๐Ÿ” NEW: File Search: Find images and text files on PC automatically
  • โœ… ๐Ÿ—๏ธ NEW: Clean Server Architecture: Modularized file search functionality
  • โœ… ๐Ÿ†• NEW: Azure OpenAI Integration: Advanced image analysis with o4-mini

๐Ÿ“‹ Current Tool Count: 8 MCP Tools Available

  1. process_meeting_transcript - Convert meeting notes to ADO work items
  2. ๐Ÿ†• process_feature_image - NEW: Analyze images using Azure OpenAI
  3. generate_ado_workitems_from_text - Flexible text-to-ADO conversion
  4. โญ format_ado_instructions_summary - NEW: Format work items for user review
  5. ๐Ÿ” search_files_for_processing - NEW: Find images/text files on PC
  6. validate_ado_structure - Verify JSON structure correctness
  7. get_organization_context - Get Omar Solutions context information
  8. ๐Ÿ†• load_image_from_file - NEW: Load and convert images for processing

Ready for advanced image processing with Azure OpenAI! ๐ŸŽ‰ ๐Ÿ–ผ๏ธ โœจ

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured