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.

Run with Naftiko MicrosoftAzureDevopsAPI

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

microsoft-azure-devops-capability.yaml Raw ↑
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