Devops-MCP-Server

AswathSanthanakrishnan/Devops-MCP-Server

3.2

If you are the rightful owner of Devops-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This is a Model Context Protocol (MCP) server that provides test case and task management capabilities with Azure DevOps integration.

Tools
11
Resources
0
Prompts
0

Azure DevOps MCP Server

This is a Model Context Protocol (MCP) server that provides test case and task management capabilities with Azure DevOps integration.

Features

  • Test Case Management: Create, read, update, and delete test cases
  • Task Management: Create, read, update, and delete tasks
  • Azure DevOps Integration: Automatic synchronization with Azure DevOps Test Cases and Tasks
  • Filtering and Search: Advanced filtering capabilities for both test cases and tasks
  • Local Storage: JSON persistence with Azure DevOps sync

Setup

  1. Install dependencies:

    npm install
    
  2. Configure Azure DevOps: The server is already configured with your Azure DevOps credentials:

    • Organization: Taskers
    • Project: Tasker
    • PAT Token: Configured in .env file
  3. Add to your MCP client configuration:

    Add the following to your MCP client configuration file (usually ~/.config/mcp/settings.json or similar):

    {
      "mcpServers": {
        "devops-testcase-server": {
          "command": "node",
          "args": ["/Users/aswath/Desktop/untitled folder/test-case-server.js"],
          "env": {
            "ORG_API_TOKEN": "YOUR_AZURE_DEVOPS_PAT_TOKEN",
            "ORG_NAME": "Taskers",
            "ORG_PROJECT_ID": "Tasker",
            "ORG_PLATFORM": "azure-devops"
          }
        }
      }
    }
    

Available Tools

Test Case Management

create_test_case

Create a new test case with title, steps, and metadata.

Parameters:

  • title (required): Test case title
  • description (optional): Test case description
  • steps (required): Array of test steps with action and expected results
  • priority (optional): "high", "medium", or "low" (default: "medium")
  • category (optional): Test case category
  • tags (optional): Array of tags
  • status (optional): "draft", "active", or "deprecated" (default: "draft")
update_test_case_title

Update the title of an existing test case.

Parameters:

  • id (required): Test case ID
  • title (required): New title
update_test_case_steps

Update the steps of an existing test case.

Parameters:

  • id (required): Test case ID
  • steps (required): Updated array of test steps
list_test_cases

List all test cases with optional filtering.

Parameters:

  • category (optional): Filter by category
  • status (optional): Filter by status
  • priority (optional): Filter by priority
  • tags (optional): Filter by tags (any match)
get_test_case

Get a specific test case by ID.

Parameters:

  • id (required): Test case ID
delete_test_case

Delete a test case by ID.

Parameters:

  • id (required): Test case ID

Task Management

create_task

Create a new task in Azure DevOps.

Parameters:

  • title (required): Task title
  • description (optional): Task description
  • assignedTo (optional): Email or display name of assignee
  • priority (optional): "1", "2", "3", or "4" (1=highest, 4=lowest, default: "2")
  • state (optional): "New", "Active", "Resolved", "Closed", "Removed" (default: "New")
  • workItemType (optional): Work item type (default: "Task")
  • tags (optional): Array of tags
update_task

Update an existing task.

Parameters:

  • id (required): Task ID
  • title (optional): New task title
  • description (optional): New task description
  • assignedTo (optional): Email or display name of assignee
  • priority (optional): "1", "2", "3", or "4" (1=highest, 4=lowest)
  • state (optional): "New", "Active", "Resolved", "Closed", "Removed"
  • tags (optional): Array of tags
list_tasks

List all tasks with optional filtering.

Parameters:

  • state (optional): Filter by state
  • priority (optional): Filter by priority
  • assignedTo (optional): Filter by assignee
  • tags (optional): Filter by tags (any match)
get_task

Get a specific task by ID.

Parameters:

  • id (required): Task ID
delete_task

Delete a task by ID (also removes from Azure DevOps).

Parameters:

  • id (required): Task ID

Azure DevOps Integration

Test Cases

When you create a test case, it will automatically be synchronized to your Azure DevOps project as a Test Case work item. The integration includes:

  • Test case title and description
  • Test steps with actions and expected results
  • Priority mapping (high=1, medium=2, low=3)
  • Tags for categorization

Tasks

When you create a task, it will automatically be synchronized to your Azure DevOps project as a Task work item. The integration includes:

  • Task title and description
  • Assignment to team members
  • Priority levels (1=highest, 4=lowest)
  • State management (New, Active, Resolved, Closed, Removed)
  • Tags for categorization
  • Work item type specification

Data Storage

  • Test cases are stored locally in ./devops-data/test-cases.json
  • Tasks are stored locally in ./devops-data/tasks.json
  • Both are synchronized with Azure DevOps when created
  • Deletions are synchronized with Azure DevOps (tasks are removed from Azure DevOps when deleted locally)

Running the Server

To run the server directly:

npm start

Or for development with auto-reload:

npm run dev

Troubleshooting

If you encounter issues:

  1. Verify your Azure DevOps PAT token has the correct permissions
  2. Check that the organization and project names are correct
  3. Ensure the server has network access to Azure DevOps APIs
  4. Check the console output for any error messages

The server will log Azure DevOps integration status on startup.