CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps 0.1.0-preview.6

This is a prerelease version of CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps.
dotnet add package CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps --version 0.1.0-preview.6
                    
NuGet\Install-Package CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps -Version 0.1.0-preview.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps" Version="0.1.0-preview.6">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps" Version="0.1.0-preview.6" />
                    
Directory.Packages.props
<PackageReference Include="CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps --version 0.1.0-preview.6
                    
#r "nuget: CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps, 0.1.0-preview.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps@0.1.0-preview.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps&version=0.1.0-preview.6&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps&version=0.1.0-preview.6&prerelease
                    
Install as a Cake Tool

Mc3Po.Protocols.AzureDevOps

Azure DevOps protocol implementation for source control (currently) and project management (planned).

Capabilities

Capability Supported
Project Management Planned (Work Items)
Source Control Yes (Azure Repos)

Features

Source Control

  • Repositories (list, info)
  • Branches (list, create)
  • Pull Requests (CRUD, merge)
  • Pipelines/Builds (list, status)
  • Commits (list)

Project Management (Planned)

  • Work Items
  • Boards
  • Sprints

Configuration

json { "sourceControl": { "type": "AzureDevOps", "organizationUrl": "https://dev.azure.com/my-org", "project": "MyProject", "repository": "MyRepo", "authenticationType": "InteractiveBrowser", "enablePersistentTokenCache": true, "tokenRefreshHours": 24, "apiVersion": "7.0" } }

Property Required Description
type Yes Must be "AzureDevOps"
organizationUrl Yes Azure DevOps org URL
project Yes Default project name
repository No Default repository name
authenticationType No Auth method (see below, default: PersonalAccessToken)
secretName Conditional PAT secret name (required for PAT auth)
tenantId No Azure AD tenant ID (for InteractiveBrowser)
enablePersistentTokenCache No Persist tokens to disk (default: true)
tokenRefreshHours No Force token refresh interval (default: 24)
apiVersion No API version (default: 7.0)
timeoutSeconds No HTTP timeout (default: 30)

Authentication

Azure DevOps supports multiple authentication methods via authenticationType:

Opens a browser for Azure AD authentication. Supports MFA and conditional access policies.

json { "sourceControl": { "type": "AzureDevOps", "organizationUrl": "https://dev.azure.com/my-org", "authenticationType": "InteractiveBrowser", "tenantId": "your-tenant-id", "enablePersistentTokenCache": true, "tokenRefreshHours": 24 } }

Token Caching:

  • Tokens are encrypted and persisted using platform credential storage:
    • Windows: Windows Credential Manager (DPAPI)
    • macOS: Keychain
    • Linux: Secret Service API (libsecret)
  • Cache name: mcp-hub-azure-devops
  • Set enablePersistentTokenCache: false to disable persistence
  • Set tokenRefreshHours: 0 to only refresh on token expiry

Tries multiple credential sources automatically:

  1. Azure CLI (az login)
  2. Visual Studio credentials
  3. Visual Studio Code credentials
  4. Azure PowerShell (Connect-AzAccount)
  5. Managed Identity (in Azure)
  6. Environment variables

json { "sourceControl": { "type": "AzureDevOps", "organizationUrl": "https://dev.azure.com/my-org", "authenticationType": "DefaultAzureCredential" } }

Note: Token caching is handled by the underlying credential sources (Azure CLI, Visual Studio, etc.).

3. PersonalAccessToken (Legacy)

Uses a PAT with Basic auth. Does not support MFA.

json { "sourceControl": { "type": "AzureDevOps", "organizationUrl": "https://dev.azure.com/my-org", "authenticationType": "PersonalAccessToken", "secretName": "azdo-pat" } }

Required PAT Scopes:

  • Code (Read & Write) - For repository operations
  • Build (Read) - For pipeline status

Token Caching Settings

Setting Default Description
enablePersistentTokenCache true Persist tokens to disk (encrypted)
tokenRefreshHours 24 Hours before forcing a token refresh (0 = only on expiry)

When persistent caching is enabled:

  • First authentication opens a browser (InteractiveBrowser)
  • Subsequent authentications use the cached token silently
  • Tokens are refreshed after tokenRefreshHours or when expired

API Reference

Uses Azure DevOps REST API.

Components

  • AzureDevOpsProtocol - SC implementation
  • AzureDevOpsProtocolConfiguration - Configuration class
  • AzureDevOpsProtocolFactory - Factory for creating instances
  • AzureDevOpsProtocolType - TypeOption for discovery
  • AzureDevOpsCredentialProvider - Handles authentication (PAT, Azure.Identity)
  • AzureDevOpsLog - MessageLogging methods
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on CyberdyneDevelopment.Mc3Po.Protocols.AzureDevOps:

Package Downloads
CyberdyneDevelopment.DeveloperTools.McpServer

Development tools and utilities for the FractalDataWorks ecosystem. Build:

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.6 45 1/9/2026
0.1.0-preview.4 50 1/7/2026