naftiko: 1.0.0-alpha2 info: label: SourceForge Allura API — Discussion description: 'SourceForge Allura API — Discussion. 3 operations. Lead operation: List Discussion Forums. Self-contained Naftiko capability covering one Sourceforge business surface.' tags: - Sourceforge - Discussion created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SOURCEFORGE_API_KEY: SOURCEFORGE_API_KEY capability: consumes: - type: http namespace: allura-discussion baseUri: https://sourceforge.net description: SourceForge Allura API — Discussion business capability. Self-contained, no shared references. resources: - name: rest-p-project-discussion path: /rest/p/{project}/{discussion} operations: - name: listforums method: GET description: List Discussion Forums outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: discussion in: path type: string description: Discussion tool mount point required: true - name: rest-p-project-discussion-forum path: /rest/p/{project}/{discussion}/{forum} operations: - name: listforumtopics method: GET description: List Forum Topics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: discussion in: path type: string required: true - name: forum in: path type: string description: Forum identifier required: true - name: rest-p-project-discussion-forum-thread-thread path: /rest/p/{project}/{discussion}/{forum}/thread/{thread} operations: - name: listthreadposts method: GET description: List Thread Posts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: discussion in: path type: string required: true - name: forum in: path type: string required: true - name: thread in: path type: string description: Thread identifier required: true authentication: type: bearer token: '{{env.SOURCEFORGE_API_KEY}}' exposes: - type: rest namespace: allura-discussion-rest port: 8080 description: REST adapter for SourceForge Allura API — Discussion. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/p/{project}/{discussion} name: rest-p-project-discussion description: REST surface for rest-p-project-discussion. operations: - method: GET name: listforums description: List Discussion Forums call: allura-discussion.listforums with: discussion: rest.discussion outputParameters: - type: object mapping: $. - path: /v1/p/{project}/{discussion}/{forum} name: rest-p-project-discussion-forum description: REST surface for rest-p-project-discussion-forum. operations: - method: GET name: listforumtopics description: List Forum Topics call: allura-discussion.listforumtopics with: discussion: rest.discussion forum: rest.forum outputParameters: - type: object mapping: $. - path: /v1/p/{project}/{discussion}/{forum}/thread/{thread} name: rest-p-project-discussion-forum-thread-thread description: REST surface for rest-p-project-discussion-forum-thread-thread. operations: - method: GET name: listthreadposts description: List Thread Posts call: allura-discussion.listthreadposts with: discussion: rest.discussion forum: rest.forum thread: rest.thread outputParameters: - type: object mapping: $. - type: mcp namespace: allura-discussion-mcp port: 9090 transport: http description: MCP adapter for SourceForge Allura API — Discussion. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-discussion-forums description: List Discussion Forums hints: readOnly: true destructive: false idempotent: true call: allura-discussion.listforums with: discussion: tools.discussion outputParameters: - type: object mapping: $. - name: list-forum-topics description: List Forum Topics hints: readOnly: true destructive: false idempotent: true call: allura-discussion.listforumtopics with: discussion: tools.discussion forum: tools.forum outputParameters: - type: object mapping: $. - name: list-thread-posts description: List Thread Posts hints: readOnly: true destructive: false idempotent: true call: allura-discussion.listthreadposts with: discussion: tools.discussion forum: tools.forum thread: tools.thread outputParameters: - type: object mapping: $.