Azure DevOps Wiki MCP Server
A Model Context Protocol server that enables AI agents to interact with Azure DevOps wikis, providing capabilities for content search, page management, and hierarchical structure navigation.
README Documentation
🌟 Azure DevOps Wiki MCP Server
A Model Context Protocol (MCP) server that brings Azure DevOps Wiki context to your AI agents, enabling seamless integration with Azure DevOps wikis.
📄 Table of Contents
- 🌟 Project Overview
- ⚙️ Supported Tools
- 🔌 Installation & Getting Started
- 🔑 Authentication
- 🛠️ Development
- 🏗️ Architecture
- 🤝 Contributing
- 📝 License
🌟 Project Overview
The Azure DevOps Wiki MCP Server enables AI applications to interact with Azure DevOps wikis through the Model Context Protocol. It provides comprehensive wiki operations including content search, page management, and hierarchical structure navigation.
Key Features:
- 🔍 Search across wiki content
- 📄 Read and update wiki pages
- 🌲 Navigate hierarchical page structures
- 📋 List and manage wikis
- 🔐 Secure authentication via Azure CLI or PAT
⚙️ Supported Tools
🔍 search_wiki
Search across wiki content using Azure DevOps Search API.
Parameters:
organization
(required): Azure DevOps organization nameproject
(required): Project namesearchText
(required): Search query stringwikiId
(optional): Specific wiki identifier
🌲 wiki_get_page_tree
Retrieve hierarchical page structure from wiki.
Parameters:
organization
(required): Azure DevOps organization nameproject
(required): Project namewikiId
(required): Wiki identifierdepth
(optional): Maximum depth to retrieve
📄 wiki_get_page
Get content of a specific wiki page.
Parameters:
organization
(required): Azure DevOps organization nameproject
(required): Project namewikiId
(required): Wiki identifierpath
(required): Page path or page ID
✏️ wiki_update_page
Update content of an existing wiki page or create a new page if it does not exist.
Parameters:
organization
(required): Azure DevOps organization nameproject
(required): Project namewikiId
(required): Wiki identifierpath
(required): Page path or page IDcontent
(required): New page content (Markdown)
📋 list_wiki
List all wikis in a project.
Parameters:
organization
(optional): Azure DevOps organization nameproject
(optional): Project name
Note: Both parameters are optional and will use environment defaults if not provided.
🔌 Installation & Getting Started
Prerequisites
- Node.js 18 or higher
- Azure CLI installed and configured (
az login
) Required only if you wish to authenticate with Azure, not required if you choose to use PAT token - Appropriate Azure DevOps permissions for target organization
Configure in Claude Desktop using PAT authentication
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"azure-devops-wiki": {
"command": "npx",
"args": [
"-y",
"azure-devops-wiki-mcp"
],
"env": {
"AZURE_DEVOPS_URL": "https://dev.azure.com/your-organization",
"AZURE_DEVOPS_PROJECT": "your-project",
"AZURE_DEVOPS_PAT": "your-pat-token",
"AZURE_DEVOPS_ORGANIZATION": "your-organization-name"
}
}
}
}
Configure in Claude Desktop using Azure authentication
-
Authenticate with Azure:
az login
-
Configure with Claude Desktop: Add to your
claude_desktop_config.json
:{ "mcpServers": { "azure-devops-wiki": { "command": "npx", "args": [ "-y", "azure-devops-wiki-mcp" ], "env": { "AZURE_DEVOPS_URL": "https://dev.azure.com/your-organization", "AZURE_DEVOPS_PROJECT": "your-project", "AZURE_DEVOPS_ORGANIZATION": "your-organization-name" } } } }
🔑 Authentication
This server supports two authentication methods:
1. Azure CLI Authentication (Default)
Make sure you're logged in:
az login
The server will use your Azure CLI credentials to authenticate with Azure DevOps.
2. Personal Access Token (PAT)
You can also use a Personal Access Token for authentication by setting environment variable AZURE_DEVOPS_PAT
.
Creating a PAT:
- Go to Azure DevOps → User Settings → Personal Access Tokens
- Create a new token with the following scopes:
- Wiki: Read & Write
- Project and Team: Read (for project access)
- Copy the token and set it in the
AZURE_DEVOPS_PAT
environment variable
Environment Variables:
Environment Variables | Description | Required? |
---|---|---|
AZURE_DEVOPS_URL | Azure DevOps URL | Yes |
AZURE_DEVOPS_PROJECT | Default project name (optional) | No |
AZURE_DEVOPS_PAT | No | |
AZURE_DEVOPS_ORGANIZATION | Azure DevOps Organization Name | Yes |
When using PAT authentication, the server will prioritize the PAT over Azure CLI credentials.
🛠️ Development
Setup
git clone <repository-url>
cd azure-devops-wiki-mcp
npm install
Available Commands
# Build the project
npm run build
# Build in watch mode during development
npm run watch
# Start the MCP server
npm start
# Run tests
npm test
# Run linting
npm run lint
# Clean build artifacts
npm run clean
# Version bump and publishing
npm run version:patch # Bump patch version (1.0.0 → 1.0.1)
npm run version:minor # Bump minor version (1.0.0 → 1.1.0)
npm run version:major # Bump major version (1.0.0 → 2.0.0)
npm run release # Run build, test, and lint checks before publishing
For Local Development
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"azure-devops-wiki": {
"command": "node",
"args": [
"--inspect",
"path/to/azure-devops-wiki-mcp/dist/index.js"
],
"dev": {
"watch": "path/to/azure-devops-wiki-mcp/dist/*.js",
"debug": { "type": "node" }
},
"env": {
"AZURE_DEVOPS_URL": "https://dev.azure.com/your-organization",
"AZURE_DEVOPS_PROJECT": "your-project",
"AZURE_DEVOPS_PAT": "your-pat-token",
"AZURE_DEVOPS_ORGANIZATION": "your-organization-name"
}
}
}
}
Debug in IDE
-
Start up @modelcontextprotocol/inspector with inspection turned on:
mcp-inspector node --inspect dist/index.js # Alternatively, set the environment variables when you launch it mcp-inspector -e AZURE_DEVOPS_URL="Your DevOps URL" -e AZURE_DEVOPS_PROJECT="Your DevOps Project" -e AZURE_DEVOPS_PAT="Your PAT" -e AZURE_DEVOPS_ORGANIZATION="Your DevOps Organization" node --inspect dist/index.js
-
Use IDE (vscode / cursor), select "Attach to MCP Server" and start debug
-
Enter local test data from MCP Inspector UI
🏗️ Architecture
The server follows the Model Context Protocol specification and integrates with Azure DevOps Wiki API through the official azure-devops-node-api
client library.
Key Components:
- MCP Server: Implements MCP protocol using
@modelcontextprotocol/sdk
- Azure DevOps Client: Wrapper around
azure-devops-node-api
for Wiki API operations - Tool Handlers: Five main tools implementing MCP tool interface
- Authentication: Azure CLI-based authentication with PAT fallback
📦 Package Publishing & Release Management
Version Bumping
The project includes automated version bumping scripts for semantic versioning:
# Bump patch version (1.0.0 → 1.0.1) - for bug fixes
npm run version:patch
# Bump minor version (1.0.0 → 1.1.0) - for new features
npm run version:minor
# Bump major version (1.0.0 → 2.0.0) - for breaking changes
npm run version:major
Each version bump command automatically:
- Updates the version in
package.json
- Creates a git commit with the version number
- Creates a git tag (e.g.,
v1.0.1
)
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
📝 License
MIT