Wordnik · Capability
Wordnik — Word
Word — single-word lookup surface. 11 operations covering definitions, examples, etymologies, audio, pronunciations, hyphenation, related-word graph traversal, frequency over time, top example, bi-gram phrases, and scrabble score. Lead operation: return definitions for a word. Self-contained Naftiko capability covering one Wordnik business surface.
What You Can Do
GET
Getaudio
— Fetch audio metadata for a word.
/v1/words/{word}/audio
GET
Getdefinitions
— Return definitions for a word.
/v1/words/{word}/definitions
GET
Getetymologies
— Fetch etymology data for a word.
/v1/words/{word}/etymologies
GET
Getexamples
— Return examples for a word.
/v1/words/{word}/examples
GET
Getwordfrequency
— Return word usage over time.
/v1/words/{word}/frequency
GET
Gethyphenation
— Return syllable information for a word.
/v1/words/{word}/hyphenation
GET
Getphrases
— Fetch bi-gram phrases for a word.
/v1/words/{word}/phrases
GET
Gettextpronunciations
— Return text pronunciations for a word.
/v1/words/{word}/pronunciations
GET
Getrelatedwords
— Return related words from the Word Graph.
/v1/words/{word}/related-words
GET
Getscrabblescore
— Return the scrabble score for a word.
/v1/words/{word}/scrabble-score
GET
Gettopexample
— Return a top example for a word.
/v1/words/{word}/top-example
MCP Tools
get-audio
Fetch audio metadata for a word.
read-only
idempotent
get-definitions
Return definitions for a word.
read-only
idempotent
get-etymologies
Fetch etymology data for a word.
read-only
idempotent
get-examples
Return examples for a word.
read-only
idempotent
get-word-frequency
Return word usage over time.
read-only
idempotent
get-hyphenation
Return syllable information for a word.
read-only
idempotent
get-phrases
Fetch bi-gram phrases for a word.
read-only
idempotent
get-text-pronunciations
Return text pronunciations for a word.
read-only
idempotent
get-related-words
Return related words from the Word Graph.
read-only
idempotent
get-scrabble-score
Return the scrabble score for a word.
read-only
idempotent
get-top-example
Return a top example for a word.
read-only
idempotent
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "Wordnik — Word"
description: >-
Word — single-word lookup surface. 11 operations covering definitions, examples,
etymologies, audio, pronunciations, hyphenation, related-word graph traversal,
frequency over time, top example, bi-gram phrases, and scrabble score. Lead operation:
return definitions for a word. Self-contained Naftiko capability covering one
Wordnik business surface.
tags:
- Wordnik
- Dictionary
- Word
created: "2026-05-29"
modified: "2026-05-29"
binds:
- namespace: env
keys:
WORDNIK_API_KEY: WORDNIK_API_KEY
capability:
consumes:
- type: http
namespace: "wordnik-word"
baseUri: "https://api.wordnik.com/v4"
description: "Wordnik — Word business capability. Self-contained, no shared references."
authentication:
type: apikey
key: api_key
value: "{{env.WORDNIK_API_KEY}}"
placement: query
resources:
- name: "word"
path: "/word.json/{word}"
operations:
- name: "getAudio"
method: GET
description: "Fetch audio metadata for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to get audio for." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
- { name: limit, in: query, type: integer, required: false, description: "Maximum number of results to return." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getDefinitions"
method: GET
description: "Return definitions for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to return definitions for." }
- { name: limit, in: query, type: integer, required: false, description: "Maximum number of results to return." }
- { name: partOfSpeech, in: query, type: string, required: false, description: "CSV list of part-of-speech types." }
- { name: includeRelated, in: query, type: string, required: false, description: "Return related words with definitions." }
- { name: sourceDictionaries, in: query, type: array, required: false, description: "Source dictionary or dictionaries." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
- { name: includeTags, in: query, type: string, required: false, description: "Return a closed set of XML tags in response." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getEtymologies"
method: GET
description: "Fetch etymology data for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to return etymologies for." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getExamples"
method: GET
description: "Return examples for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to return examples for." }
- { name: includeDuplicates, in: query, type: string, required: false, description: "Show duplicate examples." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
- { name: skip, in: query, type: integer, required: false, description: "Results to skip." }
- { name: limit, in: query, type: integer, required: false, description: "Maximum number of results to return." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getWordFrequency"
method: GET
description: "Return word usage over time."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to return frequency for." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
- { name: startYear, in: query, type: integer, required: false, description: "Starting year." }
- { name: endYear, in: query, type: integer, required: false, description: "Ending year." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getHyphenation"
method: GET
description: "Return syllable information for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to get syllables for." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
- { name: sourceDictionary, in: query, type: string, required: false, description: "Source dictionary." }
- { name: limit, in: query, type: integer, required: false, description: "Maximum number of results to return." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getPhrases"
method: GET
description: "Fetch bi-gram phrases for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to fetch phrases for." }
- { name: limit, in: query, type: integer, required: false, description: "Maximum number of results to return." }
- { name: wlmi, in: query, type: integer, required: false, description: "Minimum WLMI for the phrase." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getTextPronunciations"
method: GET
description: "Return text pronunciations for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to get pronunciations for." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
- { name: sourceDictionary, in: query, type: string, required: false, description: "Source dictionary." }
- { name: typeFormat, in: query, type: string, required: false, description: "Text pronunciation type." }
- { name: limit, in: query, type: integer, required: false, description: "Maximum number of results to return." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getRelatedWords"
method: GET
description: "Return related words from the Word Graph."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to fetch relationships for." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
- { name: relationshipTypes, in: query, type: string, required: false, description: "Relationship type filter." }
- { name: limitPerRelationshipType, in: query, type: integer, required: false, description: "Limit per relationship type." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getScrabbleScore"
method: GET
description: "Return the scrabble score for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to get scrabble score for." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
- name: "getTopExample"
method: GET
description: "Return a top example for a word."
inputParameters:
- { name: word, in: path, type: string, required: true, description: "Word to fetch examples for." }
- { name: useCanonical, in: query, type: string, required: false, description: "Return the canonical form of the word." }
outputRawFormat: json
outputParameters:
- { name: result, type: object, value: "$." }
exposes:
- type: rest
namespace: "wordnik-word-rest"
port: 8080
description: "REST adapter for Wordnik — Word. One Spectral-compliant resource per consumed operation, prefixed with /v1."
resources:
- path: "/v1/words/{word}/audio"
name: "word-audio"
description: "REST surface for word audio metadata."
operations:
- method: GET
name: "getAudio"
description: "Fetch audio metadata for a word."
call: "wordnik-word.getAudio"
with:
word: "rest.word"
useCanonical: "rest.useCanonical"
limit: "rest.limit"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/definitions"
name: "word-definitions"
description: "REST surface for word definitions."
operations:
- method: GET
name: "getDefinitions"
description: "Return definitions for a word."
call: "wordnik-word.getDefinitions"
with:
word: "rest.word"
limit: "rest.limit"
partOfSpeech: "rest.partOfSpeech"
includeRelated: "rest.includeRelated"
sourceDictionaries: "rest.sourceDictionaries"
useCanonical: "rest.useCanonical"
includeTags: "rest.includeTags"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/etymologies"
name: "word-etymologies"
description: "REST surface for etymologies."
operations:
- method: GET
name: "getEtymologies"
description: "Fetch etymology data for a word."
call: "wordnik-word.getEtymologies"
with:
word: "rest.word"
useCanonical: "rest.useCanonical"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/examples"
name: "word-examples"
description: "REST surface for examples."
operations:
- method: GET
name: "getExamples"
description: "Return examples for a word."
call: "wordnik-word.getExamples"
with:
word: "rest.word"
includeDuplicates: "rest.includeDuplicates"
useCanonical: "rest.useCanonical"
skip: "rest.skip"
limit: "rest.limit"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/frequency"
name: "word-frequency"
description: "REST surface for frequency over time."
operations:
- method: GET
name: "getWordFrequency"
description: "Return word usage over time."
call: "wordnik-word.getWordFrequency"
with:
word: "rest.word"
useCanonical: "rest.useCanonical"
startYear: "rest.startYear"
endYear: "rest.endYear"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/hyphenation"
name: "word-hyphenation"
description: "REST surface for hyphenation."
operations:
- method: GET
name: "getHyphenation"
description: "Return syllable information for a word."
call: "wordnik-word.getHyphenation"
with:
word: "rest.word"
useCanonical: "rest.useCanonical"
sourceDictionary: "rest.sourceDictionary"
limit: "rest.limit"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/phrases"
name: "word-phrases"
description: "REST surface for bi-gram phrases."
operations:
- method: GET
name: "getPhrases"
description: "Fetch bi-gram phrases for a word."
call: "wordnik-word.getPhrases"
with:
word: "rest.word"
limit: "rest.limit"
wlmi: "rest.wlmi"
useCanonical: "rest.useCanonical"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/pronunciations"
name: "word-pronunciations"
description: "REST surface for pronunciations."
operations:
- method: GET
name: "getTextPronunciations"
description: "Return text pronunciations for a word."
call: "wordnik-word.getTextPronunciations"
with:
word: "rest.word"
useCanonical: "rest.useCanonical"
sourceDictionary: "rest.sourceDictionary"
typeFormat: "rest.typeFormat"
limit: "rest.limit"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/related-words"
name: "word-related-words"
description: "REST surface for related words."
operations:
- method: GET
name: "getRelatedWords"
description: "Return related words from the Word Graph."
call: "wordnik-word.getRelatedWords"
with:
word: "rest.word"
useCanonical: "rest.useCanonical"
relationshipTypes: "rest.relationshipTypes"
limitPerRelationshipType: "rest.limitPerRelationshipType"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/scrabble-score"
name: "word-scrabble-score"
description: "REST surface for scrabble score."
operations:
- method: GET
name: "getScrabbleScore"
description: "Return the scrabble score for a word."
call: "wordnik-word.getScrabbleScore"
with:
word: "rest.word"
outputParameters:
- { type: object, mapping: "$." }
- path: "/v1/words/{word}/top-example"
name: "word-top-example"
description: "REST surface for top example."
operations:
- method: GET
name: "getTopExample"
description: "Return a top example for a word."
call: "wordnik-word.getTopExample"
with:
word: "rest.word"
useCanonical: "rest.useCanonical"
outputParameters:
- { type: object, mapping: "$." }
- type: mcp
namespace: "wordnik-word-mcp"
port: 9090
transport: http
description: "MCP adapter for Wordnik — Word. One tool per consumed operation, routed inline through this capability's consumes block."
tools:
- name: "get-audio"
description: "Fetch audio metadata for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getAudio"
with:
word: "tools.word"
useCanonical: "tools.useCanonical"
limit: "tools.limit"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-definitions"
description: "Return definitions for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getDefinitions"
with:
word: "tools.word"
limit: "tools.limit"
partOfSpeech: "tools.partOfSpeech"
includeRelated: "tools.includeRelated"
sourceDictionaries: "tools.sourceDictionaries"
useCanonical: "tools.useCanonical"
includeTags: "tools.includeTags"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-etymologies"
description: "Fetch etymology data for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getEtymologies"
with:
word: "tools.word"
useCanonical: "tools.useCanonical"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-examples"
description: "Return examples for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getExamples"
with:
word: "tools.word"
includeDuplicates: "tools.includeDuplicates"
useCanonical: "tools.useCanonical"
skip: "tools.skip"
limit: "tools.limit"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-word-frequency"
description: "Return word usage over time."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getWordFrequency"
with:
word: "tools.word"
useCanonical: "tools.useCanonical"
startYear: "tools.startYear"
endYear: "tools.endYear"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-hyphenation"
description: "Return syllable information for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getHyphenation"
with:
word: "tools.word"
useCanonical: "tools.useCanonical"
sourceDictionary: "tools.sourceDictionary"
limit: "tools.limit"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-phrases"
description: "Fetch bi-gram phrases for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getPhrases"
with:
word: "tools.word"
limit: "tools.limit"
wlmi: "tools.wlmi"
useCanonical: "tools.useCanonical"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-text-pronunciations"
description: "Return text pronunciations for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getTextPronunciations"
with:
word: "tools.word"
useCanonical: "tools.useCanonical"
sourceDictionary: "tools.sourceDictionary"
typeFormat: "tools.typeFormat"
limit: "tools.limit"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-related-words"
description: "Return related words from the Word Graph."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getRelatedWords"
with:
word: "tools.word"
useCanonical: "tools.useCanonical"
relationshipTypes: "tools.relationshipTypes"
limitPerRelationshipType: "tools.limitPerRelationshipType"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-scrabble-score"
description: "Return the scrabble score for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getScrabbleScore"
with:
word: "tools.word"
outputParameters:
- { type: object, mapping: "$." }
- name: "get-top-example"
description: "Return a top example for a word."
hints: { readOnly: true, destructive: false, idempotent: true }
call: "wordnik-word.getTopExample"
with:
word: "tools.word"
useCanonical: "tools.useCanonical"
outputParameters:
- { type: object, mapping: "$." }