naftiko: 1.0.0-alpha2 info: label: Azure Repos Git API — Commits description: 'Azure Repos Git API — Commits. 2 operations. Lead operation: Azure Repos List commits. Self-contained Naftiko capability covering one Microsoft Azure Repo business surface.' tags: - Microsoft Azure Repo - Commits created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_REPO_API_KEY: MICROSOFT_AZURE_REPO_API_KEY capability: consumes: - type: http namespace: azure-repo-git-commits baseUri: https://dev.azure.com/{organization}/{project}/_apis description: Azure Repos Git API — Commits business capability. Self-contained, no shared references. resources: - name: git-repositories-repositoryId-commits path: /git/repositories/{repositoryId}/commits operations: - name: commitslist method: GET description: Azure Repos List commits outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: searchCriteria.itemVersion.version in: query type: string description: Branch name or tag to search (e.g., main, develop) - name: searchCriteria.itemVersion.versionType in: query type: string description: Type of version identifier - name: searchCriteria.itemPath in: query type: string description: Path of an item to filter commits that changed this path - name: searchCriteria.fromDate in: query type: string description: Start date for filtering commits - name: searchCriteria.toDate in: query type: string description: End date for filtering commits - name: searchCriteria.author in: query type: string description: Filter by author name or email - name: searchCriteria.$top in: query type: integer description: Maximum number of commits to return - name: searchCriteria.$skip in: query type: integer description: Number of commits to skip - name: git-repositories-repositoryId-commits-commitId path: /git/repositories/{repositoryId}/commits/{commitId} operations: - name: commitsget method: GET description: Azure Repos Get a commit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: commitId in: path type: string description: The SHA-1 hash of the commit required: true - name: changeCount in: query type: integer description: Maximum number of changes to include authentication: type: bearer token: '{{env.MICROSOFT_AZURE_REPO_API_KEY}}' exposes: - type: rest namespace: azure-repo-git-commits-rest port: 8080 description: REST adapter for Azure Repos Git API — Commits. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/git/repositories/{repositoryid}/commits name: git-repositories-repositoryid-commits description: REST surface for git-repositories-repositoryId-commits. operations: - method: GET name: commitslist description: Azure Repos List commits call: azure-repo-git-commits.commitslist with: searchCriteria.itemVersion.version: rest.searchCriteria.itemVersion.version searchCriteria.itemVersion.versionType: rest.searchCriteria.itemVersion.versionType searchCriteria.itemPath: rest.searchCriteria.itemPath searchCriteria.fromDate: rest.searchCriteria.fromDate searchCriteria.toDate: rest.searchCriteria.toDate searchCriteria.author: rest.searchCriteria.author searchCriteria.$top: rest.searchCriteria.$top searchCriteria.$skip: rest.searchCriteria.$skip outputParameters: - type: object mapping: $. - path: /v1/git/repositories/{repositoryid}/commits/{commitid} name: git-repositories-repositoryid-commits-commitid description: REST surface for git-repositories-repositoryId-commits-commitId. operations: - method: GET name: commitsget description: Azure Repos Get a commit call: azure-repo-git-commits.commitsget with: commitId: rest.commitId changeCount: rest.changeCount outputParameters: - type: object mapping: $. - type: mcp namespace: azure-repo-git-commits-mcp port: 9090 transport: http description: MCP adapter for Azure Repos Git API — Commits. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: azure-repos-list-commits description: Azure Repos List commits hints: readOnly: true destructive: false idempotent: true call: azure-repo-git-commits.commitslist with: searchCriteria.itemVersion.version: tools.searchCriteria.itemVersion.version searchCriteria.itemVersion.versionType: tools.searchCriteria.itemVersion.versionType searchCriteria.itemPath: tools.searchCriteria.itemPath searchCriteria.fromDate: tools.searchCriteria.fromDate searchCriteria.toDate: tools.searchCriteria.toDate searchCriteria.author: tools.searchCriteria.author searchCriteria.$top: tools.searchCriteria.$top searchCriteria.$skip: tools.searchCriteria.$skip outputParameters: - type: object mapping: $. - name: azure-repos-get-commit description: Azure Repos Get a commit hints: readOnly: true destructive: false idempotent: true call: azure-repo-git-commits.commitsget with: commitId: tools.commitId changeCount: tools.changeCount outputParameters: - type: object mapping: $.