Azure DevOps MCP Server
Reference for every tool exposed by the Azure DevOps MCP server. Each tool is invoked with an MCP
tools/call request — there are no REST endpoints. Connect an MCP client to the server, then call a tool by name with arguments matching its input schema.
@azure-devops/mcp server (v2.7.0) via a tools/list scrape.
The hosted remote server (mcp.dev.azure.com) is
in preview and may expose a different or evolving set of tools.
npx -y @azure-devops/mcp <your-org>https://mcp.dev.azure.com/<your-org>
Authorization: Bearer <Entra token> scope https://mcp.dev.azure.com/.defaultmcp.json — pick toolsets & read-only mode →
Core
Projects, teams, and organization-level resources.
3 tools
Get Identity IDs
core_get_identity_idsRetrieve Azure DevOps identity IDs for a provided search filter.
Parameters
| Parameter | Type | Description |
|---|---|---|
searchFilterrequired |
string |
Search filter (unique name, display name, email) to retrieve identity IDs for. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "core_get_identity_ids"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "core_get_identity_ids",
"arguments": {
"searchFilter": "string"
}
}
}List Project Teams
core_list_project_teamsRetrieve a list of teams for an Azure DevOps project. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
mine |
boolean |
If true, only return teams that the authenticated user is a member of. |
top |
number |
The maximum number of teams to return. Defaults to 100. |
skip |
number |
The number of teams to skip for pagination. Defaults to 0. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "core_list_project_teams"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "core_list_project_teams",
"arguments": {
"project": "string",
"mine": false,
"top": 0,
"skip": 0
}
}
}List Projects
core_list_projectsRetrieve a list of projects in your Azure DevOps organization.
Parameters
| Parameter | Type | Description |
|---|---|---|
stateFilter |
enum |
Filter projects by their state. Defaults to 'wellFormed'. allwellFormedcreatePendingdeleteddefault: "wellFormed" |
top |
number |
The maximum number of projects to return. Defaults to 100. |
skip |
number |
The number of projects to skip for pagination. Defaults to 0. |
continuationToken |
number |
Continuation token for pagination. Used to fetch the next set of results if available. |
projectNameFilter |
string |
Filter projects by name. Supports partial matches. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "core_list_projects"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "core_list_projects",
"arguments": {
"stateFilter": "wellFormed",
"top": 0,
"skip": 0,
"continuationToken": 0,
"projectNameFilter": "string"
}
}
}Work
Team iterations, backlogs, and boards.
8 tools
Assign Iterations
work_assign_iterationsAssign existing iterations to a specific team in a project.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The name or ID of the Azure DevOps project. |
teamrequired |
string |
The name or ID of the Azure DevOps team. |
iterationsrequired |
array<object> |
An array of iterations to assign. Each iteration must have an identifier and a path. |
identifierrequired |
string |
The identifier of the iteration to assign. |
pathrequired |
string |
The path of the iteration to assign, e.g., 'Project/Iteration'. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "work_assign_iterations"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "work_assign_iterations",
"arguments": {
"project": "string",
"team": "string",
"iterations": [
{
"identifier": "string",
"path": "string"
}
]
}
}
}Create Iterations
work_create_iterationsCreate new iterations in a specified Azure DevOps project.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The name or ID of the Azure DevOps project. |
iterationsrequired |
array<object> |
An array of iterations to create. Each iteration must have a name and can optionally have start and finish dates in ISO format. |
iterationNamerequired |
string |
The name of the iteration to create. |
startDate |
string |
The start date of the iteration in ISO format (e.g., '2023-01-01T00:00:00Z'). Optional. |
finishDate |
string |
The finish date of the iteration in ISO format (e.g., '2023-01-31T23:59:59Z'). Optional. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "work_create_iterations"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "work_create_iterations",
"arguments": {
"project": "string",
"iterations": [
{
"iterationName": "string",
"startDate": "string",
"finishDate": "string"
}
]
}
}
}Get Iteration Capacities
work_get_iteration_capacitiesGet an iteration's capacity for all teams in iteration and project. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or Id of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
iterationIdrequired |
string |
The Iteration Id to get capacity for. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "work_get_iteration_capacities"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "work_get_iteration_capacities",
"arguments": {
"iterationId": "string",
"project": "string"
}
}
}Get Team Capacity
work_get_team_capacityGet the team capacity of a specific team and iteration in a project. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or Id of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
teamrequired |
string |
The name or Id of the Azure DevOps team. Reuse from prior context if already known. |
iterationIdrequired |
string |
The Iteration Id to get capacity for. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "work_get_team_capacity"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "work_get_team_capacity",
"arguments": {
"team": "string",
"iterationId": "string",
"project": "string"
}
}
}Get Team Settings
work_get_team_settingsGet team settings including default iteration, backlog iteration, and default area path for a team. If a project or team is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
team |
string |
The name or ID of the Azure DevOps team. Reuse from prior context if already known. If not provided, a team selection prompt will be shown. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "work_get_team_settings"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "work_get_team_settings",
"arguments": {
"project": "string",
"team": "string"
}
}
}List Iterations
work_list_iterationsList all iterations in a specified Azure DevOps project. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
depth |
number |
Depth of children to fetch. default: 2 |
excludedIds |
array<number> |
An optional array of iteration IDs, and thier children, that should not be returned. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "work_list_iterations"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "work_list_iterations",
"arguments": {
"project": "string",
"depth": 2,
"excludedIds": [
1
]
}
}
}List Team Iterations
work_list_team_iterationsRetrieve a list of iterations for a specific team in a project. If a project or team is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
team |
string |
The name or ID of the Azure DevOps team. Reuse from prior context if already known. If not provided, a team selection prompt will be shown. |
timeframe |
enum |
The timeframe for which to retrieve iterations. Currently, only 'current' is supported. current |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "work_list_team_iterations"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "work_list_team_iterations",
"arguments": {
"project": "string",
"team": "string",
"timeframe": "current"
}
}
}Update Team Capacity
work_update_team_capacityUpdate the team capacity of a team member for a specific iteration in a project.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The name or Id of the Azure DevOps project. |
teamrequired |
string |
The name or Id of the Azure DevOps team. |
teamMemberIdrequired |
string |
The team member Id for the specific team member. |
iterationIdrequired |
string |
The Iteration Id to update the capacity for. |
activitiesrequired |
array<object> |
Array of activities and their daily capacities for the team member. |
namerequired |
string |
The name of the activity (e.g., 'Development'). |
capacityPerDayrequired |
number |
The capacity per day for this activity. |
daysOff |
array<object> |
Array of days off for the team member, each with a start and end date in ISO format. |
startrequired |
string |
Start date of the day off in ISO format. |
endrequired |
string |
End date of the day off in ISO format. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "work_update_team_capacity"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "work_update_team_capacity",
"arguments": {
"project": "string",
"team": "string",
"teamMemberId": "string",
"iterationId": "string",
"activities": [
{
"name": "string",
"capacityPerDay": 0
}
],
"daysOff": [
{
"start": "string",
"end": "string"
}
]
}
}
}Work Items
Create, query, and update work items (Work Item Tracking).
23 tools
Add Artifact Link
wit_add_artifact_linkAdd artifact links (repository, branch, commit, builds) to work items. You can either provide the full vstfs URI or the individual components to build it automatically. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
workItemIdrequired |
number |
The ID of the work item to add the artifact link to. |
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
artifactUri |
string |
The complete VSTFS URI of the artifact to link. If provided, individual component parameters are ignored. |
projectId |
string |
The project ID (GUID) containing the artifact. Required for Git artifacts when artifactUri is not provided. |
repositoryId |
string |
The repository ID (GUID) containing the artifact. Required for Git artifacts when artifactUri is not provided. |
branchName |
string |
The branch name (e.g., 'main'). Required when linkType is 'Branch'. |
commitId |
string |
The commit SHA hash. Required when linkType is 'Fixed in Commit'. |
pullRequestId |
number |
The pull request ID. Required when linkType is 'Pull Request'. |
buildId |
number |
The build ID. Required when linkType is 'Build', 'Found in build', or 'Integrated in build'. |
linkType |
enum |
Type of artifact link, defaults to 'Branch'. This determines both the link type and how to build the VSTFS URI from individual components. BranchBuildFixed in ChangesetFixed in CommitFound in buildIntegrated in buildModel LinkPull RequestRelated WorkitemResult AttachmentSource Code FileTagTest ResultWikidefault: "Branch" |
comment |
string |
Comment to include with the artifact link. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_add_artifact_link"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_add_artifact_link",
"arguments": {
"workItemId": 1,
"project": "string",
"artifactUri": "string",
"projectId": "string",
"repositoryId": "string",
"branchName": "string",
"commitId": "string",
"pullRequestId": 1,
"buildId": 1,
"linkType": "Branch",
"comment": "string"
}
}
}Add Child Work Items
wit_add_child_work_itemsCreate one or many child work items from a parent by work item type and parent id. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
parentIdrequired |
number |
The ID of the parent work item to create a child work item under. |
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
workItemTyperequired |
string |
The type of the child work item to create. |
itemsrequired |
array<object> |
|
titlerequired |
string |
The title of the child work item. |
descriptionrequired |
string |
The description of the child work item. |
format |
enum |
Format for the description on the child work item, e.g., 'Markdown', 'Html'. Defaults to 'Markdown'. MarkdownHtmldefault: "Markdown" |
areaPath |
string |
Optional area path for the child work item. |
iterationPath |
string |
Optional iteration path for the child work item. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_add_child_work_items"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_add_child_work_items",
"arguments": {
"parentId": 1,
"workItemType": "string",
"items": [
{
"title": "string",
"description": "string",
"format": "Markdown",
"areaPath": "string",
"iterationPath": "string"
}
],
"project": "string"
}
}
}Add Work Item Comment
wit_add_work_item_commentAdd comment to a work item by ID. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
workItemIdrequired |
number |
The ID of the work item to add a comment to. |
commentrequired |
string |
The text of the comment to add to the work item. |
format |
enum |
The format of the comment text, e.g., 'Markdown', 'Html'. Optional, defaults to 'Markdown'. MarkdownHtmldefault: "Markdown" |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_add_work_item_comment"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_add_work_item_comment",
"arguments": {
"workItemId": 1,
"comment": "string",
"project": "string",
"format": "Markdown"
}
}
}Create Work Item
wit_create_work_itemCreate a new work item in a specified project and work item type. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
workItemTyperequired |
string |
The type of work item to create, e.g., 'Task', 'Bug', etc. |
fieldsrequired |
array<object> |
A record of field names and values to set on the new work item. Each fild is the field name and each value is the corresponding value to set for that field. |
namerequired |
string |
The name of the field, e.g., 'System.Title'. |
valuerequired |
string |
The value of the field. |
format |
enum |
the format of the field value, e.g., 'Html', 'Markdown'. Optional, defaults to 'Markdown'. HtmlMarkdown |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_create_work_item"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_create_work_item",
"arguments": {
"workItemType": "string",
"fields": [
{
"name": "string",
"value": "string",
"format": "Html"
}
],
"project": "string"
}
}
}Get Query
wit_get_queryGet a query by its ID or path. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
queryrequired |
string |
The ID or path of the query to retrieve. |
expand |
enum |
Optional expand parameter to include additional details in the response. Defaults to 'None'. NoneWiqlClausesAllMinimal |
depth |
number |
Optional depth parameter to specify how deep to expand the query. Defaults to 0. default: 0 |
includeDeleted |
boolean |
Whether to include deleted items in the query results. Defaults to false. default: false |
useIsoDateFormat |
boolean |
Whether to use ISO date format in the response. Defaults to false. default: false |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_get_query"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_get_query",
"arguments": {
"query": "string",
"project": "string",
"expand": "None",
"depth": 0,
"includeDeleted": false,
"useIsoDateFormat": false
}
}
}Get Query Results By ID
wit_get_query_results_by_idRetrieve the results of a work item query given the query ID. Supports full or IDs-only response types.
Parameters
| Parameter | Type | Description |
|---|---|---|
idrequired |
string |
The ID of the query to retrieve results for. |
project |
string |
The name or ID of the Azure DevOps project. If not provided, the default project will be used. |
team |
string |
The name or ID of the Azure DevOps team. If not provided, the default team will be used. |
timePrecision |
boolean |
Whether to include time precision in the results. Defaults to false. |
top |
number |
The maximum number of results to return. Defaults to 50. default: 50 |
responseType |
enum |
Response type: 'full' returns complete query results (default), 'ids' returns only work item IDs for reduced payload size. fullidsdefault: "full" |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_get_query_results_by_id"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_get_query_results_by_id",
"arguments": {
"id": "string",
"project": "string",
"team": "string",
"timePrecision": false,
"top": 50,
"responseType": "full"
}
}
}Get Work Item
wit_get_work_itemGet a single work item by ID. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
idrequired |
number |
The ID of the work item to retrieve. |
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
fields |
array<string> |
Optional list of fields to include in the response. If not provided, all fields will be returned. Cannot be used together with the expand parameter. |
asOf |
string |
Optional date string to retrieve the work item as of a specific time. If not provided, the current state will be returned. |
expand |
enum |
Expand options include 'All', 'Fields', 'Links', 'None', and 'Relations'. Relations can be used to get child workitems. Defaults to 'None'. Cannot be used together with the fields parameter. allfieldslinksnonerelations |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_get_work_item"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_get_work_item",
"arguments": {
"id": 1,
"project": "string",
"fields": [
"string"
],
"asOf": "2024-01-01T00:00:00Z",
"expand": "all"
}
}
}Get Work Item Attachment
wit_get_work_item_attachmentDownload a work item attachment by its ID and return the content as a base64-encoded resource. Useful for viewing images (e.g. screenshots) attached to work items such as bugs. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
attachmentIdrequired |
string |
The GUID of the attachment. Found in the attachment URL: https://dev.azure.com/{org}/{project}/_apis/wit/attachments/{attachmentId} |
fileName |
string |
The file name of the attachment, e.g. 'screenshot.png'. Used to determine the MIME type for the returned resource. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_get_work_item_attachment"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_get_work_item_attachment",
"arguments": {
"attachmentId": "string",
"project": "string",
"fileName": "string"
}
}
}Get Work Item Type
wit_get_work_item_typeGet a specific work item type. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
workItemTyperequired |
string |
The name of the work item type to retrieve. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_get_work_item_type"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_get_work_item_type",
"arguments": {
"workItemType": "string",
"project": "string"
}
}
}Get Work Items Batch By IDs
wit_get_work_items_batch_by_idsRetrieve list of work items by IDs in batch. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
idsrequired |
array<number> |
The IDs of the work items to retrieve. |
fields |
array<string> |
Optional list of fields to include in the response. If not provided, a hardcoded default set of fields will be used. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_get_work_items_batch_by_ids"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_get_work_items_batch_by_ids",
"arguments": {
"ids": [
1
],
"project": "string",
"fields": [
"string"
]
}
}
}Get Work Items For Iteration
wit_get_work_items_for_iterationRetrieve a list of work items for a specified iteration. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
team |
string |
The name or ID of the Azure DevOps team. If not provided, the default team will be used. |
iterationIdrequired |
string |
The ID of the iteration to retrieve work items for. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_get_work_items_for_iteration"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_get_work_items_for_iteration",
"arguments": {
"iterationId": "string",
"project": "string",
"team": "string"
}
}
}Link Work Item To Pull Request
wit_link_work_item_to_pull_requestLink a single work item to an existing pull request.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectIdrequired |
string |
The project ID of the Azure DevOps project (note: project name is not valid). |
repositoryIdrequired |
string |
The ID of the repository containing the pull request. Do not use the repository name here, use the ID instead. |
pullRequestIdrequired |
number |
The ID of the pull request to link to. |
workItemIdrequired |
number |
The ID of the work item to link to the pull request. |
pullRequestProjectId |
string |
The project ID containing the pull request. If not provided, defaults to the work item's project ID (for same-project linking). |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_link_work_item_to_pull_request"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_link_work_item_to_pull_request",
"arguments": {
"projectId": "string",
"repositoryId": "string",
"pullRequestId": 1,
"workItemId": 1,
"pullRequestProjectId": "string"
}
}
}List Backlog Work Items
wit_list_backlog_work_itemsRetrieve a list of backlogs of for a given project, team, and backlog category. If a project or team is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
team |
string |
The name or ID of the Azure DevOps team. Reuse from prior context if already known. If not provided, a team selection prompt will be shown. |
backlogIdrequired |
string |
The ID of the backlog category to retrieve work items from. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_list_backlog_work_items"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_list_backlog_work_items",
"arguments": {
"backlogId": "string",
"project": "string",
"team": "string"
}
}
}List Backlogs
wit_list_backlogsReceive a list of backlogs for a given project and team. If a project or team is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
team |
string |
The name or ID of the Azure DevOps team. Reuse from prior context if already known. If not provided, a team selection prompt will be shown. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_list_backlogs"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_list_backlogs",
"arguments": {
"project": "string",
"team": "string"
}
}
}List Work Item Comments
wit_list_work_item_commentsRetrieve list of comments for a work item by ID. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
workItemIdrequired |
number |
The ID of the work item to retrieve comments for. |
top |
number |
Optional number of comments to retrieve. Defaults to all comments. default: 50 |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_list_work_item_comments"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_list_work_item_comments",
"arguments": {
"workItemId": 1,
"project": "string",
"top": 50
}
}
}List Work Item Revisions
wit_list_work_item_revisionsRetrieve list of revisions for a work item by ID. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
workItemIdrequired |
number |
The ID of the work item to retrieve revisions for. |
top |
number |
Optional number of revisions to retrieve. If not provided, all revisions will be returned. default: 50 |
skip |
number |
Optional number of revisions to skip for pagination. Defaults to 0. |
expand |
enum |
Optional expand parameter to include additional details. Defaults to 'None'. NoneRelationsFieldsLinksAlldefault: "None" |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_list_work_item_revisions"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_list_work_item_revisions",
"arguments": {
"workItemId": 1,
"project": "string",
"top": 50,
"skip": 0,
"expand": "None"
}
}
}My Work Items
wit_my_work_itemsRetrieve a list of work items relevent to the authenticated user. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
type |
enum |
The type of work items to retrieve. Defaults to 'assignedtome'. assignedtomemyactivitydefault: "assignedtome" |
top |
number |
The maximum number of work items to return. Defaults to 50. default: 50 |
includeCompleted |
boolean |
Whether to include completed work items. Defaults to false. default: false |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_my_work_items"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_my_work_items",
"arguments": {
"project": "string",
"type": "assignedtome",
"top": 50,
"includeCompleted": false
}
}
}Query By WIQL
wit_query_by_wiqlExecute a WIQL (Work Item Query Language) query and return the matching work items. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
wiqlrequired |
string |
The WIQL query string to execute, e.g., "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.TeamProject] = @project" |
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
team |
string |
The name or ID of the Azure DevOps team. If not provided, the default team context will be used. |
timePrecision |
boolean |
Whether to include time precision in date fields. Defaults to false. |
top |
number |
The maximum number of results to return. Defaults to 50. default: 50 |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_query_by_wiql"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_query_by_wiql",
"arguments": {
"wiql": "string",
"project": "string",
"team": "string",
"timePrecision": false,
"top": 50
}
}
}Update Work Item
wit_update_work_itemUpdate a work item by ID with specified fields.
Parameters
| Parameter | Type | Description |
|---|---|---|
idrequired |
number |
The ID of the work item to update. |
updatesrequired |
array<object> |
An array of field updates to apply to the work item. |
op |
string |
The operation to perform on the field. default: "add" |
pathrequired |
string |
The path of the field to update, e.g., '/fields/System.Title'. |
valuerequired |
string |
The new value for the field. This is required for 'Add' and 'Replace' operations, and should be omitted for 'Remove' operations. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_update_work_item"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_update_work_item",
"arguments": {
"id": 1,
"updates": [
{
"path": "string",
"value": "string",
"op": "add"
}
]
}
}
}Update Work Item Comment
wit_update_work_item_commentUpdate an existing comment on a work item by ID. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
workItemIdrequired |
number |
The ID of the work item. |
commentIdrequired |
number |
The ID of the comment to update. |
textrequired |
string |
The updated comment text. |
format |
enum |
The format of the comment text, e.g., 'Markdown', 'Html'. Optional, defaults to 'Markdown'. MarkdownHtmldefault: "Markdown" |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_update_work_item_comment"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_update_work_item_comment",
"arguments": {
"workItemId": 1,
"commentId": 1,
"text": "string",
"project": "string",
"format": "Markdown"
}
}
}Update Work Items Batch
wit_update_work_items_batchUpdate work items in batch
Parameters
| Parameter | Type | Description |
|---|---|---|
updatesrequired |
array<object> |
An array of updates to apply to work items. Each update should include the operation (op), work item ID (id), field path (path), and new value (value). |
op |
enum |
The operation to perform on the field. AddReplaceRemovedefault: "Add" |
idrequired |
number |
The ID of the work item to update. |
pathrequired |
string |
The path of the field to update, e.g., '/fields/System.Title'. |
valuerequired |
string |
The new value for the field. This is required for 'add' and 'replace' operations, and should be omitted for 'remove' operations. |
format |
enum |
The format of the field value. Only to be used for large text fields. e.g., 'Html', 'Markdown'. Optional, defaults to 'Markdown'. HtmlMarkdown |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_update_work_items_batch"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_update_work_items_batch",
"arguments": {
"updates": [
{
"id": 1,
"path": "string",
"value": "string",
"op": "Add",
"format": "Html"
}
]
}
}
}Work Item Unlink
wit_work_item_unlinkRemove one or many links from a single work item. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
idrequired |
number |
The ID of the work item to remove the links from. |
type |
enum |
Type of link to remove. Options include 'parent', 'child', 'duplicate', 'duplicate of', 'related', 'successor', 'predecessor', 'tested by', 'tests', 'affects', 'affected by', and 'artifact'. Defaults to 'related'. parentchildduplicateduplicate ofrelatedsuccessorpredecessortested bytestsaffectsaffected byartifactdefault: "related" |
url |
string |
Optional URL to match for the link to remove. If not provided, all links of the specified type will be removed. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_work_item_unlink"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_work_item_unlink",
"arguments": {
"id": 1,
"project": "string",
"type": "related",
"url": "string"
}
}
}Work Items Link
wit_work_items_linkLink work items together in batch. If a project is not specified, you will be prompted to select one.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown. |
updatesrequired |
array<object> |
|
idrequired |
number |
The ID of the work item to update. |
linkToIdrequired |
number |
The ID of the work item to link to. |
type |
enum |
Type of link to create between the work items. Options include 'parent', 'child', 'duplicate', 'duplicate of', 'related', 'successor', 'predecessor', 'tested by', 'tests', 'affects', and 'affected by'. Defaults to 'related'. parentchildduplicateduplicate ofrelatedsuccessorpredecessortested bytestsaffectsaffected bydefault: "related" |
comment |
string |
Optional comment to include with the link. This can be used to provide additional context for the link being created. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wit_work_items_link"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wit_work_items_link",
"arguments": {
"updates": [
{
"id": 1,
"linkToId": 1,
"type": "related",
"comment": "string"
}
],
"project": "string"
}
}
}Repositories
Git repositories, branches, pull requests, and commits.
22 tools
Create Branch
repo_create_branchCreate a new branch in the repository.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the branch will be created. When using a repository name instead of a GUID, the project parameter must also be provided. |
branchNamerequired |
string |
The name of the new branch to create, e.g., 'feature-branch'. |
sourceBranchName |
string |
The name of the source branch to create the new branch from. Defaults to 'main'. default: "main" |
sourceCommitId |
string |
The commit ID to create the branch from. If not provided, uses the latest commit of the source branch. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_create_branch"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_create_branch",
"arguments": {
"repositoryId": "string",
"branchName": "string",
"sourceBranchName": "main",
"sourceCommitId": "string",
"project": "string"
}
}
}Create Pull Request
repo_create_pull_requestCreate a new pull request.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request will be created. When using a repository name instead of a GUID, the project parameter must also be provided. |
sourceRefNamerequired |
string |
The source branch name for the pull request, e.g., 'refs/heads/feature-branch'. |
targetRefNamerequired |
string |
The target branch name for the pull request, e.g., 'refs/heads/main'. |
titlerequired |
string |
The title of the pull request. |
description |
string |
The description of the pull request. Must not be longer than 4000 characters. Optional. |
isDraft |
boolean |
Indicates whether the pull request is a draft. Defaults to false. default: false |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
workItems |
string |
Work item IDs to associate with the pull request, space-separated. |
forkSourceRepositoryId |
string |
The ID of the fork repository that the pull request originates from. Optional, used when creating a pull request from a fork. |
labels |
array<string> |
Array of label names to add to the pull request after creation. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_create_pull_request"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_create_pull_request",
"arguments": {
"repositoryId": "string",
"sourceRefName": "string",
"targetRefName": "string",
"title": "string",
"description": "string",
"isDraft": false,
"project": "string",
"workItems": "string",
"forkSourceRepositoryId": "string",
"labels": [
"string"
]
}
}
}Create Pull Request Thread
repo_create_pull_request_threadCreates a new comment thread on a pull request.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request is located. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request where the comment thread exists. |
contentrequired |
string |
The content of the comment to be added. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
filePath |
string |
The path of the file where the comment thread will be created. (optional) |
status |
enum |
The status of the comment thread. Defaults to 'Active'. UnknownActiveFixedWontFixClosedByDesignPendingdefault: "Active" |
rightFileStartLine |
number |
Position of first character of the thread's span in right file. The line number of a thread's position. Starts at 1. (optional) |
rightFileStartOffset |
number |
Position of first character of the thread's span in right file. The line number of a thread's position. The character offset of a thread's position inside of a line. Starts at 1. Must be set if rightFileStartLine is also specified. (optional) |
rightFileEndLine |
number |
Position of last character of the thread's span in right file. The line number of a thread's position. Starts at 1. Must be set if rightFileStartLine is also specified. (optional) |
rightFileEndOffset |
number |
Position of last character of the thread's span in right file. The character offset of a thread's position inside of a line. Must be set if rightFileEndLine is also specified. (optional) |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_create_pull_request_thread"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_create_pull_request_thread",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"content": "string",
"project": "string",
"filePath": "string",
"status": "Active",
"rightFileStartLine": 1,
"rightFileStartOffset": 0,
"rightFileEndLine": 0,
"rightFileEndOffset": 0
}
}
}Get Branch By Name
repo_get_branch_by_nameGet a branch by its name.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the branch is located. When using a repository name instead of a GUID, the project parameter must also be provided. |
branchNamerequired |
string |
The name of the branch to retrieve, e.g., 'main' or 'feature-branch'. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_get_branch_by_name"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_get_branch_by_name",
"arguments": {
"repositoryId": "string",
"branchName": "string",
"project": "string"
}
}
}Get File Content
repo_get_file_contentGet the content of a file from a Git repository at a specific version (branch, tag, or commit SHA). Useful for reading source files from PR branches, specific commits, or tags without having them checked out locally.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID (GUID) or name of the repository. |
pathrequired |
string |
The full path to the file in the repository, e.g., '/src/main.ts' or 'src/main.ts'. |
project |
string |
Project ID or project name. Required when repositoryId is a name. |
version |
string |
Version string: branch name (e.g. 'main'), tag name, or commit SHA. Defaults to the repository's default branch if not specified. |
versionType |
enum |
How to interpret the 'version' parameter. Defaults to 'Commit'. BranchTagCommitdefault: "Commit" |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_get_file_content"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_get_file_content",
"arguments": {
"repositoryId": "string",
"path": "string",
"project": "string",
"version": "string",
"versionType": "Commit"
}
}
}Get Pull Request By ID
repo_get_pull_request_by_idGet a pull request by its ID.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request is located. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request to retrieve. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
includeWorkItemRefs |
boolean |
Whether to reference work items associated with the pull request. default: false |
includeLabels |
boolean |
Whether to include a summary of labels in the response. default: false |
includeChangedFiles |
boolean |
Whether to include the list of files changed in the pull request. default: false |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_get_pull_request_by_id"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_get_pull_request_by_id",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"project": "string",
"includeWorkItemRefs": false,
"includeLabels": false,
"includeChangedFiles": false
}
}
}Get Pull Request Changes
repo_get_pull_request_changesGet the file changes (diff) for a pull request iteration with actual code diff content. Returns the code changes including line-by-line diffs made in the pull request.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID of the repository where the pull request is located. |
pullRequestIdrequired |
number |
The ID of the pull request to retrieve changes for. |
iterationId |
number |
The iteration ID to get changes for. If not specified, gets changes for the latest iteration. |
project |
string |
Project ID or project name (optional) |
top |
number |
Maximum number of files to include diffs for. Default is 100. |
skip |
number |
Number of changes to skip for pagination. |
compareTo |
number |
Iteration ID to compare against. If specified, returns changes between two iterations. |
includeDiffs |
boolean |
Whether to include actual line-by-line diff content. Default is true. Set to false to get only file metadata. |
includeLineContent |
boolean |
Whether to include the actual line content from the changed files. Default is true. When true, fetches file content and includes the actual code lines that were added/removed/modified. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_get_pull_request_changes"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_get_pull_request_changes",
"arguments": {
"repositoryId": "string",
"pullRequestId": 0,
"iterationId": 0,
"project": "string",
"top": 0,
"skip": 0,
"compareTo": 0,
"includeDiffs": false,
"includeLineContent": false
}
}
}Get Repo By Name Or ID
repo_get_repo_by_name_or_idGet the repository by project and repository name or ID.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project name or ID where the repository is located. |
repositoryNameOrIdrequired |
string |
Repository name or ID. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_get_repo_by_name_or_id"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_get_repo_by_name_or_id",
"arguments": {
"project": "string",
"repositoryNameOrId": "string"
}
}
}List Branches By Repo
repo_list_branches_by_repoRetrieve a list of branches for a given repository.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the branches are located. When using a repository name instead of a GUID, the project parameter must also be provided. |
top |
number |
The maximum number of branches to return. Defaults to 100. default: 100 |
filterContains |
string |
Filter to find branches that contain this string in their name. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_list_branches_by_repo"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_list_branches_by_repo",
"arguments": {
"repositoryId": "string",
"top": 100,
"filterContains": "string",
"project": "string"
}
}
}List Directory
repo_list_directoryList files and folders in a directory within a repository. Useful for exploring the structure of a codebase or finding related files.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository. |
path |
string |
The directory path to list (e.g., '/src' or '/src/components'). Defaults to repository root. default: "/" |
project |
string |
Project ID or name. Required if repositoryId is a name rather than a GUID. |
version |
string |
The version identifier - branch name (e.g., 'main'), tag name, or commit SHA. Defaults to the repository's default branch. |
versionType |
enum |
The type of version identifier: 'Branch', 'Commit', or 'Tag'. Defaults to 'Branch'. BranchCommitTagdefault: "Branch" |
recursive |
boolean |
Whether to list items recursively. Defaults to false. default: false |
recursionDepth |
number |
Maximum depth for recursive listing (1-10). Only applies when recursive is true. Defaults to 1. default: 1 |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_list_directory"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_list_directory",
"arguments": {
"repositoryId": "string",
"path": "/",
"project": "string",
"version": "string",
"versionType": "Branch",
"recursive": false,
"recursionDepth": 1
}
}
}List My Branches By Repo
repo_list_my_branches_by_repoRetrieve a list of my branches for a given repository Id.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the branches are located. When using a repository name instead of a GUID, the project parameter must also be provided. |
top |
number |
The maximum number of branches to return. default: 100 |
filterContains |
string |
Filter to find branches that contain this string in their name. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_list_my_branches_by_repo"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_list_my_branches_by_repo",
"arguments": {
"repositoryId": "string",
"top": 100,
"filterContains": "string",
"project": "string"
}
}
}List Pull Request Thread Comments
repo_list_pull_request_thread_commentsRetrieve a list of comments in a pull request thread.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request is located. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request for which to retrieve thread comments. |
threadIdrequired |
number |
The ID of the thread for which to retrieve comments. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
top |
number |
The maximum number of comments to return. default: 100 |
skip |
number |
The number of comments to skip. default: 0 |
fullResponse |
boolean |
Return full comment JSON response instead of trimmed data. default: false |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_list_pull_request_thread_comments"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_list_pull_request_thread_comments",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"threadId": 1,
"project": "string",
"top": 100,
"skip": 0,
"fullResponse": false
}
}
}List Pull Request Threads
repo_list_pull_request_threadsRetrieve a list of comment threads for a pull request.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request is located. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request for which to retrieve threads. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
iteration |
number |
The iteration ID for which to retrieve threads. Optional, defaults to the latest iteration. |
baseIteration |
number |
The base iteration ID for which to retrieve threads. Optional, defaults to the latest base iteration. |
top |
number |
The maximum number of threads to return after filtering. default: 100 |
skip |
number |
The number of threads to skip after filtering. default: 0 |
fullResponse |
boolean |
Return full thread JSON response instead of trimmed data. default: false |
status |
enum |
Filter threads by status. If not specified, returns threads of all statuses. UnknownActiveFixedWontFixClosedByDesignPending |
authorEmail |
string |
Filter threads by the email of the thread author (first comment author). |
authorDisplayName |
string |
Filter threads by the display name of the thread author (first comment author). Case-insensitive partial matching. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_list_pull_request_threads"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_list_pull_request_threads",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"project": "string",
"iteration": 1,
"baseIteration": 1,
"top": 100,
"skip": 0,
"fullResponse": false,
"status": "Unknown",
"authorEmail": "string",
"authorDisplayName": "string"
}
}
}List Pull Requests By Commits
repo_list_pull_requests_by_commitsLists pull requests by commit IDs to find which pull requests contain specific commits
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project name or ID |
repositoryrequired |
string |
Repository name or ID |
commitsrequired |
array<string> |
Array of commit IDs to query for |
queryType |
enum |
Type of query to perform NotSetLastMergeCommitCommitdefault: "LastMergeCommit" |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_list_pull_requests_by_commits"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_list_pull_requests_by_commits",
"arguments": {
"project": "string",
"repository": "string",
"commits": [
"string"
],
"queryType": "LastMergeCommit"
}
}
}List Pull Requests By Repo Or Project
repo_list_pull_requests_by_repo_or_projectRetrieve a list of pull requests for a given repository. Either repositoryId or project must be provided.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryId |
string |
The ID or name of the repository where the pull requests are located. When using a repository name instead of a GUID, the project parameter must also be provided. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID, or to scope the search to a specific project. |
top |
number |
The maximum number of pull requests to return. default: 100 |
skip |
number |
The number of pull requests to skip. default: 0 |
created_by_me |
boolean |
Filter pull requests created by the current user. default: false |
created_by_user |
string |
Filter pull requests created by a specific user (provide email or unique name). Takes precedence over created_by_me if both are provided. |
i_am_reviewer |
boolean |
Filter pull requests where the current user is a reviewer. default: false |
user_is_reviewer |
string |
Filter pull requests where a specific user is a reviewer (provide email or unique name). Takes precedence over i_am_reviewer if both are provided. |
status |
enum |
Filter pull requests by status. Defaults to 'Active'. NotSetActiveAbandonedCompletedAlldefault: "Active" |
sourceRefName |
string |
Filter pull requests from this source branch (e.g., 'refs/heads/feature-branch'). |
targetRefName |
string |
Filter pull requests into this target branch (e.g., 'refs/heads/main'). |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_list_pull_requests_by_repo_or_project"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_list_pull_requests_by_repo_or_project",
"arguments": {
"repositoryId": "string",
"project": "string",
"top": 100,
"skip": 0,
"created_by_me": false,
"created_by_user": "string",
"i_am_reviewer": false,
"user_is_reviewer": "string",
"status": "Active",
"sourceRefName": "string",
"targetRefName": "string"
}
}
}List Repos By Project
repo_list_repos_by_projectRetrieve a list of repositories for a given project
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The name or ID of the Azure DevOps project. |
top |
number |
The maximum number of repositories to return. default: 100 |
skip |
number |
The number of repositories to skip. Defaults to 0. default: 0 |
repoNameFilter |
string |
Optional filter to search for repositories by name. If provided, only repositories with names containing this string will be returned. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_list_repos_by_project"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_list_repos_by_project",
"arguments": {
"project": "string",
"top": 100,
"skip": 0,
"repoNameFilter": "string"
}
}
}Reply To Comment
repo_reply_to_commentReplies to a specific comment on a pull request.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request is located. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request where the comment thread exists. |
threadIdrequired |
number |
The ID of the thread to which the comment will be added. |
contentrequired |
string |
The content of the comment to be added. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
fullResponse |
boolean |
Return full comment JSON response instead of a simple confirmation message. default: false |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_reply_to_comment"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_reply_to_comment",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"threadId": 1,
"content": "string",
"project": "string",
"fullResponse": false
}
}
}Search Commits
repo_search_commitsSearch for commits in a repository with comprehensive filtering capabilities. Supports searching by description/comment text, time range, author, committer, specific commit IDs, and more. This is the unified tool for all commit search operations.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project name or ID |
repositoryrequired |
string |
Repository name or ID |
fromCommit |
string |
Starting commit ID |
toCommit |
string |
Ending commit ID |
version |
string |
The name of the branch, tag or commit to filter commits by |
versionType |
enum |
The meaning of the version parameter, e.g., branch, tag or commit BranchTagCommitdefault: "Branch" |
skip |
number |
Number of commits to skip default: 0 |
top |
number |
Maximum number of commits to return default: 10 |
includeLinks |
boolean |
Include commit links default: false |
includeWorkItems |
boolean |
Include associated work items default: false |
searchText |
string |
Search text to filter commits by description/comment. Supports partial matching. |
author |
string |
Filter commits by author email or display name |
authorEmail |
string |
Filter commits by exact author email address |
committer |
string |
Filter commits by committer email or display name |
committerEmail |
string |
Filter commits by exact committer email address |
fromDate |
string |
Filter commits from this date (ISO 8601 format, e.g., '2024-01-01T00:00:00Z') |
toDate |
string |
Filter commits to this date (ISO 8601 format, e.g., '2024-12-31T23:59:59Z') |
commitIds |
array<string> |
Array of specific commit IDs to retrieve. When provided, other filters are ignored except top/skip. |
historySimplificationMode |
enum |
How to simplify the commit history FirstParentSimplifyMergesFullHistoryFullHistorySimplifyMerges |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_search_commits"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_search_commits",
"arguments": {
"project": "string",
"repository": "string",
"fromCommit": "string",
"toCommit": "string",
"version": "string",
"versionType": "Branch",
"skip": 0,
"top": 10,
"includeLinks": false,
"includeWorkItems": false,
"searchText": "string",
"author": "string",
"authorEmail": "string",
"committer": "string",
"committerEmail": "string",
"fromDate": "string",
"toDate": "string",
"commitIds": [
"string"
],
"historySimplificationMode": "FirstParent"
}
}
}Update Pull Request
repo_update_pull_requestUpdate a Pull Request by ID with specified fields, including setting autocomplete with various completion options.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request exists. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request to update. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
title |
string |
The new title for the pull request. |
description |
string |
The new description for the pull request. Must not be longer than 4000 characters. |
isDraft |
boolean |
Whether the pull request should be a draft. |
targetRefName |
string |
The new target branch name (e.g., 'refs/heads/main'). |
status |
enum |
The new status of the pull request. Can be 'Active' or 'Abandoned'. ActiveAbandoned |
autoComplete |
boolean |
Set the pull request to autocomplete when all requirements are met. |
mergeStrategy |
enum |
The merge strategy to use when the pull request autocompletes. Defaults to 'NoFastForward'. NoFastForwardSquashRebaseRebaseMerge |
deleteSourceBranch |
boolean |
Whether to delete the source branch when the pull request autocompletes. Defaults to false. default: false |
transitionWorkItems |
boolean |
Whether to transition associated work items to the next state when the pull request autocompletes. Defaults to true. default: true |
bypassReason |
string |
Reason for bypassing branch policies. When provided, branch policies will be automatically bypassed during autocompletion. |
labels |
array<string> |
Array of label names to replace existing labels on the pull request. This will remove all current labels and add the specified ones. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_update_pull_request"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_update_pull_request",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"project": "string",
"title": "string",
"description": "string",
"isDraft": false,
"targetRefName": "string",
"status": "Active",
"autoComplete": false,
"mergeStrategy": "NoFastForward",
"deleteSourceBranch": false,
"transitionWorkItems": true,
"bypassReason": "string",
"labels": [
"string"
]
}
}
}Update Pull Request Reviewers
repo_update_pull_request_reviewersAdd or remove reviewers for an existing pull request.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request exists. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request to update. |
reviewerIdsrequired |
array<string> |
List of reviewer ids to add or remove from the pull request. |
actionrequired |
enum |
Action to perform on the reviewers. Can be 'add' or 'remove'. addremove |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_update_pull_request_reviewers"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_update_pull_request_reviewers",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"reviewerIds": [
"string"
],
"action": "add",
"project": "string"
}
}
}Update Pull Request Thread
repo_update_pull_request_threadUpdates an existing comment thread on a pull request.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository where the pull request is located. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request where the comment thread exists. |
threadIdrequired |
number |
The ID of the thread to update. |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
status |
enum |
The new status for the comment thread. UnknownActiveFixedWontFixClosedByDesignPending |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_update_pull_request_thread"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_update_pull_request_thread",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"threadId": 1,
"project": "string",
"status": "Unknown"
}
}
}Vote Pull Request
repo_vote_pull_requestCast a vote on a pull request. Automatically adds the current user as a reviewer if they are not already one.
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryIdrequired |
string |
The ID or name of the repository. When using a repository name instead of a GUID, the project parameter must also be provided. |
pullRequestIdrequired |
number |
The ID of the pull request. |
voterequired |
enum |
The vote to cast: Approved(10), Suggestions(5), None(0), Waiting(-5), Rejected(-10). ApprovedApprovedWithSuggestionsNoVoteWaitingForAuthorRejected |
project |
string |
Project ID or project name. Required when repositoryId is a repository name instead of a GUID. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "repo_vote_pull_request"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "repo_vote_pull_request",
"arguments": {
"repositoryId": "string",
"pullRequestId": 1,
"vote": "Approved",
"project": "string"
}
}
}Pipelines
YAML/classic pipelines and pipeline runs.
14 tools
Create Pipeline
pipelines_create_pipelineCreates a pipeline definition with YAML configuration for a given project.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to run the build in. |
namerequired |
string |
Name of the new pipeline. |
folder |
string |
Folder path for the new pipeline. Defaults to '\' if not specified. |
yamlPathrequired |
string |
The path to the pipeline's YAML file in the repository |
repositoryTyperequired |
enum |
The type of repository where the pipeline's YAML file is located. UnknownGitHubAzureReposGitGitHubEnterpriseBitBucketAzureReposGitHyphenated |
repositoryNamerequired |
string |
The name of the repository. In case of GitHub repository, this is the full name (:owner/:repo) - e.g. octocat/Hello-World. |
repositoryId |
string |
The ID of the repository. |
repositoryConnectionId |
string |
The service connection ID for GitHub repositories. Not required for Azure Repos Git. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_create_pipeline"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_create_pipeline",
"arguments": {
"project": "string",
"name": "string",
"yamlPath": "string",
"repositoryType": "Unknown",
"repositoryName": "string",
"folder": "string",
"repositoryId": "string",
"repositoryConnectionId": "string"
}
}
}Download Artifact
pipelines_download_artifactDownloads a pipeline artifact.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The name or ID of the project. |
buildIdrequired |
number |
The ID of the build. |
artifactNamerequired |
string |
The name of the artifact to download. |
destinationPath |
string |
The local path to download the artifact to. If not provided, returns binary content as base64. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_download_artifact"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_download_artifact",
"arguments": {
"project": "string",
"buildId": 1,
"artifactName": "string",
"destinationPath": "string"
}
}
}Get Build Changes
pipelines_get_build_changesGet the changes associated with a specific build.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to get the build changes for |
buildIdrequired |
number |
ID of the build to get changes for |
continuationToken |
string |
Continuation token for pagination |
top |
number |
Number of changes to retrieve, defaults to 100 default: 100 |
includeSourceChange |
boolean |
Whether to include source changes in the results, defaults to false |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_get_build_changes"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_get_build_changes",
"arguments": {
"project": "string",
"buildId": 1,
"continuationToken": "string",
"top": 100,
"includeSourceChange": false
}
}
}Get Build Definition Revisions
pipelines_get_build_definition_revisionsRetrieves a list of revisions for a specific build definition.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to get the build definition revisions for |
definitionIdrequired |
number |
ID of the build definition to get revisions for |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_get_build_definition_revisions"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_get_build_definition_revisions",
"arguments": {
"project": "string",
"definitionId": 1
}
}
}Get Build Definitions
pipelines_get_build_definitionsRetrieves a list of build definitions for a given project.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to get build definitions for |
repositoryId |
string |
Repository ID to filter build definitions |
repositoryType |
enum |
Type of repository to filter build definitions TfsGitGitHubBitbucketCloud |
name |
string |
Name of the build definition to filter |
path |
string |
Path of the build definition to filter |
queryOrder |
enum |
Order in which build definitions are returned NoneLastModifiedAscendingLastModifiedDescendingDefinitionNameAscendingDefinitionNameDescending |
top |
number |
Maximum number of build definitions to return |
continuationToken |
string |
Token for continuing paged results |
minMetricsTime |
string |
Minimum metrics time to filter build definitions |
definitionIds |
array<number> |
Array of build definition IDs to filter |
builtAfter |
string |
Return definitions that have builds after this date |
notBuiltAfter |
string |
Return definitions that do not have builds after this date |
includeAllProperties |
boolean |
Whether to include all properties in the results |
includeLatestBuilds |
boolean |
Whether to include the latest builds for each definition |
taskIdFilter |
string |
Task ID to filter build definitions |
processType |
number |
Process type to filter build definitions |
yamlFilename |
string |
YAML filename to filter build definitions |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_get_build_definitions"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_get_build_definitions",
"arguments": {
"project": "string",
"repositoryId": "string",
"repositoryType": "TfsGit",
"name": "string",
"path": "string",
"queryOrder": "None",
"top": 0,
"continuationToken": "string",
"minMetricsTime": "2024-01-01T00:00:00Z",
"definitionIds": [
1
],
"builtAfter": "2024-01-01T00:00:00Z",
"notBuiltAfter": "2024-01-01T00:00:00Z",
"includeAllProperties": false,
"includeLatestBuilds": false,
"taskIdFilter": "string",
"processType": 0,
"yamlFilename": "string"
}
}
}Get Build Log
pipelines_get_build_logRetrieves the logs for a specific build.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to get the build log for |
buildIdrequired |
number |
ID of the build to get the log for |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_get_build_log"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_get_build_log",
"arguments": {
"project": "string",
"buildId": 1
}
}
}Get Build Log By ID
pipelines_get_build_log_by_idGet a specific build log by log ID.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to get the build log for |
buildIdrequired |
number |
ID of the build to get the log for |
logIdrequired |
number |
ID of the log to retrieve |
startLine |
number |
Starting line number for the log content, defaults to 0 |
endLine |
number |
Ending line number for the log content, defaults to the end of the log |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_get_build_log_by_id"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_get_build_log_by_id",
"arguments": {
"project": "string",
"buildId": 1,
"logId": 1,
"startLine": 0,
"endLine": 0
}
}
}Get Build Status
pipelines_get_build_statusFetches the status of a specific build.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to get the build status for |
buildIdrequired |
number |
ID of the build to get the status for |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_get_build_status"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_get_build_status",
"arguments": {
"project": "string",
"buildId": 1
}
}
}Get Builds
pipelines_get_buildsRetrieves a list of builds for a given project.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to get builds for |
definitions |
array<number> |
Array of build definition IDs to filter builds |
queues |
array<number> |
Array of queue IDs to filter builds |
buildNumber |
string |
Build number to filter builds |
minTime |
string |
Minimum finish time to filter builds |
maxTime |
string |
Maximum finish time to filter builds |
requestedFor |
string |
User ID or name who requested the build |
reasonFilter |
number |
Reason filter for the build (see BuildReason enum) |
statusFilter |
number |
Status filter for the build (see BuildStatus enum) |
resultFilter |
number |
Result filter for the build (see BuildResult enum) |
tagFilters |
array<string> |
Array of tags to filter builds |
properties |
array<string> |
Array of property names to include in the results |
top |
number |
Maximum number of builds to return |
continuationToken |
string |
Token for continuing paged results |
maxBuildsPerDefinition |
number |
Maximum number of builds per definition |
deletedFilter |
number |
Filter for deleted builds (see QueryDeletedOption enum) |
queryOrder |
enum |
Order in which builds are returned FinishTimeAscendingFinishTimeDescendingQueueTimeDescendingQueueTimeAscendingStartTimeDescendingStartTimeAscendingdefault: "QueueTimeDescending" |
branchName |
string |
Branch name to filter builds |
buildIds |
array<number> |
Array of build IDs to retrieve |
repositoryId |
string |
Repository ID to filter builds |
repositoryType |
enum |
Type of repository to filter builds TfsGitGitHubBitbucketCloud |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_get_builds"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_get_builds",
"arguments": {
"project": "string",
"definitions": [
1
],
"queues": [
1
],
"buildNumber": "string",
"minTime": "2024-01-01T00:00:00Z",
"maxTime": "2024-01-01T00:00:00Z",
"requestedFor": "string",
"reasonFilter": 0,
"statusFilter": 0,
"resultFilter": 0,
"tagFilters": [
"string"
],
"properties": [
"string"
],
"top": 0,
"continuationToken": "string",
"maxBuildsPerDefinition": 0,
"deletedFilter": 0,
"queryOrder": "QueueTimeDescending",
"branchName": "string",
"buildIds": [
1
],
"repositoryId": "string",
"repositoryType": "TfsGit"
}
}
}Get Run
pipelines_get_runGets a run for a particular pipeline.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to run the build in |
pipelineIdrequired |
number |
ID of the pipeline to run |
runIdrequired |
number |
ID of the run to get |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_get_run"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_get_run",
"arguments": {
"project": "string",
"pipelineId": 1,
"runId": 1
}
}
}List Artifacts
pipelines_list_artifactsLists artifacts for a given build.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The name or ID of the project. |
buildIdrequired |
number |
The ID of the build. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_list_artifacts"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_list_artifacts",
"arguments": {
"project": "string",
"buildId": 1
}
}
}List Runs
pipelines_list_runsGets top 10000 runs for a particular pipeline.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to run the build in |
pipelineIdrequired |
number |
ID of the pipeline to run |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_list_runs"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_list_runs",
"arguments": {
"project": "string",
"pipelineId": 1
}
}
}Run Pipeline
pipelines_run_pipelineStarts a new run of a pipeline.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to run the build in |
pipelineIdrequired |
number |
ID of the pipeline to run |
pipelineVersion |
number |
Version of the pipeline to run. If not provided, the latest version will be used. |
previewRun |
boolean |
If true, returns the final YAML document after parsing templates without creating a new run. |
resources |
object |
A dictionary of resources to pass to the pipeline. |
builds |
object |
|
containers |
object |
|
packages |
object |
|
pipelinesrequired |
object |
|
repositories |
object |
|
stagesToSkip |
array<string> |
A list of stages to skip. |
templateParameters |
object |
Custom build parameters as key-value pairs |
variables |
object |
A dictionary of variables to pass to the pipeline. |
yamlOverride |
string |
YAML override for the pipeline run. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_run_pipeline"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_run_pipeline",
"arguments": {
"project": "string",
"pipelineId": 1,
"pipelineVersion": 1,
"previewRun": false,
"resources": {
"pipelines": {},
"builds": {},
"containers": {},
"packages": {},
"repositories": {}
},
"stagesToSkip": [
"string"
],
"templateParameters": {},
"variables": {},
"yamlOverride": "string"
}
}
}Update Build Stage
pipelines_update_build_stageUpdates the stage of a specific build.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or name to update the build stage for |
buildIdrequired |
number |
ID of the build to update |
stageNamerequired |
string |
Name of the stage to update |
statusrequired |
enum |
New status for the stage CancelRetryRun |
forceRetryAllJobs |
boolean |
Whether to force retry all jobs in the stage. default: false |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "pipelines_update_build_stage"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pipelines_update_build_stage",
"arguments": {
"project": "string",
"buildId": 1,
"stageName": "string",
"status": "Cancel",
"forceRetryAllJobs": false
}
}
}Test Plans
Test plans and suites.
9 tools
Add Test Cases To Suite
testplan_add_test_cases_to_suiteAdds existing test cases to a test suite.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The unique identifier (ID or name) of the Azure DevOps project. |
planIdrequired |
number |
The ID of the test plan. |
suiteIdrequired |
number |
The ID of the test suite. |
testCaseIdsrequired |
string | array<string> |
The ID(s) of the test case(s) to add. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_add_test_cases_to_suite"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_add_test_cases_to_suite",
"arguments": {
"project": "string",
"planId": 1,
"suiteId": 1,
"testCaseIds": "string"
}
}
}Create Test Case
testplan_create_test_caseCreates a new test case work item.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The unique identifier (ID or name) of the Azure DevOps project. |
titlerequired |
string |
The title of the test case. |
steps |
string |
The steps to reproduce the test case. Make sure to format each step as '1. Step one|Expected result one |
priority |
number |
The priority of the test case. |
areaPath |
string |
The area path for the test case. |
iterationPath |
string |
The iteration path for the test case. |
testsWorkItemId |
number |
Optional work item id that will be set as a Microsoft.VSTS.Common.TestedBy-Reverse link to the test case. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_create_test_case"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_create_test_case",
"arguments": {
"project": "string",
"title": "string",
"steps": "string",
"priority": 0,
"areaPath": "string",
"iterationPath": "string",
"testsWorkItemId": 1
}
}
}Create Test Plan
testplan_create_test_planCreates a new test plan in the project.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The unique identifier (ID or name) of the Azure DevOps project where the test plan will be created. |
namerequired |
string |
The name of the test plan to be created. |
iterationrequired |
string |
The iteration path for the test plan |
description |
string |
The description of the test plan |
startDate |
string |
The start date of the test plan |
endDate |
string |
The end date of the test plan |
areaPath |
string |
The area path for the test plan |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_create_test_plan"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_create_test_plan",
"arguments": {
"project": "string",
"name": "string",
"iteration": "string",
"description": "string",
"startDate": "string",
"endDate": "string",
"areaPath": "string"
}
}
}Create Test Suite
testplan_create_test_suiteCreates a new test suite in a test plan.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
Project ID or project name |
planIdrequired |
number |
ID of the test plan that contains the suites |
parentSuiteIdrequired |
number |
ID of the parent suite under which the new suite will be created, if not given by user this can be id of a root suite of the test plan |
namerequired |
string |
Name of the child test suite |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_create_test_suite"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_create_test_suite",
"arguments": {
"project": "string",
"planId": 1,
"parentSuiteId": 1,
"name": "string"
}
}
}List Test Cases
testplan_list_test_casesGets a list of test cases in the test plan.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The unique identifier (ID or name) of the Azure DevOps project. |
planidrequired |
number |
The ID of the test plan. |
suiteidrequired |
number |
The ID of the test suite. |
continuationToken |
string |
Token to continue fetching test cases from a previous request. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_list_test_cases"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_list_test_cases",
"arguments": {
"project": "string",
"planid": 1,
"suiteid": 1,
"continuationToken": "string"
}
}
}List Test Plans
testplan_list_test_plansRetrieve a paginated list of test plans from an Azure DevOps project. Allows filtering for active plans and toggling detailed information.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The unique identifier (ID or name) of the Azure DevOps project. |
filterActivePlans |
boolean |
Filter to include only active test plans. Defaults to true. default: true |
includePlanDetails |
boolean |
Include detailed information about each test plan. default: false |
continuationToken |
string |
Token to continue fetching test plans from a previous request. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_list_test_plans"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_list_test_plans",
"arguments": {
"project": "string",
"filterActivePlans": true,
"includePlanDetails": false,
"continuationToken": "string"
}
}
}List Test Suites
testplan_list_test_suitesRetrieve a paginated list of test suites from an Azure DevOps project and Test Plan Id.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The unique identifier (ID or name) of the Azure DevOps project. |
planIdrequired |
number |
The ID of the test plan. |
continuationToken |
string |
Token to continue fetching test plans from a previous request. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_list_test_suites"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_list_test_suites",
"arguments": {
"project": "string",
"planId": 1,
"continuationToken": "string"
}
}
}Show Test Results From Build ID
testplan_show_test_results_from_build_idGets a list of test results for a given project and build ID. Can filter by test outcome (e.g. Failed, Passed, Aborted). Returns test case titles, error messages, stack traces, and outcomes. Efficiently handles builds with large numbers of test runs.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The unique identifier (ID or name) of the Azure DevOps project. |
buildidrequired |
number |
The ID of the build. |
outcomes |
array<string> |
Filter results by test outcome, e.g. ['Failed', 'Passed', 'Aborted']. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_show_test_results_from_build_id"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_show_test_results_from_build_id",
"arguments": {
"project": "string",
"buildid": 1,
"outcomes": [
"string"
]
}
}
}Update Test Case Steps
testplan_update_test_case_stepsUpdate an existing test case work item.
Parameters
| Parameter | Type | Description |
|---|---|---|
idrequired |
number |
The ID of the test case work item to update. |
stepsrequired |
string |
The steps to reproduce the test case. Make sure to format each step as '1. Step one|Expected result one |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "testplan_update_test_case_steps"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "testplan_update_test_case_steps",
"arguments": {
"id": 1,
"steps": "string"
}
}
}Wiki
Project wikis and wiki pages.
6 tools
Create Or Update Page
wiki_create_or_update_pageCreate or update a wiki page with content.
Parameters
| Parameter | Type | Description |
|---|---|---|
wikiIdentifierrequired |
string |
The unique identifier or name of the wiki. |
pathrequired |
string |
The path of the wiki page (e.g., '/Home' or '/Documentation/Setup'). |
contentrequired |
string |
The content of the wiki page in markdown format. |
project |
string |
The project name or ID where the wiki is located. If not provided, the default project will be used. |
etag |
string |
ETag for editing existing pages (optional, will be fetched if not provided). |
branch |
string |
The branch name for the wiki repository. Defaults to 'wikiMaster' which is the default branch for Azure DevOps wikis. default: "wikiMaster" |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wiki_create_or_update_page"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wiki_create_or_update_page",
"arguments": {
"wikiIdentifier": "string",
"path": "string",
"content": "string",
"project": "string",
"etag": "string",
"branch": "wikiMaster"
}
}
}Get Page
wiki_get_pageRetrieve wiki page metadata by path. This tool does not return page content.
Parameters
| Parameter | Type | Description |
|---|---|---|
wikiIdentifierrequired |
string |
The unique identifier of the wiki. |
projectrequired |
string |
The project name or ID where the wiki is located. |
pathrequired |
string |
The path of the wiki page (e.g., '/Home' or '/Documentation/Setup'). |
recursionLevel |
enum |
Recursion level for subpages. 'None' returns only the specified page. 'OneLevel' includes direct children. 'Full' includes all descendants. NoneOneLevelOneLevelPlusNestedEmptyFoldersFull |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wiki_get_page"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wiki_get_page",
"arguments": {
"wikiIdentifier": "string",
"project": "string",
"path": "string",
"recursionLevel": "None"
}
}
}Get Page Content
wiki_get_page_contentRetrieve wiki page content. Provide either a 'url' parameter OR the combination of 'wikiIdentifier' and 'project' parameters.
Parameters
| Parameter | Type | Description |
|---|---|---|
url |
string |
The full URL of the wiki page to retrieve content for. If provided, wikiIdentifier, project, and path are ignored. Supported patterns: https://dev.azure.com/{org}/{project}/_wiki/wikis/{wikiIdentifier}?pagePath=%2FMy%20Page and https://dev.azure.com/{org}/{project}/_wiki/wikis/{wikiIdentifier}/{pageId}/Page-Title |
wikiIdentifier |
string |
The unique identifier of the wiki. Required if url is not provided. |
project |
string |
The project name or ID where the wiki is located. Required if url is not provided. |
path |
string |
The path of the wiki page to retrieve content for. Optional, defaults to root page if not provided. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wiki_get_page_content"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wiki_get_page_content",
"arguments": {
"url": "string",
"wikiIdentifier": "string",
"project": "string",
"path": "string"
}
}
}Get Wiki
wiki_get_wikiGet the wiki by wikiIdentifier
Parameters
| Parameter | Type | Description |
|---|---|---|
wikiIdentifierrequired |
string |
The unique identifier of the wiki. |
project |
string |
The project name or ID where the wiki is located. If not provided, the default project will be used. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wiki_get_wiki"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wiki_get_wiki",
"arguments": {
"wikiIdentifier": "string",
"project": "string"
}
}
}List Pages
wiki_list_pagesRetrieve a list of wiki pages for a specific wiki and project.
Parameters
| Parameter | Type | Description |
|---|---|---|
wikiIdentifierrequired |
string |
The unique identifier of the wiki. |
projectrequired |
string |
The project name or ID where the wiki is located. |
top |
number |
The maximum number of pages to return. Defaults to 20. default: 20 |
continuationToken |
string |
Token for pagination to retrieve the next set of pages. |
pageViewsForDays |
number |
Number of days to retrieve page views for. If not specified, page views are not included. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wiki_list_pages"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wiki_list_pages",
"arguments": {
"wikiIdentifier": "string",
"project": "string",
"top": 20,
"continuationToken": "string",
"pageViewsForDays": 0
}
}
}List Wikis
wiki_list_wikisRetrieve a list of wikis for an organization or project.
Parameters
| Parameter | Type | Description |
|---|---|---|
project |
string |
The project name or ID to filter wikis. If not provided, all wikis in the organization will be returned. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "wiki_list_wikis"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wiki_list_wikis",
"arguments": {
"project": "string"
}
}
}Search
Code, work item, and wiki search.
3 tools
Code
search_codeSearch Azure DevOps Repositories for a given search text
Parameters
| Parameter | Type | Description |
|---|---|---|
searchTextrequired |
string |
Keywords to search for in code repositories |
project |
string | array<string> |
Filter by projects |
repository |
array<string> |
Filter by repositories |
path |
array<string> |
Filter by paths |
branch |
array<string> |
Filter by branches |
includeFacets |
boolean |
Include facets in the search results default: false |
skip |
number |
Number of results to skip default: 0 |
top |
number |
Maximum number of results to return default: 5 |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "search_code"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_code",
"arguments": {
"searchText": "string",
"project": "string",
"repository": [
"string"
],
"path": [
"string"
],
"branch": [
"string"
],
"includeFacets": false,
"skip": 0,
"top": 5
}
}
}Wiki
search_wikiSearch Azure DevOps Wiki for a given search text
Parameters
| Parameter | Type | Description |
|---|---|---|
searchTextrequired |
string |
Keywords to search for wiki pages |
project |
array<string> |
Filter by projects |
wiki |
array<string> |
Filter by wiki names |
includeFacets |
boolean |
Include facets in the search results default: false |
skip |
number |
Number of results to skip default: 0 |
top |
number |
Maximum number of results to return default: 10 |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "search_wiki"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_wiki",
"arguments": {
"searchText": "string",
"project": [
"string"
],
"wiki": [
"string"
],
"includeFacets": false,
"skip": 0,
"top": 10
}
}
}Workitem
search_workitemGet Azure DevOps Work Item search results for a given search text
Parameters
| Parameter | Type | Description |
|---|---|---|
searchTextrequired |
string |
Search text to find in work items |
project |
array<string> |
Filter by projects |
areaPath |
array<string> |
Filter by area paths |
workItemType |
array<string> |
Filter by work item types |
state |
array<string> |
Filter by work item states |
assignedTo |
array<string> |
Filter by assigned to users |
includeFacets |
boolean |
Include facets in the search results default: false |
skip |
number |
Number of results to skip for pagination default: 0 |
top |
number |
Number of results to return default: 10 |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "search_workitem"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_workitem",
"arguments": {
"searchText": "string",
"project": [
"string"
],
"areaPath": [
"string"
],
"workItemType": [
"string"
],
"state": [
"string"
],
"assignedTo": [
"string"
],
"includeFacets": false,
"skip": 0,
"top": 10
}
}
}Advanced Security
Advanced Security alerts and analysis.
2 tools
Get Alert Details
advsec_get_alert_detailsGet detailed information about a specific Advanced Security alert.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The name or ID of the Azure DevOps project. |
repositoryrequired |
string |
The name or ID of the repository containing the alert. |
alertIdrequired |
number |
The ID of the alert to retrieve details for. |
ref |
string |
Git reference (branch) to filter the alert. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "advsec_get_alert_details"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "advsec_get_alert_details",
"arguments": {
"project": "string",
"repository": "string",
"alertId": 1,
"ref": "string"
}
}
}Get Alerts
advsec_get_alertsRetrieve Advanced Security alerts for a repository.
Parameters
| Parameter | Type | Description |
|---|---|---|
projectrequired |
string |
The name or ID of the Azure DevOps project. |
repositoryrequired |
string |
The name or ID of the repository to get alerts for. |
alertType |
enum |
Filter alerts by type. If not specified, returns all alert types. UnknownDependencySecretCodeLicense |
states |
array<enum> |
Filter alerts by state. If not specified, returns alerts in any state. |
severities |
array<enum> |
Filter alerts by severity level. If not specified, returns alerts at any severity. |
ruleId |
string |
Filter alerts by rule ID. |
ruleName |
string |
Filter alerts by rule name. |
toolName |
string |
Filter alerts by tool name. |
ref |
string |
Filter alerts by git reference (branch). If not provided and onlyDefaultBranch is true, only includes alerts from default branch. |
onlyDefaultBranch |
boolean |
If true, only return alerts found on the default branch. Defaults to true. default: true |
confidenceLevelsrequired |
array<enum> |
Filter alerts by confidence levels. Only applicable for secret alerts. Defaults to both 'high' and 'other'. default: ["high","other"] |
validity |
array<enum> |
Filter alerts by validity status. Only applicable for secret alerts. |
top |
number |
Maximum number of alerts to return. Defaults to 100. default: 100 |
orderBy |
enum |
Order results by specified field. Defaults to 'severity'. idfirstSeenlastSeenfixedOnseveritydefault: "severity" |
continuationToken |
string |
Continuation token for pagination. |
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/<your-org>",
"type": "http",
"headers": {
"X-MCP-Tools": "advsec_get_alerts"
}
}
},
"inputs": []
}{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "advsec_get_alerts",
"arguments": {
"project": "string",
"repository": "string",
"confidenceLevels": [
"high",
"other"
],
"alertType": "Unknown",
"states": [
"Unknown"
],
"severities": [
"Low"
],
"ruleId": "string",
"ruleName": "string",
"toolName": "string",
"ref": "string",
"onlyDefaultBranch": true,
"validity": [
"None"
],
"top": 100,
"orderBy": "severity",
"continuationToken": "string"
}
}
}