Azure DevOps · Capability
Azure DevOps Artifacts API
REST API for managing packages, feeds, and artifact dependencies in Azure Artifacts. Supports NuGet, npm, Maven, Python, and Universal package formats in private or public feeds. Enables programmatic management of package feeds, discovery of packages and their versions, and lifecycle operations such as deprecating or deleting package versions.
What You Can Do
GET
Feeds list
— Azure DevOps List feeds
/packaging/feeds
POST
Feeds create
— Azure DevOps Create a feed
/packaging/feeds
GET
Feeds get
— Azure DevOps Get a feed
/packaging/feeds/{feedId}
PATCH
Feeds update
— Azure DevOps Update a feed
/packaging/feeds/{feedId}
DELETE
Feeds delete
— Azure DevOps Delete a feed
/packaging/feeds/{feedId}
GET
Packages list
— Azure DevOps List packages in a feed
/packaging/feeds/{feedId}/packages
GET
Packages get
— Azure DevOps Get package details
/packaging/feeds/{feedId}/packages/{packageId}
DELETE
Packageversions delete
— Azure DevOps Delete a package version
/packaging/feeds/{feedId}/packages/{packageId}/versions/{packageVersionId}
MCP Tools
feeds-list
Azure DevOps List feeds
read-only
idempotent
feeds-create
Azure DevOps Create a feed
feeds-get
Azure DevOps Get a feed
read-only
idempotent
feeds-update
Azure DevOps Update a feed
feeds-delete
Azure DevOps Delete a feed
idempotent
packages-list
Azure DevOps List packages in a feed
read-only
idempotent
packages-get
Azure DevOps Get package details
read-only
idempotent
packageversions-delete
Azure DevOps Delete a package version
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Azure DevOps Artifacts API
description: REST API for managing packages, feeds, and artifact dependencies in Azure Artifacts. Supports NuGet, npm, Maven,
Python, and Universal package formats in private or public feeds. Enables programmatic management of package feeds, discovery
of packages and their versions, and lifecycle operations such as deprecating or deleting package versions.
tags:
- Microsoft
- Azure
- Devops
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: microsoft-azure-devops
baseUri: https://feeds.dev.azure.com/myorganization/myproject/_apis
description: Azure DevOps Artifacts API HTTP API.
authentication:
type: bearer
token: '{{MICROSOFT_AZURE_DEVOPS_TOKEN}}'
resources:
- name: packaging-feeds
path: /packaging/feeds
operations:
- name: feeds-list
method: GET
description: Azure DevOps List feeds
inputParameters:
- name: feedRole
in: query
type: string
description: Filter feeds by the current user's role
- name: includeDeletedUpstreams
in: query
type: boolean
description: Whether to include feeds with deleted upstream sources
- name: includeUrls
in: query
type: boolean
description: Whether to include package manager endpoint URLs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: feeds-create
method: POST
description: Azure DevOps Create a feed
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: packaging-feeds-feedid
path: /packaging/feeds/{feedId}
operations:
- name: feeds-get
method: GET
description: Azure DevOps Get a feed
inputParameters:
- name: includeDeletedUpstreams
in: query
type: boolean
description: Whether to include deleted upstream sources in the response
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: feeds-update
method: PATCH
description: Azure DevOps Update a feed
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: feeds-delete
method: DELETE
description: Azure DevOps Delete a feed
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: packaging-feeds-feedid-packages
path: /packaging/feeds/{feedId}/packages
operations:
- name: packages-list
method: GET
description: Azure DevOps List packages in a feed
inputParameters:
- name: protocolType
in: query
type: string
description: Filter packages by protocol type
- name: packageNameQuery
in: query
type: string
description: Filter packages whose names contain this string
- name: normalizedPackageName
in: query
type: string
description: Exact package name match (normalized form)
- name: includeUrls
in: query
type: boolean
description: Whether to include package manager URLs in the response
- name: includeAllVersions
in: query
type: boolean
description: Whether to include all versions or only the latest
- name: isListed
in: query
type: boolean
description: Filter by listed status (true=published, false=unlisted)
- name: getTopPackageVersions
in: query
type: boolean
description: Whether to include the top versions for each package
- name: isDeleted
in: query
type: boolean
description: Whether to include deleted packages
- name: $top
in: query
type: integer
description: Maximum number of packages to return
- name: $skip
in: query
type: integer
description: Number of packages to skip (for pagination)
- name: continuationToken
in: query
type: string
description: Continuation token for paginated results
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: packaging-feeds-feedid-packages-packageid
path: /packaging/feeds/{feedId}/packages/{packageId}
operations:
- name: packages-get
method: GET
description: Azure DevOps Get package details
inputParameters:
- name: packageId
in: path
type: string
required: true
description: GUID identifier of the package
- name: includeAllVersions
in: query
type: boolean
description: Whether to include all versions or only the latest
- name: includeUrls
in: query
type: boolean
description: Whether to include package manager URLs
- name: isListed
in: query
type: boolean
description: Filter versions by listed status
- name: isDeleted
in: query
type: boolean
description: Whether to include deleted versions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: packaging-feeds-feedid-packages-packageid-versio
path: /packaging/feeds/{feedId}/packages/{packageId}/versions/{packageVersionId}
operations:
- name: packageversions-delete
method: DELETE
description: Azure DevOps Delete a package version
inputParameters:
- name: packageId
in: path
type: string
required: true
description: GUID identifier of the package
- name: packageVersionId
in: path
type: string
required: true
description: GUID identifier of the package version
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: microsoft-azure-devops-rest
description: REST adapter for Azure DevOps Artifacts API.
resources:
- path: /packaging/feeds
name: feeds-list
operations:
- method: GET
name: feeds-list
description: Azure DevOps List feeds
call: microsoft-azure-devops.feeds-list
outputParameters:
- type: object
mapping: $.
- path: /packaging/feeds
name: feeds-create
operations:
- method: POST
name: feeds-create
description: Azure DevOps Create a feed
call: microsoft-azure-devops.feeds-create
outputParameters:
- type: object
mapping: $.
- path: /packaging/feeds/{feedId}
name: feeds-get
operations:
- method: GET
name: feeds-get
description: Azure DevOps Get a feed
call: microsoft-azure-devops.feeds-get
outputParameters:
- type: object
mapping: $.
- path: /packaging/feeds/{feedId}
name: feeds-update
operations:
- method: PATCH
name: feeds-update
description: Azure DevOps Update a feed
call: microsoft-azure-devops.feeds-update
outputParameters:
- type: object
mapping: $.
- path: /packaging/feeds/{feedId}
name: feeds-delete
operations:
- method: DELETE
name: feeds-delete
description: Azure DevOps Delete a feed
call: microsoft-azure-devops.feeds-delete
outputParameters:
- type: object
mapping: $.
- path: /packaging/feeds/{feedId}/packages
name: packages-list
operations:
- method: GET
name: packages-list
description: Azure DevOps List packages in a feed
call: microsoft-azure-devops.packages-list
outputParameters:
- type: object
mapping: $.
- path: /packaging/feeds/{feedId}/packages/{packageId}
name: packages-get
operations:
- method: GET
name: packages-get
description: Azure DevOps Get package details
call: microsoft-azure-devops.packages-get
with:
packageId: rest.packageId
outputParameters:
- type: object
mapping: $.
- path: /packaging/feeds/{feedId}/packages/{packageId}/versions/{packageVersionId}
name: packageversions-delete
operations:
- method: DELETE
name: packageversions-delete
description: Azure DevOps Delete a package version
call: microsoft-azure-devops.packageversions-delete
with:
packageId: rest.packageId
packageVersionId: rest.packageVersionId
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: microsoft-azure-devops-mcp
transport: http
description: MCP adapter for Azure DevOps Artifacts API for AI agent use.
tools:
- name: feeds-list
description: Azure DevOps List feeds
hints:
readOnly: true
destructive: false
idempotent: true
call: microsoft-azure-devops.feeds-list
with:
feedRole: tools.feedRole
includeDeletedUpstreams: tools.includeDeletedUpstreams
includeUrls: tools.includeUrls
inputParameters:
- name: feedRole
type: string
description: Filter feeds by the current user's role
- name: includeDeletedUpstreams
type: boolean
description: Whether to include feeds with deleted upstream sources
- name: includeUrls
type: boolean
description: Whether to include package manager endpoint URLs
outputParameters:
- type: object
mapping: $.
- name: feeds-create
description: Azure DevOps Create a feed
hints:
readOnly: false
destructive: false
idempotent: false
call: microsoft-azure-devops.feeds-create
outputParameters:
- type: object
mapping: $.
- name: feeds-get
description: Azure DevOps Get a feed
hints:
readOnly: true
destructive: false
idempotent: true
call: microsoft-azure-devops.feeds-get
with:
includeDeletedUpstreams: tools.includeDeletedUpstreams
inputParameters:
- name: includeDeletedUpstreams
type: boolean
description: Whether to include deleted upstream sources in the response
outputParameters:
- type: object
mapping: $.
- name: feeds-update
description: Azure DevOps Update a feed
hints:
readOnly: false
destructive: false
idempotent: false
call: microsoft-azure-devops.feeds-update
outputParameters:
- type: object
mapping: $.
- name: feeds-delete
description: Azure DevOps Delete a feed
hints:
readOnly: false
destructive: true
idempotent: true
call: microsoft-azure-devops.feeds-delete
outputParameters:
- type: object
mapping: $.
- name: packages-list
description: Azure DevOps List packages in a feed
hints:
readOnly: true
destructive: false
idempotent: true
call: microsoft-azure-devops.packages-list
with:
protocolType: tools.protocolType
packageNameQuery: tools.packageNameQuery
normalizedPackageName: tools.normalizedPackageName
includeUrls: tools.includeUrls
includeAllVersions: tools.includeAllVersions
isListed: tools.isListed
getTopPackageVersions: tools.getTopPackageVersions
isDeleted: tools.isDeleted
$top: tools.$top
$skip: tools.$skip
continuationToken: tools.continuationToken
inputParameters:
- name: protocolType
type: string
description: Filter packages by protocol type
- name: packageNameQuery
type: string
description: Filter packages whose names contain this string
- name: normalizedPackageName
type: string
description: Exact package name match (normalized form)
- name: includeUrls
type: boolean
description: Whether to include package manager URLs in the response
- name: includeAllVersions
type: boolean
description: Whether to include all versions or only the latest
- name: isListed
type: boolean
description: Filter by listed status (true=published, false=unlisted)
- name: getTopPackageVersions
type: boolean
description: Whether to include the top versions for each package
- name: isDeleted
type: boolean
description: Whether to include deleted packages
- name: $top
type: integer
description: Maximum number of packages to return
- name: $skip
type: integer
description: Number of packages to skip (for pagination)
- name: continuationToken
type: string
description: Continuation token for paginated results
outputParameters:
- type: object
mapping: $.
- name: packages-get
description: Azure DevOps Get package details
hints:
readOnly: true
destructive: false
idempotent: true
call: microsoft-azure-devops.packages-get
with:
packageId: tools.packageId
includeAllVersions: tools.includeAllVersions
includeUrls: tools.includeUrls
isListed: tools.isListed
isDeleted: tools.isDeleted
inputParameters:
- name: packageId
type: string
description: GUID identifier of the package
required: true
- name: includeAllVersions
type: boolean
description: Whether to include all versions or only the latest
- name: includeUrls
type: boolean
description: Whether to include package manager URLs
- name: isListed
type: boolean
description: Filter versions by listed status
- name: isDeleted
type: boolean
description: Whether to include deleted versions
outputParameters:
- type: object
mapping: $.
- name: packageversions-delete
description: Azure DevOps Delete a package version
hints:
readOnly: false
destructive: true
idempotent: true
call: microsoft-azure-devops.packageversions-delete
with:
packageId: tools.packageId
packageVersionId: tools.packageVersionId
inputParameters:
- name: packageId
type: string
description: GUID identifier of the package
required: true
- name: packageVersionId
type: string
description: GUID identifier of the package version
required: true
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
MICROSOFT_AZURE_DEVOPS_TOKEN: MICROSOFT_AZURE_DEVOPS_TOKEN