Words API · Capability
Words API — Search
Words API Search surface — 1 operations. Lead operation: Search Words and Get Random Word. Self-contained Naftiko capability covering one Words API business surface.
What You Can Do
GET
Searchwords
— Search Words and Get Random Word
/v1/words
MCP Tools
search-words
Search Words and Get Random Word
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Words API — Search
description: 'Words API Search surface — 1 operations. Lead operation: Search Words and Get Random Word. Self-contained Naftiko capability covering one Words API business surface.'
tags:
- Words API
- Search
created: '2026-05-30'
modified: '2026-05-30'
binds:
- namespace: env
keys:
WORDS_API_KEY: WORDS_API_KEY
capability:
consumes:
- type: http
namespace: words-search
baseUri: https://wordsapiv1.p.rapidapi.com
description: Words API Search business capability. Self-contained, no shared references.
authentication:
type: apikey
key: X-RapidAPI-Key
value: '{{env.WORDS_API_KEY}}'
placement: header
resources:
- name: root
path: /words/
operations:
- name: searchWords
method: GET
description: Search Words and Get Random Word
inputParameters:
- name: letterPattern
in: query
type: string
required: false
description: Regex pattern matched against the word's letters.
- name: letters
in: query
type: integer
required: false
description: Exact letter count.
- name: lettersMin
in: query
type: integer
required: false
description: Minimum letter count.
- name: lettersMax
in: query
type: integer
required: false
description: Maximum letter count.
- name: pronunciationPattern
in: query
type: string
required: false
description: Regex pattern matched against the IPA pronunciation.
- name: sounds
in: query
type: integer
required: false
description: Exact phoneme count.
- name: soundsMin
in: query
type: integer
required: false
description: Minimum phoneme count.
- name: soundsMax
in: query
type: integer
required: false
description: Maximum phoneme count.
- name: partOfSpeech
in: query
type: string
required: false
description: Filter by grammatical class.
- name: hasDetails
in: query
type: string
required: false
description: Comma-separated detail types the word must have (e.g. "synonyms
- name: random
in: query
type: boolean
required: false
description: Return a single random word matching the filters.
- name: limit
in: query
type: integer
required: false
description: Results per page (1–100).
- name: page
in: query
type: integer
required: false
description: Page number for pagination.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: words-search-rest
port: 8080
description: REST adapter for Words API — Search. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/words
name: root
description: REST surface for /words/.
operations:
- method: GET
name: searchWords
description: Search Words and Get Random Word
call: words-search.searchWords
with:
letterPattern: rest.letterPattern
letters: rest.letters
lettersMin: rest.lettersMin
lettersMax: rest.lettersMax
pronunciationPattern: rest.pronunciationPattern
sounds: rest.sounds
soundsMin: rest.soundsMin
soundsMax: rest.soundsMax
partOfSpeech: rest.partOfSpeech
hasDetails: rest.hasDetails
random: rest.random
limit: rest.limit
page: rest.page
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: words-search-mcp
port: 9090
transport: http
description: MCP adapter for Words API — Search. One tool per consumed operation, routed inline through this capability's consumes block.
tools:
- name: search-words
description: Search Words and Get Random Word
hints:
readOnly: true
destructive: false
idempotent: true
call: words-search.searchWords
with:
letterPattern: tools.letterPattern
letters: tools.letters
lettersMin: tools.lettersMin
lettersMax: tools.lettersMax
pronunciationPattern: tools.pronunciationPattern
sounds: tools.sounds
soundsMin: tools.soundsMin
soundsMax: tools.soundsMax
partOfSpeech: tools.partOfSpeech
hasDetails: tools.hasDetails
random: tools.random
limit: tools.limit
page: tools.page
outputParameters:
- type: object
mapping: $.