Azure DevOps Server(TFS)的模型上下文协议(MCP)服务器。如果您正在寻找Azure DevOps Services的云版本,请参阅Microsoft官方的azure-devops-mcp。
确保已安装Python 3.10+:
python --version
python3 --version
安装 uv 以实现快速的Python包管理:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
要与Azure DevOps Server交互,您需要一个个人访问令牌(PAT)。请注意,仅在MCP服务器中使用此PAT,不要在其他应用程序中使用。
如果您希望避免在配置文件中放置敏感信息(如令牌),可以将其设置为环境变量:
Linux / macOS:
您可以将以下变量添加到您的shell配置文件(例如~/.bashrc,~/.zshrc)中,以避免在配置文件中包含它们:
export AZURE_DEVOPS_SERVER_URL="https://your-server.company.com/tfs"
export AZURE_DEVOPS_SERVER_TOKEN="your-personal-access-token"
export AZURE_DEVOPS_SERVER_API_VERSION="7.1-preview.3"
export AZURE_DEVOPS_SERVER_COLLECTION="collection-name"
Windows:
您可以将以下变量添加到系统环境或用户环境中,以避免在配置文件中包含它们:
setx AZURE_DEVOPS_SERVER_URL "https://your-server.company.com/tfs"
setx AZURE_DEVOPS_SERVER_TOKEN "your-personal-access-token"
setx AZURE_DEVOPS_SERVER_API_VERSION "7.1-preview.3"
setx AZURE_DEVOPS_SERVER_COLLECTION "collection-name"
设置环境变量后,您可以在MCP配置中这样使用它们:
{
"mcpServers": {
"azure-devops-server": {
"command": "uvx",
"args": [
"git+https://github.com/Ravio1i/azure-devops-server-mcp.git"
],
}
}
}
参见 https://code.visualstudio.com/docs/copilot/customization/mcp-servers
对于GitHub Copilot,它使用servers而不是mcpServers:
{
"servers": {
"azure-devops-server": {
"command": "uvx",
"args": [
"git+https://github.com/Ravio1i/azure-devops-server-mcp.git"
]
}
}
}
详细文档请参见:向用户配置添加MCP服务器
您需要有效的GitHub Copilot或其他Copilot许可证才能使用此集成。
配置完成后,您可以使用自然语言与您的Azure DevOps Server进行交互:
list_repositories(project):获取项目中的所有仓库get_repository(project, repository_id):获取特定仓库的详细信息list_branches(project, repository_id, limit?):列出仓库中的分支get_commits(project, repository_id, branch?, limit?):获取提交历史记录get_file_content(project, repository_id, path, branch?):获取文件内容list_repository_items(project, repository_id, path?, branch?, limit?):列出文件/文件夹list_pull_requests(project, repository_id, status?, limit?):列出拉取请求get_pull_request(project, repository_id, pull_request_id):获取PR详细信息create_pull_request(project, repository_id, title, description, source_branch, target_branch, reviewers?):创建新的PRget_pull_request_comments(project, repository_id, pull_request_id, limit?):获取PR评论update_pull_request(project, repository_id, pull_request_id, ...):更新PRlist_team_projects():获取集合中的所有项目get_team_project(project_id_or_name):获取特定项目的详细信息list_teams(project_id_or_name):列出项目中的团队list_work_items(project, query?, limit?):根据可选的WIQL查询列出工作项get_work_item(work_item_id):获取特定工作项的详细信息create_work_item(project, work_item_type, title, ...):创建新的工作项update_work_item(work_item_id, ...):更新现有工作项query_work_items(project, filters...):使用字段过滤器查询克隆仓库
git clone https://github.com/Ravio1i/azure-devops-server-mcp
echo $PWD
使用uv直接从克隆的目录运行MCP服务器:
env中编辑您的环境变量args部分中的路径指向您的克隆仓库{
"mcpServers": {
"azure-devops-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/azure-devops-server-mcp",
"run",
"azure-devops-server-mcp"
],
"env": {
"AZURE_DEVOPS_SERVER_URL": "https://your-server.company.com/tfs",
"AZURE_DEVOPS_SERVER_TOKEN": "your-personal-access-token",
"AZURE_DEVOPS_SERVER_API_VERSION": "7.1-preview.3",
"AZURE_DEVOPS_SERVER_COLLECTION": "collection-name"
}
}
}
}