naftiko: 1.0.0-alpha2 info: label: JetBrains YouTrack REST API — Issues description: 'JetBrains YouTrack REST API — Issues. 7 operations. Lead operation: JetBrains List Issues. Self-contained Naftiko capability covering one Jetbrains business surface.' tags: - Jetbrains - Issues created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: JETBRAINS_API_KEY: JETBRAINS_API_KEY capability: consumes: - type: http namespace: youtrack-issues baseUri: https://{instance}.youtrack.cloud/api description: JetBrains YouTrack REST API — Issues business capability. Self-contained, no shared references. resources: - name: issues path: /issues operations: - name: listissues method: GET description: JetBrains List Issues outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string - name: fields in: query type: string - name: $skip in: query type: integer - name: $top in: query type: integer - name: createissue method: POST description: JetBrains Create Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: issues-issueId path: /issues/{issueId} operations: - name: getissue method: GET description: JetBrains Get Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: issueId in: path type: string required: true - name: fields in: query type: string - name: updateissue method: POST description: JetBrains Update Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: issueId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteissue method: DELETE description: JetBrains Delete Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: issueId in: path type: string required: true - name: issues-issueId-comments path: /issues/{issueId}/comments operations: - name: listissuecomments method: GET description: JetBrains List Issue Comments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: issueId in: path type: string required: true - name: addissuecomment method: POST description: JetBrains Add Issue Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: issueId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.JETBRAINS_API_KEY}}' exposes: - type: rest namespace: youtrack-issues-rest port: 8080 description: REST adapter for JetBrains YouTrack REST API — Issues. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/issues name: issues description: REST surface for issues. operations: - method: GET name: listissues description: JetBrains List Issues call: youtrack-issues.listissues with: query: rest.query fields: rest.fields $skip: rest.$skip $top: rest.$top outputParameters: - type: object mapping: $. - method: POST name: createissue description: JetBrains Create Issue call: youtrack-issues.createissue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/issues/{issueid} name: issues-issueid description: REST surface for issues-issueId. operations: - method: GET name: getissue description: JetBrains Get Issue call: youtrack-issues.getissue with: issueId: rest.issueId fields: rest.fields outputParameters: - type: object mapping: $. - method: POST name: updateissue description: JetBrains Update Issue call: youtrack-issues.updateissue with: issueId: rest.issueId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteissue description: JetBrains Delete Issue call: youtrack-issues.deleteissue with: issueId: rest.issueId outputParameters: - type: object mapping: $. - path: /v1/issues/{issueid}/comments name: issues-issueid-comments description: REST surface for issues-issueId-comments. operations: - method: GET name: listissuecomments description: JetBrains List Issue Comments call: youtrack-issues.listissuecomments with: issueId: rest.issueId outputParameters: - type: object mapping: $. - method: POST name: addissuecomment description: JetBrains Add Issue Comment call: youtrack-issues.addissuecomment with: issueId: rest.issueId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: youtrack-issues-mcp port: 9090 transport: http description: MCP adapter for JetBrains YouTrack REST API — Issues. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: jetbrains-list-issues description: JetBrains List Issues hints: readOnly: true destructive: false idempotent: true call: youtrack-issues.listissues with: query: tools.query fields: tools.fields $skip: tools.$skip $top: tools.$top outputParameters: - type: object mapping: $. - name: jetbrains-create-issue description: JetBrains Create Issue hints: readOnly: false destructive: false idempotent: false call: youtrack-issues.createissue with: body: tools.body outputParameters: - type: object mapping: $. - name: jetbrains-get-issue description: JetBrains Get Issue hints: readOnly: true destructive: false idempotent: true call: youtrack-issues.getissue with: issueId: tools.issueId fields: tools.fields outputParameters: - type: object mapping: $. - name: jetbrains-update-issue description: JetBrains Update Issue hints: readOnly: false destructive: false idempotent: false call: youtrack-issues.updateissue with: issueId: tools.issueId body: tools.body outputParameters: - type: object mapping: $. - name: jetbrains-delete-issue description: JetBrains Delete Issue hints: readOnly: false destructive: true idempotent: true call: youtrack-issues.deleteissue with: issueId: tools.issueId outputParameters: - type: object mapping: $. - name: jetbrains-list-issue-comments description: JetBrains List Issue Comments hints: readOnly: true destructive: false idempotent: true call: youtrack-issues.listissuecomments with: issueId: tools.issueId outputParameters: - type: object mapping: $. - name: jetbrains-add-issue-comment description: JetBrains Add Issue Comment hints: readOnly: false destructive: false idempotent: false call: youtrack-issues.addissuecomment with: issueId: tools.issueId body: tools.body outputParameters: - type: object mapping: $.