Azure MCP FastMCP Server

Azure MCP FastMCP Server

Provides Azure DevOps integration through MCP, enabling management of projects, work items, teams, and policies via natural language. Supports bulk work item creation with hierarchical relationships and iteration assignments.

Category
Visit Server

README

Azure MCP FastMCP Server

A Model Context Protocol (MCP) server that provides Azure DevOps integration through a set of tools for managing projects, work items, teams.

Table of Contents

šŸš€ Features

  • Standalone Executable: No dependencies required when using npx
  • Azure DevOps Integration: Full access to Azure DevOps REST API
  • MCP Protocol: Compatible with any MCP client
  • Multiple Tools: Projects, Work Items, Teams, and Policies management

šŸ“¦ Installation

Using npx (Recommended)

# No installation required - runs directly
npx -y @ahmedrowaihi/azure-mcp-fastmcp

Local Development

# Clone the repository
git clone https://github.com/ahmedrowaihi/azure-mcp-fastmcp.git
cd azure-mcp-fastmcp

# Install dependencies
bun install

# Build the project
bun run build

# Run the built server
bun run dist/main.js

šŸ”§ Configuration

Environment Variables

The server requires the following environment variables:

# Required: Your Azure DevOps organization URL
AZURE_ORG_URL=https://dev.azure.com/yourorg

# Required: Your Azure DevOps Personal Access Token (PAT)
AZURE_PERSONAL_ACCESS_TOKEN=your_pat_here

Setting Environment Variables

Method 1: Direct Environment Variables

AZURE_ORG_URL=https://dev.azure.com/yourorg \
AZURE_PERSONAL_ACCESS_TOKEN=your_token \
npx -y @ahmedrowaihi/azure-mcp-fastmcp

Method 2: Using .env File

Create a .env file in your project root:

AZURE_ORG_URL=https://dev.azure.com/yourorg
AZURE_PERSONAL_ACCESS_TOKEN=your_token

Then run:

npx dotenv -e .env -- npx -y @ahmedrowaihi/azure-mcp-fastmcp

Method 3: System Environment Variables

Add to your shell profile (~/.bashrc, ~/.zshrc, etc.):

export AZURE_ORG_URL="https://dev.azure.com/yourorg"
export AZURE_PERSONAL_ACCESS_TOKEN="your_token"

šŸ› ļø Available Tools

šŸ” Azure DevOps Permissions

Your Personal Access Token (PAT) needs the following permissions:

  • Code: Read (for repository access)
  • Work Items: Read & Write (for work item management)
  • Project and Team: Read (for project and team information)
  • Policy: Read (for branch policy access)

šŸš€ Usage Examples

Basic Usage

# Start the MCP server
npx -y @ahmedrowaihi/azure-mcp-fastmcp

With MCP Client Configuration

If using an MCP client like Claude Desktop, add to your configuration:

{
  "mcpServers": {
    "azure-devops": {
      "command": "npx",
      "args": ["-y", "@ahmedrowaihi/azure-mcp-fastmcp"],
      "env": {
        "AZURE_ORG_URL": "https://dev.azure.com/yourorg",
        "AZURE_PERSONAL_ACCESS_TOKEN": "your_token"
      }
    }
  }
}

Bulk Create Work Items

{
  "project": "MyProject",
  "items": [
    {
      "type": "Epic",
      "title": "Epic 1",
      "children": [
        {
          "type": "Feature",
          "title": "Feature A",
          "children": [
            {
              "type": "User Story",
              "title": "Story 1",
              "children": [
                { "type": "Task", "title": "Task X" },
                { "type": "Task", "title": "Task Y" }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Assign Work Item to Iteration

{
  "id": 12345,
  "iterationId": "MyProject\\Iteration 1"
}

šŸ› ļø Development

Prerequisites

  • Bun (JavaScript runtime)
  • Node.js 18+ (for compatibility)

Development Commands

# Install dependencies
bun install

# Build the project
bun run build

# Start development server
bun run dev

# Run the built server
bun run dist/main.js

Project Structure

ā”œā”€ā”€ azure/           # Azure DevOps services and connection
ā”œā”€ā”€ formatters/      # Data formatting utilities
ā”œā”€ā”€ mcp/            # MCP server and tools
ā”œā”€ā”€ dist/           # Built executable (generated)
ā”œā”€ā”€ main.ts         # Entry point
└── package.json    # Project configuration

šŸ“„ License

This project is licensed under the MIT License.

šŸ¤ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

šŸ“ž Support

If you encounter any issues or have questions, please open an issue on GitHub.


Note: This MCP server is designed to be a standalone executable that doesn't require installing dependencies when used with npx. All dependencies are bundled into the final executable for optimal user experience.


āš ļø Known Issues

  • Iteration Node Update Limitation: Updating project-level iteration node dates (start/end) via the Azure DevOps SDK fails with "Iteration node not found" even when the node is confirmed to exist and is fetchable by ID. All tested path formats fail for update/fetch by path, but fetching by ID works. This may be an SDK bug, REST/SOAP mismatch, or permissions issue. If you encounter this, consider using the Azure DevOps REST API directly or check for updates to the SDK.

Recommended Servers

playwright-mcp

playwright-mcp

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

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

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

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

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

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

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

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

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

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

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

Official
Featured
Qdrant Server

Qdrant Server

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

Official
Featured