naftiko: 1.0.0-alpha2 info: label: SourceForge Allura API — Tracker description: 'SourceForge Allura API — Tracker. 5 operations. Lead operation: List Tickets. Self-contained Naftiko capability covering one Sourceforge business surface.' tags: - Sourceforge - Tracker created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SOURCEFORGE_API_KEY: SOURCEFORGE_API_KEY capability: consumes: - type: http namespace: allura-tracker baseUri: https://sourceforge.net description: SourceForge Allura API — Tracker business capability. Self-contained, no shared references. resources: - name: rest-p-project-tracker path: /rest/p/{project}/{tracker} operations: - name: listtickets method: GET description: List Tickets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer description: Page number (default 0) - name: limit in: query type: integer description: Results per page (default 25) - name: rest-p-project-tracker-new path: /rest/p/{project}/{tracker}/new operations: - name: createticket method: POST description: Create Ticket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-p-project-tracker-search path: /rest/p/{project}/{tracker}/search operations: - name: searchtickets method: GET description: Search Tickets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Search query string - name: page in: query type: integer - name: limit in: query type: integer - name: rest-p-project-tracker-ticketNumber path: /rest/p/{project}/{tracker}/{ticketNumber} operations: - name: getticket method: GET description: Get Ticket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ticketNumber in: path type: integer description: Ticket number required: true - name: rest-p-project-tracker-ticketNumber-save path: /rest/p/{project}/{tracker}/{ticketNumber}/save operations: - name: updateticket method: POST description: Update Ticket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ticketNumber in: path type: integer description: Ticket number required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.SOURCEFORGE_API_KEY}}' exposes: - type: rest namespace: allura-tracker-rest port: 8080 description: REST adapter for SourceForge Allura API — Tracker. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/p/{project}/{tracker} name: rest-p-project-tracker description: REST surface for rest-p-project-tracker. operations: - method: GET name: listtickets description: List Tickets call: allura-tracker.listtickets with: page: rest.page limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/p/{project}/{tracker}/new name: rest-p-project-tracker-new description: REST surface for rest-p-project-tracker-new. operations: - method: POST name: createticket description: Create Ticket call: allura-tracker.createticket with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/p/{project}/{tracker}/search name: rest-p-project-tracker-search description: REST surface for rest-p-project-tracker-search. operations: - method: GET name: searchtickets description: Search Tickets call: allura-tracker.searchtickets with: q: rest.q page: rest.page limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/p/{project}/{tracker}/{ticketnumber} name: rest-p-project-tracker-ticketnumber description: REST surface for rest-p-project-tracker-ticketNumber. operations: - method: GET name: getticket description: Get Ticket call: allura-tracker.getticket with: ticketNumber: rest.ticketNumber outputParameters: - type: object mapping: $. - path: /v1/p/{project}/{tracker}/{ticketnumber}/save name: rest-p-project-tracker-ticketnumber-save description: REST surface for rest-p-project-tracker-ticketNumber-save. operations: - method: POST name: updateticket description: Update Ticket call: allura-tracker.updateticket with: ticketNumber: rest.ticketNumber body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: allura-tracker-mcp port: 9090 transport: http description: MCP adapter for SourceForge Allura API — Tracker. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-tickets description: List Tickets hints: readOnly: true destructive: false idempotent: true call: allura-tracker.listtickets with: page: tools.page limit: tools.limit outputParameters: - type: object mapping: $. - name: create-ticket description: Create Ticket hints: readOnly: false destructive: false idempotent: false call: allura-tracker.createticket with: body: tools.body outputParameters: - type: object mapping: $. - name: search-tickets description: Search Tickets hints: readOnly: true destructive: false idempotent: true call: allura-tracker.searchtickets with: q: tools.q page: tools.page limit: tools.limit outputParameters: - type: object mapping: $. - name: get-ticket description: Get Ticket hints: readOnly: true destructive: false idempotent: true call: allura-tracker.getticket with: ticketNumber: tools.ticketNumber outputParameters: - type: object mapping: $. - name: update-ticket description: Update Ticket hints: readOnly: false destructive: false idempotent: false call: allura-tracker.updateticket with: ticketNumber: tools.ticketNumber body: tools.body outputParameters: - type: object mapping: $.