servers / ahmedrowaihi-azure-mcp-fastmcp
@ahmedrowaihi/azure-mcp-fastmcp
communityunknownnpmdestructive capablehealthy
Azure DevOps MCP Server for FastMCP integration
44/ 100
01Tools · 34
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| project-list
List all Azure DevOps projects in your organization.
No parameters required.
Returns: Array of projects with their IDs, names, descriptions, and URLs.
| read | false | unknown |
| iteration-delete
Delete one or more team iterations by ID.
Required parameters:
- project: The Azure DevOps project name.
- team: The team name.
- ids: Array of iteration IDs to delete.
Returns: Array of results showing success/failure for each iteration.
Example: { "project": "MyProject", "team": "Development Team", "ids": ["iteration1", "iteration2"] }
| destructive | true | true |
| team-capacity
Get team capacity for an iteration.
Required parameters:
- project: The Azure DevOps project name.
- team: The team name.
- iterationId: The ID or path of the iteration/sprint.
Returns: Team capacity information including member activities and days off.
Example: { "project": "MyProject", "team": "Development Team", "iterationId": "MyProject\Sprint 1" }
| read | false | unknown |
| workItem-type-list
List all available work item types for a project, including their required and optional fields.
Required parameters:
- project: The Azure DevOps project name.
Returns: Array of work item types with their names, descriptions, and available fields (with required/optional status).
Example: {
"project": "MyProject"
}
Output example:
[
{
"name": "Epic",
"description": "...",
"fields": [
{ "name": "Title", "referenceName": "System.Title", "type": "string", "required": true },
{ "name": "Description", "referenceName": "System.Description", "type": "string", "required": false }
]
},
...
]
| read | false | unknown |
| workItem-type-get
List all available fields for a work item type.
Required parameters:
- project: The Azure DevOps project name.
- type: The work item type (Epic, Feature, User Story, Task, Bug).
Returns: Array of fields with their names, reference names, descriptions, required status, and allowed values.
Example: { "project": "MyProject", "type": "Task" }
--
Note: if you want to get the work item types for a project, you can use the workItem.type.list tool.
| read | false | unknown |
| workItem-list-queries
List all saved work item queries for a project.
Required parameters:
- project: The Azure DevOps project name (e.g., "MyProject").
Returns: Array of saved queries with their IDs, names, and paths.
Example: { "project": "MyProject" }
| read | false | unknown |
| workItem-update
Update an existing work item with new field values. Can be used for assignment, state transitions, and any field updates.
Required parameters:
- id: The work item ID to update.
- fields: Object containing field values to update (e.g., { "System.AssignedTo": "user@example.com", "System.State": "In Progress" }).
Returns: The updated work item summary.
Example: {
"id": 12345,
"fields": {
"System.AssignedTo": "user@example.com",
"System.State": "In Progress",
"System.Title": "Updated Title"
}
}
| write | true | unknown |
| workItem-create
Create a new work item of any type (Epic, Feature, User Story, Task, Bug, etc.).
Required parameters:
- project: The Azure DevOps project name (e.g., "MyProject").
- type: The work item type (Epic, Feature, User Story, Task, Bug).
- fields: Object containing field values (e.g., { "System.Title": "My Task"...etc (other azure devops work items fields) }).
Optional parameters:
- parentUrl: The full URL of the parent work item (to create hierarchy).
Returns: The created work item summary (id, fields, url).
Example: {
"project": "MyProject",
"type": "Task",
"fields": { "System.Title": "Write documentation", "System.Description": "Update README"... },
"parentUrl": "https://dev.azure.com/org/project/_apis/wit/workItems/123"
}
| write | true | unknown |
| workItem-delete
Permanently delete (destroy) work items. This action is IRREVERSIBLE and cannot be undone.
Required parameters:
- project: The Azure DevOps project name.
- ids: Array of work item IDs to permanently delete.
Optional parameters:
- batchSize: Number of work items to delete in parallel (default: 5, max: 20).
Returns: Detailed results with summary statistics showing success/failure for each deletion.
Example: { "project": "MyProject", "ids": [123, 456, 789], "batchSize": 10 }
| destructive | true | true |
| workItem-list
List work items using various filtering options. Can query by WIQL, filter by type/assignee, or get all work items in a project.
Required parameters:
- project: The Azure DevOps project name.
Optional parameters:
- wiql: WIQL query string for custom filtering.
- types: Array of work item types to filter by (e.g., ["Task", "Bug"]).
- assignedTo: Filter by assigned user (exact match required).
- top: Maximum number of results to return.
Returns: Array of work items matching the criteria.
Examples:
- List all tasks: { "project": "MyProject", "types": ["Task"] }
- Custom WIQL: { "project": "MyProject", "wiql": "SELECT [System.Id] FROM WorkItems WHERE [System.State] = 'Active'" }
- Assigned to user: { "project": "MyProject", "assignedTo": "user@example.com" }
| read | false | unknown |
| workItem-executeQuery
Execute a saved work item query by its ID.
Required parameters:
- project: The Azure DevOps project name.
- queryId: The ID of the saved query to execute.
Optional parameters:
- top: Maximum number of results to return.
Returns: Array of work items from the query result.
Example: { "project": "MyProject", "queryId": "12345678-1234-1234-1234-123456789012" }
| write | true | unknown |
| workItem-list-states
Get available states for a specific work item type.
Required parameters:
- project: The Azure DevOps project name.
- workItemType: The work item type (e.g., "Epic", "Feature", "User Story", "Task").
Returns: Array of available states with their names, colors, and categories.
Example: { "project": "MyProject", "workItemType": "Task" }
| read | false | unknown |
| workItem-bulk-query
Execute multiple WIQL queries in parallel for better performance when querying large datasets.
Required parameters:
- project: The Azure DevOps project name.
- queries: Array of query objects with name and wiql.
Optional parameters:
- top: Maximum number of work items per query (default: 100, max: 1000).
- batchSize: Number of queries to execute in parallel (default: 5, max: 10).
Returns: Results for each query with summary statistics.
Example: {
"project": "MyProject",
"queries": [
{ "name": "Active Bugs", "wiql": "SELECT [System.Id] FROM WorkItems WHERE [System.WorkItemType] = 'Bug' AND [System.State] = 'Active'" },
{ "name": "In Progress Stories", "wiql": "SELECT [System.Id] FROM WorkItems WHERE [System.WorkItemType] = 'User Story' AND [System.State] = 'In Progress'" }
],
"top": 200,
"batchSize": 3
}
| write | true | unknown |
| workItem-link
Link an existing child work item to a parent by ID (creates parent-child relationship).
Required parameters:
- project: The Azure DevOps project name.
- parentId: The ID of the parent work item.
- childId: The ID of the child work item to link.
Optional parameters:
- linkType: The link type to use (default: System.LinkTypes.Hierarchy-Reverse).
Returns: The updated work item with new relations.
Example: {
"project": "MyProject",
"parentId": 123,
"childId": 456
}
| unknown | unknown | unknown |
| workItem-unlink
Unlink a child work item from a parent by ID (removes parent-child relationship).
Required parameters:
- project: The Azure DevOps project name.
- parentId: The ID of the parent work item.
- childId: The ID of the child work item to unlink.
Optional parameters:
- linkType: The link type to remove (default: System.LinkTypes.Hierarchy-Reverse).
Returns: The updated work item with relations removed.
Example: {
"project": "MyProject",
"parentId": 123,
"childId": 456
}
| destructive | true | true |
| workItem-bulk-update
Bulk update work items with multiple actions: assign, change state, set iteration, add comment, or update custom fields.
Required parameters:
- ids: Array of work item IDs to update.
- actions: Array of actions to perform on each work item.
Optional parameters:
- batchSize: Number of work items to process in parallel (default: 5, max: 20).
- summary: If true, return summary output; if false, return full work item details (default: true).
Returns: Detailed results with summary statistics showing success/failure for each action on each work item.
Example: {
"ids": [123, 456, 789],
"actions": [
{ "action": "assign", "value": "user@example.com" },
{ "action": "state", "value": "In Progress" },
{ "action": "comment", "value": "Bulk updated", "project": "MyProject" }
],
"batchSize": 10
}
| write | true | unknown |
| iteration-list
List all iterations (sprints) currently assigned to a team.
Required parameters:
- project: The Azure DevOps project name.
- team: The team name.
Returns: Array of iterations with their names, IDs, and dates.
Example: { "project": "MyProject", "team": "Development Team" }
| read | false | unknown |
| iteration-assign
Assign a work item to a team iteration (sprint).
Required parameters:
- id: The work item ID.
- iterationId: The team iteration path (e.g., 'ProjectName\Iteration 1').
Returns: The updated work item summary.
Example: { "id": 12345, "iterationId": "MyProject\Sprint 1" }
| write | true | unknown |
| iteration-list-work-items
List all work items assigned to a specific team iteration (sprint).
Required parameters:
- project: The Azure DevOps project name.
- iterationId: The team iteration path.
Optional parameters:
- team: The team name.
Returns: Array of work items assigned to the iteration.
Example: { "project": "MyProject", "team": "Development Team", "iterationId": "MyProject\Sprint 1" }
| read | false | unknown |
| iteration-get-by-id
Fetch a project-level iteration node by its numeric ID (for debugging).
Required parameters:
- project: The Azure DevOps project name.
- id: The numeric ID of the iteration node.
Returns: The node's name, path, and attributes.
Example: { "project": "MyProject", "id": 12345 }
| read | false | unknown |
| wiki-get
Get details for a specific wiki by ID.
Required parameters:
- wikiId: The wiki ID.
Optional parameters:
- project: The Azure DevOps project name.
Returns: Wiki details.
| read | false | unknown |
| wiki-page-list
List all pages in a wiki as a flat array.
Required parameters:
- project: The Azure DevOps project name.
- wikiId: The wiki ID.
Returns: Array of all pages (WikiPageDetail) in the wiki.
| read | false | unknown |
| workItem-bulk-create
Bulk create work items with hierarchical relationships. Supports creating any work item types with parent/child relationships.
Required parameters:
- project: The Azure DevOps project name.
- items: Array of work item objects with optional children.
Optional parameters:
- batchSize: Number of items to process in parallel (default: 3, max: 10).
Returns: Detailed results with summary statistics showing success/failure for each item.
Example: {
"project": "MyProject",
"items": [
{
"type": "Epic",
"title": "Epic 1",
"fields": { "System.Description": "Epic description" },
"children": [
{
"type": "Feature",
"title": "Feature A",
"children": [
{
"type": "User Story",
"title": "Story 1",
"children": [
{ "type": "Task", "title": "Task X" },
{ "type": "Task", "title": "Task Y" }
]
}
]
}
]
}
],
"batchSize": 5
}
| write | true | unknown |
| current-iteration
List current active iteration (sprint) assigned to the team.
Required parameters:
- project: The Azure DevOps project name.
- team: The team name.
Returns: Array of iterations with their names, IDs, and dates.
Example: { "project": "MyProject", "team": "Development Team" }
| read | false | unknown |
| iteration-create
Create a team iteration (sprint) for a project and team.
Required parameters:
- project: The Azure DevOps project name.
- team: The team name.
- name: The name of the iteration (sprint).
Optional parameters:
- startDate: Start date (YYYY-MM-DD) of the iteration.
- finishDate: Finish date (YYYY-MM-DD) of the iteration.
Returns: Confirmation message with created iteration details.
Example: {
"project": "MyProject",
"team": "Development Team",
"name": "Sprint 1",
"startDate": "2024-01-01",
"finishDate": "2024-01-15"
}
| write | true | unknown |
| iteration-update-dates
Update the start and end dates for a project-level iteration node (affects all teams using this iteration).
Required parameters:
- project: The Azure DevOps project name.
- iterationPath: The project-level iteration path (e.g., 'ProjectName\Iteration 1').
Optional parameters:
- startDate: Start date (YYYY-MM-DD).
- finishDate: Finish date (YYYY-MM-DD).
Returns: Updated iteration details.
Example: {
"project": "MyProject",
"iterationPath": "MyProject\Sprint 1",
"startDate": "2024-01-01",
"finishDate": "2024-01-15"
}
| write | true | unknown |
| team-list
List all teams for a specific project.
Required parameters:
- project: The Azure DevOps project name (e.g., "MyProject").
Returns: Array of teams with their IDs, names, descriptions, and project information.
Example: { "project": "MyProject" }
---
Note: if you want to get the teams for an project, you can use the project.list tool.
| read | false | unknown |
| wiki-create
Create a new wiki in a project.
Required parameters:
- params: Wiki creation parameters (name, projectId, etc.)
Optional parameters:
- project: The Azure DevOps project name.
Returns: The created wiki.
| write | true | unknown |
| wiki-page-get
Get the content of a wiki page as text.
Required parameters:
- project: The Azure DevOps project name.
- wikiId: The wiki ID.
- path: The path to the page.
Returns: The page content as text.
| read | false | unknown |
| iteration-list-project
List all project-level iteration nodes for a project.
Required parameters:
- project: The Azure DevOps project name.
Returns: Summary of iteration names and paths.
Example: { "project": "MyProject" }
| read | false | unknown |
| wiki-list
List all wikis in a project.
Optional parameters:
- project: The Azure DevOps project name.
Returns: Array of wikis for the project.
| read | false | unknown |
| wiki-delete
Delete a wiki by ID.
Required parameters:
- wikiId: The wiki ID.
Optional parameters:
- project: The Azure DevOps project name.
Returns: Result of the delete operation.
| destructive | true | true |
| team-list-members
List all team members for a specific team.
Required parameters:
- project: The Azure DevOps project name (e.g., "MyProject").
- team: The team name (e.g., "Development Team").
Returns: Array of team members with their identity information and admin status.
Example: { "project": "MyProject", "team": "Development Team" }
---
Note: if you want to get the team members for a project, you can use the project.listTeams tool.
| read | false | unknown |
| wiki-update
Update a wiki's properties.
Required parameters:
- params: Wiki update parameters (name, versions, etc.)
- wikiId: The wiki ID.
Optional parameters:
- project: The Azure DevOps project name.
Returns: The updated wiki.
| write | true | unknown |
02Install & source
npx -y @ahmedrowaihi/azure-mcp-fastmcp
npx03Access granted
Manage cloud infra · destructive
The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.
04Trust reasoning
- 0Community serverofficial_status
- -3No clear licenselicense
- -8Exposes destructive toolstool_risk
- +10MCP handshake verifiedverification
- +5tools/list verifiedverification
05Provenance & freshness
sourcesnpm registry [p4]
last_checked2026-07-01 07:57Z
next_check2026-07-03 07:31Z
cadenceevery 48h
verifiedtools_list:passed handshake:passed metadata:passed metadata:passed metadata:passed
index_statusindex — 6 unique facts >= 5
06Badge
Show your MCPExplorer trust badge in your README.
[](https://mcpexplorer.com/servers/ahmedrowaihi-azure-mcp-fastmcp)
Next step
Want agents that act within guardrails? Apex is the live governed-agent product — paced, capped, and fully-logged actions with approval queues before anything runs.
Explore Apex →