← Azure DevOps MCP Server

Azure DevOps MCP Server 2.4.1

npm · @jybrd/azure-devops-mcp · current release

41
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-22T07:39:32.232Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {}
}

Tools 41

ToolCategoryAnnotationsRisk
add_commentAdd a comment to a work item
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Work item ID"
    },
    "comment": {
      "type": "string",
      "description": "Comment text"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "id",
    "comment"
  ]
}
— · —
add_work_item_relationAdd a relationship between work items
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Source work item ID"
    },
    "relation_type": {
      "type": "string",
      "description": "Relation type (e.g., \"Parent\", \"Child\", \"Related\", \"Predecessor\", \"Successor\", \"Duplicate\")"
    },
    "target_id": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      ],
      "description": "Target work item ID(s) (optional if target_url is provided)"
    },
    "target_url": {
      "type": "string",
      "description": "URL to target work item (optional if target_id is provided)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "id",
    "relation_type"
  ]
}
— · —
check_field_existsCheck if a specific field exists in Azure DevOps
Input schema
{
  "type": "object",
  "properties": {
    "field_name": {
      "type": "string",
      "description": "Field reference name (e.g. System.Priority)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "field_name"
  ]
}
— · —
create_wikiCreate a new wiki. Use type "projectwiki" for a simple project wiki, or "codewiki" to publish from a repository folder.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the new wiki"
    },
    "type": {
      "type": "string",
      "enum": [
        "projectwiki",
        "codewiki"
      ],
      "description": "Type of wiki (default: projectwiki)"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "repository": {
      "type": "string",
      "description": "[codewiki only] Repository name or ID to publish from"
    },
    "branch": {
      "type": "string",
      "description": "[codewiki only] Branch name to publish from"
    },
    "mapped_path": {
      "type": "string",
      "description": "[codewiki only] Folder path to publish (e.g., \"/\" for root, \"/docs\" for docs folder)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "name"
  ]
}
— · —
create_wiki_pageCreate a new wiki page
Input schema
{
  "type": "object",
  "properties": {
    "wiki": {
      "type": "string",
      "description": "Name or ID of the wiki"
    },
    "path": {
      "type": "string",
      "description": "Path for the new page (e.g., \"/Setup Guide\", \"/docs/api\")"
    },
    "content": {
      "type": "string",
      "description": "Content of the wiki page (Markdown)"
    },
    "comment": {
      "type": "string",
      "description": "Commit message (optional)"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "wiki",
    "path",
    "content"
  ]
}
— · —
create_work_itemCreate a new work item
Input schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "Task",
        "Bug",
        "User Story",
        "Feature",
        "Epic",
        "Issue"
      ],
      "description": "Work item type"
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "assigned_to": {
      "type": "string",
      "description": "Email or @Me (optional)"
    },
    "tags": {
      "type": "string",
      "description": "Semicolon-separated tags (optional)"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "type",
    "title"
  ]
}
— · —
delete_wikiDelete a wiki
Input schema
{
  "type": "object",
  "properties": {
    "wiki": {
      "type": "string",
      "description": "Name or ID of the wiki to delete"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "wiki"
  ]
}
— · —
delete_wiki_pageDelete a wiki page
Input schema
{
  "type": "object",
  "properties": {
    "wiki": {
      "type": "string",
      "description": "Name or ID of the wiki"
    },
    "path": {
      "type": "string",
      "description": "Path of the wiki page to delete"
    },
    "comment": {
      "type": "string",
      "description": "Commit message (optional)"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "wiki",
    "path"
  ]
}
— · —
discover_fieldsDiscover available fields in Azure DevOps (compact output with filtering)
Input schema
{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Filter by category: system, vsts, custom, or other"
    },
    "search": {
      "type": "string",
      "description": "Search for fields by name or reference"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of fields to return (default: 50)"
    },
    "verbose": {
      "type": "boolean",
      "description": "Include full details including operations (default: false)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
discover_relationshipsDiscover relationship types and link types available
Input schema
{
  "type": "object",
  "properties": {
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
discover_statesDiscover valid states and transitions for work item types
Input schema
{
  "type": "object",
  "properties": {
    "work_item_type": {
      "type": "string",
      "description": "Work item type (Task, Bug, etc.)"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "work_item_type"
  ]
}
— · —
discover_work_item_typesList all work item types with compact field summaries
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "include_fields": {
      "type": "boolean",
      "description": "Include field details for each type (default: false)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
get_current_iterationGet the current active sprint/iteration
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "team": {
      "type": "string",
      "description": "Team name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project"
  ]
}
— · —
get_default_projectGet the currently configured default project and organization
Input schema
{
  "type": "object",
  "properties": {
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
get_iteration_detailsGet detailed information about an iteration including work items grouped by type and state
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "iteration": {
      "type": "string",
      "description": "Iteration name"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project",
    "iteration"
  ]
}
— · —
get_iteration_work_itemsGet all work items in a specific iteration
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "iteration": {
      "type": "string",
      "description": "Iteration name or path"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project",
    "iteration"
  ]
}
— · —
get_organizationGet the currently active Azure DevOps organization
Input schema
{
  "type": "object",
  "properties": {}
}
— · —
get_projectGet detailed information about a specific project
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name or ID"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project"
  ]
}
— · —
get_project_statsGet statistics about work items in a project
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "include_closed": {
      "type": "boolean",
      "description": "Include closed items in stats"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project"
  ]
}
— · —
get_wikiGet details of a specific wiki
Input schema
{
  "type": "object",
  "properties": {
    "wiki": {
      "type": "string",
      "description": "Name or ID of the wiki"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "wiki"
  ]
}
— · —
get_wiki_pageGet the content of a wiki page
Input schema
{
  "type": "object",
  "properties": {
    "wiki": {
      "type": "string",
      "description": "Name or ID of the wiki"
    },
    "path": {
      "type": "string",
      "description": "Path of the wiki page (e.g., \"/Home\", \"/docs/setup\")"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "include_content": {
      "type": "boolean",
      "description": "Include the page content in response (default: true)"
    },
    "recursion_level": {
      "type": "string",
      "enum": [
        "none",
        "oneLevel",
        "full"
      ],
      "description": "Include subpages: none, oneLevel, or full (default: none)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "wiki",
    "path"
  ]
}
— · —
get_work_itemGet detailed information about a specific work item
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Work item ID"
    },
    "fields": {
      "type": "string",
      "description": "Comma-separated field names to include (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "id"
  ]
}
— · —
get_work_item_relationsShow all relationships for a work item
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Work item ID"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "id"
  ]
}
— · —
healthcheckCheck Azure DevOps connection and configuration status
Input schema
{
  "type": "object",
  "properties": {
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
inspect_work_itemGet RAW complete work item data to see all fields and values
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Work item ID"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "id"
  ]
}
— · —
list_iterationsList all iterations/sprints in a project
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "team": {
      "type": "string",
      "description": "Team name (optional)"
    },
    "depth": {
      "type": "number",
      "description": "Depth of iteration tree (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project"
  ]
}
— · —
list_my_workList work items assigned to me, organized by state
Input schema
{
  "type": "object",
  "properties": {
    "include_recently_completed": {
      "type": "boolean",
      "description": "Include items completed in last 7 days (default: false)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
list_organizationsList all Azure DevOps organizations accessible to the current user. Discovers orgs from Azure CLI account and any configured defaults.
Input schema
{
  "type": "object",
  "properties": {}
}
— · —
list_project_pipelinesList all pipelines in a project
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project"
  ]
}
— · —
list_project_reposList all repositories in a project
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project"
  ]
}
— · —
list_project_teamsList all teams in a project
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "project"
  ]
}
— · —
list_projectsList all projects in the Azure DevOps organization
Input schema
{
  "type": "object",
  "properties": {
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
list_relation_typesList all available work item relation types
Input schema
{
  "type": "object",
  "properties": {
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
list_wikisList all wikis in a project or organization
Input schema
{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name (optional, lists project wikis by default)"
    },
    "scope": {
      "type": "string",
      "enum": [
        "project",
        "organization"
      ],
      "description": "List wikis at project or organization level (default: project)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  }
}
— · —
move_to_iterationMove a work item to a different iteration/sprint
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Work item ID"
    },
    "iteration": {
      "type": "string",
      "description": "Target iteration name"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "id",
    "iteration"
  ]
}
— · —
query_work_itemsQuery work items using WIQL or predefined queries
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "WIQL query, or shortcuts: \"my-items\", \"my-bugs\", \"my-tasks\", \"recent\""
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "query"
  ]
}
— · —
remove_work_item_relationRemove a relationship between work items
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Source work item ID"
    },
    "relation_type": {
      "type": "string",
      "description": "Relation type to remove"
    },
    "target_id": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      ],
      "description": "Target work item ID(s) to unlink"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "id",
    "relation_type",
    "target_id"
  ]
}
— · —
set_organizationSwitch to a different Azure DevOps organization for subsequent commands
Input schema
{
  "type": "object",
  "properties": {
    "organization": {
      "type": "string",
      "description": "Organization name or URL (e.g., \"myorg\" or \"https://dev.azure.com/myorg\")"
    }
  },
  "required": [
    "organization"
  ]
}
— · —
test_queryTest a WIQL query and show raw results to understand data structure
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "WIQL query to test"
    },
    "show_raw": {
      "type": "boolean",
      "description": "Show completely raw JSON response"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "query"
  ]
}
— · —
update_wiki_pageUpdate an existing wiki page. Requires the page version (ETag) which can be obtained from get_wiki_page.
Input schema
{
  "type": "object",
  "properties": {
    "wiki": {
      "type": "string",
      "description": "Name or ID of the wiki"
    },
    "path": {
      "type": "string",
      "description": "Path of the wiki page to update"
    },
    "content": {
      "type": "string",
      "description": "New content for the wiki page (Markdown)"
    },
    "version": {
      "type": "string",
      "description": "Version (ETag) of the page to update - get this from get_wiki_page"
    },
    "comment": {
      "type": "string",
      "description": "Commit message (optional)"
    },
    "project": {
      "type": "string",
      "description": "Project name (optional)"
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "wiki",
    "path",
    "content",
    "version"
  ]
}
— · —
update_work_itemUpdate an existing work item
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "title": {
      "type": "string",
      "description": "New title (optional)"
    },
    "state": {
      "type": "string",
      "enum": [
        "New",
        "Active",
        "Resolved",
        "Closed",
        "Removed"
      ],
      "description": "Work item state (optional)"
    },
    "assigned_to": {
      "type": "string",
      "description": "Email or @Me (optional)"
    },
    "description": {
      "type": "string"
    },
    "comment": {
      "type": "string",
      "description": "Add a comment (optional)"
    },
    "fields": {
      "type": "object",
      "description": "Arbitrary fields to update. Keys are field reference names (e.g., \"Microsoft.VSTS.CMMI.Analysis\"), values are the field values. Use discover_fields tool to find available field names.",
      "additionalProperties": true
    },
    "organization": {
      "type": "string",
      "description": "Organization name or URL (optional, uses current org if not specified)"
    }
  },
  "required": [
    "id"
  ]
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.