SourceForge · Capability

SourceForge Allura API — Users

SourceForge Allura API — Users. 3 operations. Lead operation: List User Tools. Self-contained Naftiko capability covering one Sourceforge business surface.

Run with Naftiko SourceforgeUsers

What You Can Do

GET
Listusertools — List User Tools
/v1/auth/tools/{tool-type}
POST
Getoauthtoken — Get OAuth2 Token
/v1/oauth2/token
GET
Getcurrentuser — Get Current User
/v1/user

MCP Tools

list-user-tools

List User Tools

read-only idempotent
get-oauth2-token

Get OAuth2 Token

read-only
get-current-user

Get Current User

read-only idempotent

Capability Spec

allura-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: SourceForge Allura API — Users
  description: 'SourceForge Allura API — Users. 3 operations. Lead operation: List User Tools. Self-contained Naftiko capability
    covering one Sourceforge business surface.'
  tags:
  - Sourceforge
  - Users
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SOURCEFORGE_API_KEY: SOURCEFORGE_API_KEY
capability:
  consumes:
  - type: http
    namespace: allura-users
    baseUri: https://sourceforge.net
    description: SourceForge Allura API — Users business capability. Self-contained, no shared references.
    resources:
    - name: rest-auth-tools-tool_type
      path: /rest/auth/tools/{tool_type}
      operations:
      - name: listusertools
        method: GET
        description: List User Tools
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tool_type
          in: path
          type: string
          description: Type of tool to list
          required: true
    - name: rest-oauth2-token
      path: /rest/oauth2/token
      operations:
      - name: getoauthtoken
        method: POST
        description: Get OAuth2 Token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-user
      path: /rest/user
      operations:
      - name: getcurrentuser
        method: GET
        description: Get Current User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.SOURCEFORGE_API_KEY}}'
  exposes:
  - type: rest
    namespace: allura-users-rest
    port: 8080
    description: REST adapter for SourceForge Allura API — Users. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/auth/tools/{tool-type}
      name: rest-auth-tools-tool-type
      description: REST surface for rest-auth-tools-tool_type.
      operations:
      - method: GET
        name: listusertools
        description: List User Tools
        call: allura-users.listusertools
        with:
          tool_type: rest.tool_type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/oauth2/token
      name: rest-oauth2-token
      description: REST surface for rest-oauth2-token.
      operations:
      - method: POST
        name: getoauthtoken
        description: Get OAuth2 Token
        call: allura-users.getoauthtoken
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user
      name: rest-user
      description: REST surface for rest-user.
      operations:
      - method: GET
        name: getcurrentuser
        description: Get Current User
        call: allura-users.getcurrentuser
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: allura-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for SourceForge Allura API — Users. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-user-tools
      description: List User Tools
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: allura-users.listusertools
      with:
        tool_type: tools.tool_type
      outputParameters:
      - type: object
        mapping: $.
    - name: get-oauth2-token
      description: Get OAuth2 Token
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: allura-users.getoauthtoken
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-current-user
      description: Get Current User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: allura-users.getcurrentuser
      outputParameters:
      - type: object
        mapping: $.