{"_id":"@ax-ado-mcp/mcp-server-azure-devops-enhanced","name":"@ax-ado-mcp/mcp-server-azure-devops-enhanced","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ax-ado-mcp/mcp-server-azure-devops-enhanced","version":"0.1.0","description":"Enhanced Azure DevOps MCP server with additional features including pull request changes tool","main":"dist/index.js","types":"dist/index.d.ts","bin":{"mcp-server-azure-devops":"dist/index.js"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write","eslint --fix"]},"release-please":{"release-type":"node","changelog-types":[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"chore","section":"Miscellaneous","hidden":false},{"type":"docs","section":"Documentation","hidden":false},{"type":"perf","section":"Performance Improvements","hidden":false},{"type":"refactor","section":"Code Refactoring","hidden":false}]},"scripts":{"build":"tsc","dev":"ts-node-dev --respawn --transpile-only src/index.ts","start":"node dist/index.js","inspector":"npm run build && npx @modelcontextprotocol/inspector@0.9.0 node dist/index.js","test":"npm run test:unit && npm run test:int && npm run test:e2e","test:unit":"jest --config jest.unit.config.js","test:int":"jest --config jest.int.config.js","test:e2e":"jest --config jest.e2e.config.js","test:watch":"jest --watch","lint":"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"husky install","commit":"cz"},"keywords":["azure-devops","mcp","ai","automation","pull-request-changes","enhanced"],"author":{"name":"Griffin Ainsworth"},"license":"MIT","dependencies":{"@azure/identity":"^4.8.0","@modelcontextprotocol/sdk":"^1.16.0","axios":"^1.8.3","azure-devops-node-api":"^13.0.0","dotenv":"^16.3.1","minimatch":"^10.0.1","zod":"^3.24.2","zod-to-json-schema":"^3.24.5"},"devDependencies":{"@commitlint/cli":"^19.8.0","@commitlint/config-conventional":"^19.8.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^8.27.0","@typescript-eslint/parser":"^8.27.0","commitizen":"^4.3.1","cz-conventional-changelog":"^3.3.0","eslint":"^8.0.0","husky":"^8.0.3","jest":"^29.0.0","lint-staged":"^15.5.0","prettier":"^3.0.0","ts-jest":"^29.0.0","ts-node-dev":"^2.0.0","typescript":"^5.8.2"},"_id":"@ax-ado-mcp/mcp-server-azure-devops-enhanced@0.1.0","gitHead":"96557d9cb6a0d5860f612ae9cdc3f7fb02f7c6f3","_nodeVersion":"22.17.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-Eroe7yOcw9xokphUiLlOmy/pynWxlaKt5ZK5a4Z9jSTHNHSoJMYrfctudiNitTu0FfnCUP7eixT4h1hMFENcCQ==","shasum":"bc7e5a6af358e41fc0777870a115789d28362ba4","tarball":"https://registry.npmjs.org/@ax-ado-mcp/mcp-server-azure-devops-enhanced/-/mcp-server-azure-devops-enhanced-0.1.0.tgz","fileCount":714,"unpackedSize":1644766,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDJuVf98s5wOUgc2yf8hJ0CGAOpEyt5l7XdPmy1x3y2kAIhALjHVkRBIystIZI1l0SXF1OrgFUmNn/QsYfHTzMnRXFB"}]},"_npmUser":{"name":"grainsworth","email":"griffin.ainsworth@axosbank.com"},"directories":{},"maintainers":[{"name":"grainsworth","email":"griffin.ainsworth@axosbank.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-azure-devops-enhanced_0.1.0_1753123662727_0.6309045705658543"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-21T18:47:42.637Z","0.1.0":"2025-07-21T18:47:43.024Z","modified":"2025-07-21T18:47:43.337Z"},"maintainers":[{"name":"grainsworth","email":"griffin.ainsworth@axosbank.com"}],"description":"Enhanced Azure DevOps MCP server with additional features including pull request changes tool","keywords":["azure-devops","mcp","ai","automation","pull-request-changes","enhanced"],"author":{"name":"Griffin Ainsworth"},"license":"MIT","readme":"# Enhanced Azure DevOps MCP Server\r\n\r\nThis is an enhanced version of the Azure DevOps MCP Server with additional features including pull request changes analysis.\r\n\r\n## New Features\r\n\r\n### Get Pull Request Changes\r\n- **Tool**: `get_pull_request_changes`\r\n- **Description**: Retrieves detailed file changes and diffs from a specific pull request\r\n- **Parameters**: \r\n  - `pullRequestId`: The ID of the pull request\r\n  - `repositoryId`: The repository ID (optional, uses default if not provided)\r\n  - `projectId`: The project ID (optional, uses default if not provided)\r\n\r\n## Installation\r\n\r\n```bash\r\nnpx @ax-ado-mcp/mcp-server-azure-devops-enhanced\r\n```\r\n\r\n## Configuration\r\n\r\nAdd to your MCP configuration file:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"azureDevOpsEnhanced\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@ax-ado-mcp/mcp-server-azure-devops-enhanced\"],\r\n      \"env\": {\r\n        \"AZURE_DEVOPS_ORG_URL\": \"https://dev.azure.com/your-org\",\r\n        \"AZURE_DEVOPS_AUTH_METHOD\": \"pat\",\r\n        \"AZURE_DEVOPS_PAT\": \"your-personal-access-token\",\r\n        \"AZURE_DEVOPS_DEFAULT_PROJECT\": \"your-project\"\r\n      },\r\n      \"timeout\": 120000\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## Usage Example\r\n\r\nOnce configured, you can use the new tool in your AI conversations:\r\n\r\n```\r\nCan you analyze the changes in pull request 141824 and summarize what was modified?\r\n```\r\n\r\nThe AI will use the `get_pull_request_changes` tool to fetch the detailed diff and provide a comprehensive analysis.\r\n\r\n## Original Features\r\n\r\nThis package includes all the original Azure DevOps MCP server features plus the enhancements listed above.\r\n\r\n# ℹ️ DISCUSSION: [Microsoft launched an official ADO MCP Server! 🎉🎉🎉](https://github.com/Tiberriver256/mcp-server-azure-devops/discussions/237)\r\n\r\n# Azure DevOps MCP Server\r\n\r\nA Model Context Protocol (MCP) server implementation for Azure DevOps, allowing AI assistants to interact with Azure DevOps APIs through a standardized protocol.\r\n\r\n## Overview\r\n\r\nThis server implements the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) for Azure DevOps, enabling AI assistants like Claude to interact with Azure DevOps resources securely. The server acts as a bridge between AI models and Azure DevOps APIs, providing a standardized way to:\r\n\r\n- Access and manage projects, work items, repositories, and more\r\n- Create and update work items, branches, and pull requests\r\n- Execute common DevOps workflows through natural language\r\n- Access repository content via standardized resource URIs\r\n- Safely authenticate and interact with Azure DevOps resources\r\n\r\n## Server Structure\r\n\r\nThe server is structured around the Model Context Protocol (MCP) for communicating with AI assistants. It provides tools for interacting with Azure DevOps resources including:\r\n\r\n- Projects\r\n- Work Items\r\n- Repositories\r\n- Pull Requests\r\n- Branches\r\n- Pipelines\r\n\r\n### Core Components\r\n\r\n- **AzureDevOpsServer**: Main server class that initializes the MCP server and registers tools\r\n- **Feature Modules**: Organized by feature area (work-items, projects, repositories, etc.)\r\n- **Request Handlers**: Each feature module provides request identification and handling functions\r\n- **Tool Handlers**: Modular functions for each Azure DevOps operation\r\n- **Configuration**: Environment-based configuration for organization URL, PAT, etc.\r\n\r\nThe server uses a feature-based architecture where each feature area (like work-items, projects, repositories) is encapsulated in its own module. This makes the codebase more maintainable and easier to extend with new features.\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\n- Node.js (v16+)\r\n- npm or yarn\r\n- Azure DevOps account with appropriate access\r\n- Authentication credentials (see [Authentication Guide](docs/authentication.md) for details):\r\n  - Personal Access Token (PAT), or\r\n  - Azure Identity credentials, or\r\n  - Azure CLI login\r\n\r\n### Running with NPX\r\n\r\n### Usage with Claude Desktop/Cursor AI\r\n\r\nTo integrate with Claude Desktop or Cursor AI, add one of the following configurations to your configuration file.\r\n\r\n#### Azure Identity Authentication\r\n\r\nBe sure you are logged in to Azure CLI with `az login` then add the following:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"azureDevOps\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@tiberriver256/mcp-server-azure-devops\"],\r\n      \"env\": {\r\n        \"AZURE_DEVOPS_ORG_URL\": \"https://dev.azure.com/your-organization\",\r\n        \"AZURE_DEVOPS_AUTH_METHOD\": \"azure-identity\",\r\n        \"AZURE_DEVOPS_DEFAULT_PROJECT\": \"your-project-name\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n#### Personal Access Token (PAT) Authentication\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"azureDevOps\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@tiberriver256/mcp-server-azure-devops\"],\r\n      \"env\": {\r\n        \"AZURE_DEVOPS_ORG_URL\": \"https://dev.azure.com/your-organization\",\r\n        \"AZURE_DEVOPS_AUTH_METHOD\": \"pat\",\r\n        \"AZURE_DEVOPS_PAT\": \"<YOUR_PAT>\",\r\n        \"AZURE_DEVOPS_DEFAULT_PROJECT\": \"your-project-name\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nFor detailed configuration instructions and more authentication options, see the [Authentication Guide](docs/authentication.md).\r\n\r\n## Authentication Methods\r\n\r\nThis server supports multiple authentication methods for connecting to Azure DevOps APIs. For detailed setup instructions, configuration examples, and troubleshooting tips, see the [Authentication Guide](docs/authentication.md).\r\n\r\n### Supported Authentication Methods\r\n\r\n1. **Personal Access Token (PAT)** - Simple token-based authentication\r\n2. **Azure Identity (DefaultAzureCredential)** - Flexible authentication using the Azure Identity SDK\r\n3. **Azure CLI** - Authentication using your Azure CLI login\r\n\r\nExample configuration files for each authentication method are available in the [examples directory](docs/examples/).\r\n\r\n## Environment Variables\r\n\r\nFor a complete list of environment variables and their descriptions, see the [Authentication Guide](docs/authentication.md#configuration-reference).\r\n\r\nKey environment variables include:\r\n\r\n| Variable                       | Description                                                                        | Required                     | Default          |\r\n| ------------------------------ | ---------------------------------------------------------------------------------- | ---------------------------- | ---------------- |\r\n| `AZURE_DEVOPS_AUTH_METHOD`     | Authentication method (`pat`, `azure-identity`, or `azure-cli`) - case-insensitive | No                           | `azure-identity` |\r\n| `AZURE_DEVOPS_ORG_URL`         | Full URL to your Azure DevOps organization                                         | Yes                          | -                |\r\n| `AZURE_DEVOPS_PAT`             | Personal Access Token (for PAT auth)                                               | Only with PAT auth           | -                |\r\n| `AZURE_DEVOPS_DEFAULT_PROJECT` | Default project if none specified                                                  | No                           | -                |\r\n| `AZURE_DEVOPS_API_VERSION`     | API version to use                                                                 | No                           | Latest           |\r\n| `AZURE_TENANT_ID`              | Azure AD tenant ID (for service principals)                                        | Only with service principals | -                |\r\n| `AZURE_CLIENT_ID`              | Azure AD application ID (for service principals)                                   | Only with service principals | -                |\r\n| `AZURE_CLIENT_SECRET`          | Azure AD client secret (for service principals)                                    | Only with service principals | -                |\r\n| `LOG_LEVEL`                    | Logging level (debug, info, warn, error)                                           | No                           | info             |\r\n\r\n## Troubleshooting Authentication\r\n\r\nFor detailed troubleshooting information for each authentication method, see the [Authentication Guide](docs/authentication.md#troubleshooting-authentication-issues).\r\n\r\nCommon issues include:\r\n\r\n- Invalid or expired credentials\r\n- Insufficient permissions\r\n- Network connectivity problems\r\n- Configuration errors\r\n\r\n## Authentication Implementation Details\r\n\r\nFor technical details about how authentication is implemented in the Azure DevOps MCP server, see the [Authentication Guide](docs/authentication.md) and the source code in the `src/auth` directory.\r\n\r\n## Available Tools\r\n\r\nThe Azure DevOps MCP server provides a variety of tools for interacting with Azure DevOps resources. For detailed documentation on each tool, please refer to the corresponding documentation.\r\n\r\n### User Tools\r\n\r\n- `get_me`: Get details of the authenticated user (id, displayName, email)\r\n\r\n### Organization Tools\r\n\r\n- `list_organizations`: List all accessible organizations\r\n\r\n### Project Tools\r\n\r\n- `list_projects`: List all projects in an organization\r\n- `get_project`: Get details of a specific project\r\n- `get_project_details`: Get comprehensive details of a project including process, work item types, and teams\r\n\r\n### Repository Tools\r\n\r\n- `list_repositories`: List all repositories in a project\r\n- `get_repository`: Get details of a specific repository\r\n- `get_repository_details`: Get detailed information about a repository including statistics and refs\r\n- `get_file_content`: Get content of a file or directory from a repository\r\n\r\n### Work Item Tools\r\n\r\n- `get_work_item`: Retrieve a work item by ID\r\n- `create_work_item`: Create a new work item\r\n- `update_work_item`: Update an existing work item\r\n- `list_work_items`: List work items in a project\r\n- `manage_work_item_link`: Add, remove, or update links between work items\r\n\r\n### Search Tools\r\n\r\n- `search_code`: Search for code across repositories in a project\r\n- `search_wiki`: Search for content across wiki pages in a project\r\n- `search_work_items`: Search for work items across projects in Azure DevOps\r\n\r\n### Pipelines Tools\r\n\r\n- `list_pipelines`: List pipelines in a project\r\n- `get_pipeline`: Get details of a specific pipeline\r\n- `trigger_pipeline`: Trigger a pipeline run with customizable parameters\r\n\r\n### Wiki Tools\r\n\r\n- `get_wikis`: List all wikis in a project\r\n- `get_wiki_page`: Get content of a specific wiki page as plain text\r\n\r\n### Pull Request Tools\r\n\r\n- [`create_pull_request`](docs/tools/pull-requests.md#create_pull_request) - Create a new pull request\r\n- [`list_pull_requests`](docs/tools/pull-requests.md#list_pull_requests) - List pull requests in a repository\r\n- [`add_pull_request_comment`](docs/tools/pull-requests.md#add_pull_request_comment) - Add a comment to a pull request\r\n- [`get_pull_request_comments`](docs/tools/pull-requests.md#get_pull_request_comments) - Get comments from a pull request\r\n- [`update_pull_request`](docs/tools/pull-requests.md#update_pull_request) - Update an existing pull request (title, description, status, draft state, reviewers, work items)\r\n\r\nFor comprehensive documentation on all tools, see the [Tools Documentation](docs/tools/).\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.\r\n\r\n## Star History\r\n\r\n[![Star History Chart](https://api.star-history.com/svg?repos=tiberriver256/mcp-server-azure-devops&type=Date)](https://www.star-history.com/#tiberriver256/mcp-server-azure-devops&Date)\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md","_rev":"1-fd2a34c66d0713d3633fcb6fdc5a2a13"}