Skip to main content
Glama
README.mdβ€’7.13 kB
# Azure DevOps MCP Server A **Model Context Protocol (MCP)** server that integrates Azure DevOps with GitHub Copilot Chat, allowing you to query work items naturally through conversation ## πŸš€ What is MCP? **Model Context Protocol (MCP)** is an open standard that connects AI assistants like GitHub Copilot to external data sources. This tool implements an MCP server that: - πŸ”Œ **Connects GitHub Copilot** to your Azure DevOps project - πŸ’¬ **Enables natural language queries** - just ask Copilot about your tickets - ⚑ **Provides instant responses** from cached data - πŸ”’ **Keeps your data local** - no third-party services involved Instead of switching between VS Code and Azure DevOps web portal, you can ask Copilot directly: - "Show my sprint tickets" - "Summarize ticket 13080" - "What tickets are in ACC?" ## 🎯 What This Does This tool helps you: - **Instantly view** all User Stories where you have verification tasks assigned - **Query cached data** without API rate limits or permission prompts - **Summarize tickets** with full details including comments and descriptions - **Track your sprint work** efficiently - **Stay in your IDE** - no context switching needed ## ✨ Key Features - πŸ”Œ **MCP Protocol Implementation** - Native integration with GitHub Copilot via Model Context Protocol - πŸš€ **Cache-based queries** - Instant responses from local cache - πŸ” **Smart filtering** - Automatically finds User Stories with your query - πŸ’¬ **Full ticket details** - Descriptions, comments, state, assignees, tags - πŸ“Š **Sprint tracking** - Focused on current sprint items only - πŸ€– **Natural language interface** - Ask Copilot in plain English, no special syntax needed ## πŸ› οΈ Setup ### 1. Prerequisites - Node.js installed - Azure DevOps personal access token ### 2. Configuration Create a `.env` file with your credentials: ```env AZURE_DEVOPS_ORG_URL=https://your-org.visualstudio.com AZURE_DEVOPS_TOKEN=your-personal-access-token AZURE_DEVOPS_PROJECT=your-project-name AZURE_DEVOPS_USER_EMAIL=your.email@company.com ``` ### 3. Install Dependencies ```bash npm install npm run build ``` ## πŸ“– How to Use ### Step 1: Refresh Cache (Once per day or when needed) ```bash npm run refresh ``` This fetches all User Stories from the current sprint where you have a "Verify" task assigned. Takes ~10-30 seconds depending on the number of stories. **Output example:** ``` Found 12 user stories with your verify tasks βœ“ Cache updated successfully! Work items: 12 Last updated: 2025-11-17T07:33:36.435Z ``` ### Step 2: Query Your Tickets (Instant, no prompts!) After caching, you can query instantly using GitHub Copilot Chat in VS Code: **In Copilot Chat, ask:** - `show all my sprint user stories` - `summarize ticket 13080` - `show all tickets in status "In ACC"` - `show tickets with tag "HIGHPRIO"` **Or use the CLI:** ```bash # List all your verify stories node cli.js my-verify # Get details of a specific ticket node cli.js item 13080 # Query cached data npm run query ``` ### Query Cache Commands ```bash npm run query ``` Available commands: - `list` - List all cached user stories - `item <id>` - Show details for a specific ticket - `by-state <state>` - Filter by state (Active, "In ACC", New, etc.) - `info` - Show cache information ## 🎨 MCP Server Integration with GitHub Copilot ### What Makes This Special? This tool implements the **Model Context Protocol (MCP)**, which means: 1. **πŸ”Œ Direct Integration** - Copilot can access your Azure DevOps data as if it's a native feature 2. **πŸ’¬ Natural Conversation** - No special commands or syntax needed 3. **⚑ Real-time Context** - Copilot knows about your tickets while you code 4. **πŸ”’ Secure & Local** - Your data stays on your machine, accessed via your personal token ### How It Works ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ GitHub Copilot β”‚ "Show my sprint tickets" β”‚ in VS Code β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ MCP Protocol β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ MCP Server β”‚ Queries local cache β”‚ (This Tool) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Cached Data β”‚ Your sprint tickets β”‚ work-items.jsonβ”‚ (refreshed from Azure DevOps) β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ``` ### MCP Configuration The MCP server is configured in `.vscode/settings.json`: ```json { "github.copilot.chat.codeGeneration.instructions": [ { "file": "azure-devops-mcp-server" } ], "mcp.servers": { "azure-devops": { "command": "node", "args": ["dist/index.js"], "cwd": "${workspaceFolder}/azure-devops-mcp-server" } } } ``` This tells VS Code to run the MCP server when Copilot needs Azure DevOps data. ## πŸ“ Project Structure ``` azure-devops-mcp-server/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ azure-devops-client.ts # Azure DevOps API client β”‚ └── index.ts # MCP server implementation β”œβ”€β”€ cache/ β”‚ └── work-items.json # Cached sprint data β”œβ”€β”€ cli.js # Command-line interface β”œβ”€β”€ refresh-cache.js # Cache refresh script β”œβ”€β”€ query-cache.js # Cache query script β”œβ”€β”€ .env # Your credentials (gitignored) └── package.json # Project configuration ``` ## πŸ”„ Typical Workflow 1. **Morning:** Run `npm run refresh` to get today's sprint data 2. **During work:** Ask Copilot about tickets - instant responses from cache 3. **Need updates?** Run `npm run refresh` again ## 🎯 Why This Matters **Before this tool:** - Every query required clicking "Allow" button - Interrupts your flow - Slow responses **With this tool:** - Cache once, query unlimited times - No permission prompts - Instant responses in Copilot Chat ## πŸš€ Quick Start for Team Members 1. **Clone/copy this folder** to your machine 2. **Create `.env` file** with your Azure DevOps credentials 3. **Install dependencies:** `npm install && npm run build` 4. **Refresh cache:** `npm run refresh` 5. **Configure VS Code** to enable MCP server (see MCP Configuration above) 6. **Start chatting with Copilot** about your tickets! > πŸ’‘ **Pro Tip:** Once the MCP server is running, Copilot becomes your Azure DevOps assistant. Just ask questions naturally! ## πŸ’‘ Tips - Refresh cache at the start of your workday - Cache includes all comments and descriptions - Works offline once cached - Cache file is human-readable JSON (check `cache/work-items.json`) ## πŸ”§ Troubleshooting **"Error: azureClient.getUserStoriesWithMyVerifyTasks is not a function"** - Run `npm run build` to recompile TypeScript **"Found 0 user stories"** - Check your email in `.env` matches Azure DevOps - Verify you have "Verify" tasks assigned in current sprint **Cache is outdated** - Run `npm run refresh` to update ## πŸ“ License ISC

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LinhDangOpti/mcpserver'

If you have feedback or need assistance with the MCP directory API, please join our Discord server