naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Visual Studio Resource Provider Client — Projects description: 'Microsoft Azure Visual Studio Resource Provider Client — Projects. 5 operations. Lead operation: Microsoft Azure Projects Listbyresourcegroup. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Projects created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: visual-studio-resource-provider-client-projects baseUri: https://management.azure.com description: Microsoft Azure Visual Studio Resource Provider Client — Projects business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project operations: - name: microsoftazureprojectslistbyresourcegroup method: GET description: Microsoft Azure Projects Listbyresourcegroup outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: rootResourceName in: path type: string description: Name of the Team Services account. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName} operations: - name: microsoftazureprojectscreate method: PUT description: Microsoft Azure Projects Create outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: The request data. required: true - name: rootResourceName in: path type: string description: Name of the Team Services account. required: true - name: resourceName in: path type: string description: Name of the Team Services project. required: true - name: validating in: query type: string description: This parameter is ignored and should be set to an empty string. - name: microsoftazureprojectsget method: GET description: Microsoft Azure Projects Get outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: rootResourceName in: path type: string description: Name of the Team Services account. required: true - name: resourceName in: path type: string description: Name of the Team Services project. required: true - name: microsoftazureprojectsupdate method: PATCH description: Microsoft Azure Projects Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: The request data. required: true - name: rootResourceName in: path type: string description: Name of the Team Services account. required: true - name: resourceName in: path type: string description: Name of the Team Services project. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status operations: - name: microsoftazureprojectsgetjobstatus method: GET description: Microsoft Azure Projects Getjobstatus outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: rootResourceName in: path type: string description: Name of the Team Services account. required: true - name: resourceName in: path type: string description: Name of the Team Services project. required: true - name: subContainerName in: path type: string description: This parameter should be set to the resourceName. required: true - name: operation in: query type: string description: The operation type. The only supported value is 'put'. required: true - name: jobId in: query type: string description: The job identifier. exposes: - type: rest namespace: visual-studio-resource-provider-client-projects-rest port: 8080 description: REST adapter for Microsoft Azure Visual Studio Resource Provider Client — Projects. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-visualstudio/account/{rootresourcename}/project name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-microsof. operations: - method: GET name: microsoftazureprojectslistbyresourcegroup description: Microsoft Azure Projects Listbyresourcegroup call: visual-studio-resource-provider-client-projects.microsoftazureprojectslistbyresourcegroup with: rootResourceName: rest.rootResourceName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-visualstudio/account/{rootresourcename}/project/{resourcename} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-microsof. operations: - method: PUT name: microsoftazureprojectscreate description: Microsoft Azure Projects Create call: visual-studio-resource-provider-client-projects.microsoftazureprojectscreate with: body: rest.body rootResourceName: rest.rootResourceName resourceName: rest.resourceName validating: rest.validating outputParameters: - type: object mapping: $. - method: GET name: microsoftazureprojectsget description: Microsoft Azure Projects Get call: visual-studio-resource-provider-client-projects.microsoftazureprojectsget with: rootResourceName: rest.rootResourceName resourceName: rest.resourceName outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazureprojectsupdate description: Microsoft Azure Projects Update call: visual-studio-resource-provider-client-projects.microsoftazureprojectsupdate with: body: rest.body rootResourceName: rest.rootResourceName resourceName: rest.resourceName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-visualstudio/account/{rootresourcename}/project/{resourcename}/subcontainers/{subcontainername}/status name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-microsof. operations: - method: GET name: microsoftazureprojectsgetjobstatus description: Microsoft Azure Projects Getjobstatus call: visual-studio-resource-provider-client-projects.microsoftazureprojectsgetjobstatus with: rootResourceName: rest.rootResourceName resourceName: rest.resourceName subContainerName: rest.subContainerName operation: rest.operation jobId: rest.jobId outputParameters: - type: object mapping: $. - type: mcp namespace: visual-studio-resource-provider-client-projects-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Visual Studio Resource Provider Client — Projects. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-projects-listbyresourcegroup description: Microsoft Azure Projects Listbyresourcegroup hints: readOnly: true destructive: false idempotent: true call: visual-studio-resource-provider-client-projects.microsoftazureprojectslistbyresourcegroup with: rootResourceName: tools.rootResourceName outputParameters: - type: object mapping: $. - name: microsoft-azure-projects-create description: Microsoft Azure Projects Create hints: readOnly: false destructive: false idempotent: true call: visual-studio-resource-provider-client-projects.microsoftazureprojectscreate with: body: tools.body rootResourceName: tools.rootResourceName resourceName: tools.resourceName validating: tools.validating outputParameters: - type: object mapping: $. - name: microsoft-azure-projects-get description: Microsoft Azure Projects Get hints: readOnly: true destructive: false idempotent: true call: visual-studio-resource-provider-client-projects.microsoftazureprojectsget with: rootResourceName: tools.rootResourceName resourceName: tools.resourceName outputParameters: - type: object mapping: $. - name: microsoft-azure-projects-update description: Microsoft Azure Projects Update hints: readOnly: false destructive: false idempotent: true call: visual-studio-resource-provider-client-projects.microsoftazureprojectsupdate with: body: tools.body rootResourceName: tools.rootResourceName resourceName: tools.resourceName outputParameters: - type: object mapping: $. - name: microsoft-azure-projects-getjobstatus description: Microsoft Azure Projects Getjobstatus hints: readOnly: true destructive: false idempotent: true call: visual-studio-resource-provider-client-projects.microsoftazureprojectsgetjobstatus with: rootResourceName: tools.rootResourceName resourceName: tools.resourceName subContainerName: tools.subContainerName operation: tools.operation jobId: tools.jobId outputParameters: - type: object mapping: $.