Noun Project · Capability

Noun Project API V2 — Autocomplete

Autocomplete — Suggest icon search terms based on a query prefix from the Noun Project library. 1 operation. Lead operation: Autocomplete Icon Search returns up to 10 ranked suggestions. Self-contained Naftiko capability covering one Noun Project business surface.

Run with Naftiko Noun ProjectAutocompleteSearch Suggestions

What You Can Do

GET
Autocompleteicons — Suggest icon search terms based on a query prefix.
/v1/icons/autocomplete

MCP Tools

autocomplete-icons

Suggest icon search terms based on a query prefix.

read-only idempotent

Capability Spec

noun-project-autocomplete.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Noun Project API V2 — Autocomplete"
  description: >-
    Autocomplete — Suggest icon search terms based on a query prefix from the Noun
    Project library. 1 operation. Lead operation: Autocomplete Icon Search returns
    up to 10 ranked suggestions. Self-contained Naftiko capability covering one
    Noun Project business surface.
  tags:
    - Noun Project
    - Autocomplete
    - Search Suggestions
  created: "2026-05-28"
  modified: "2026-05-28"

binds:
  - namespace: env
    keys:
      NOUN_PROJECT_OAUTH_KEY: NOUN_PROJECT_OAUTH_KEY
      NOUN_PROJECT_OAUTH_SECRET: NOUN_PROJECT_OAUTH_SECRET

capability:

  consumes:
    - type: http
      namespace: "noun-project-autocomplete"
      baseUri: "https://api.thenounproject.com"
      description: "Noun Project API V2 — Autocomplete business capability. Self-contained, no shared references."
      authentication:
        type: oauth1
        consumerKey: "{{env.NOUN_PROJECT_OAUTH_KEY}}"
        consumerSecret: "{{env.NOUN_PROJECT_OAUTH_SECRET}}"
        signatureMethod: HMAC-SHA1
      resources:
        - name: "icon-autocomplete"
          path: "/v2/icon/autocomplete"
          operations:
            - name: "autocompleteIcons"
              method: GET
              description: "Suggest icon search terms based on a query prefix."
              inputParameters:
                - name: query
                  in: query
                  type: string
                  required: true
                  description: "Query prefix used to generate term suggestions."
                - name: blacklist
                  in: query
                  type: boolean
                  required: false
                  description: "When true, applies the client's configured blocklist."
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: "Maximum suggestions returned (hard cap of 10)."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "noun-project-autocomplete-rest"
      port: 8080
      description: "REST adapter for Noun Project API V2 — Autocomplete."
      resources:
        - path: "/v1/icons/autocomplete"
          name: "icon-autocomplete"
          description: "REST surface for icon search autocomplete."
          operations:
            - method: GET
              name: "autocompleteIcons"
              description: "Suggest icon search terms based on a query prefix."
              call: "noun-project-autocomplete.autocompleteIcons"
              with:
                query: "rest.query"
                blacklist: "rest.blacklist"
                limit: "rest.limit"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "noun-project-autocomplete-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Noun Project API V2 — Autocomplete."
      tools:
        - name: "autocomplete-icons"
          description: "Suggest icon search terms based on a query prefix."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "noun-project-autocomplete.autocompleteIcons"
          with:
            query: "tools.query"
            blacklist: "tools.blacklist"
            limit: "tools.limit"
          outputParameters:
            - type: object
              mapping: "$."