Skip to main content
Glama
Traves-Theberge

Word of the Day MCP Server

Word of the Day MCP Server

A Model Context Protocol (MCP) server that provides word definitions and random word-of-the-day functionality using the amazing Free Dictionary API! 🎉

🙏 Special Thanks

Huge shoutout to the Free Dictionary API team for providing this incredible, free, and open-source dictionary service! This project wouldn't be possible without their fantastic API that delivers comprehensive word definitions, pronunciations, examples, and more.

API Endpoint: https://api.dictionaryapi.dev/api/v2/entries/en/<word>

Related MCP server: Random Word By Api Ninjas

Features

  • Get Word Definition: Fetch comprehensive definitions, pronunciations, meanings, and examples for any English word

  • Random Word of the Day: Get a random word with its definition, categorized by difficulty level

  • Rich Information: Includes phonetic pronunciation, part of speech, examples, synonyms, antonyms, and etymology when available

Installation

  1. Clone or download this project

  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Usage

As an MCP Server

The server is configured to run via the MCP protocol. Add it to your MCP client configuration:

{
  "mcpServers": {
    "word-of-the-day": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/Word_of_the_day"
    }
  }
}

🛠️ Available MCP Tools

This server provides two powerful tools for vocabulary enhancement:

📖 get_word_definition

Description: Get comprehensive definitions, pronunciations, and meanings of any English word using the Dictionary API.

Input Schema:

{
  "type": "object",
  "properties": {
    "word": {
      "type": "string",
      "description": "The word to get the definition for"
    },
    "language": {
      "type": "string", 
      "description": "Language code (default: en)",
      "default": "en"
    }
  },
  "required": ["word"]
}

Example Usage:

{
  "name": "get_word_definition",
  "arguments": {
    "word": "serendipity"
  }
}

Sample Response:

**serendipity**

**Pronunciation:** /ˌsɛɹənˈdɪpɪti/

**Meanings:**

1. **noun**
   1. An unsought finding or discovery; a pleasant surprise.
      *Example: "A fortunate stroke of serendipity brought the two old friends together."*
   2. The faculty or phenomenon of finding valuable or agreeable things not sought for.

**Audio Pronunciation:**
1. https://api.dictionaryapi.dev/media/pronunciations/en/serendipity-us.mp3

🎲 get_random_word

Description: Get a random word with its complete definition for daily vocabulary building, categorized by difficulty level.

Input Schema:

{
  "type": "object",
  "properties": {
    "difficulty": {
      "type": "string",
      "enum": ["easy", "medium", "hard"],
      "description": "Difficulty level of the random word",
      "default": "medium"
    }
  },
  "required": []
}

Example Usage:

{
  "name": "get_random_word",
  "arguments": {
    "difficulty": "hard"
  }
}

Sample Response:

**surreptitious** 🕵️

**Pronunciation:** /ˌsʌɹɪpˈtɪʃəs/

**Meanings:**

1. **adjective**
   1. Stealthy, furtive, well hidden, covert (especially movements).

**Audio Pronunciation:**
1. https://api.dictionaryapi.dev/media/pronunciations/en/surreptitious-us.mp3

Difficulty Levels:

  • Easy: Common everyday words (happy, house, water, light, music, friend)

  • Medium: Sophisticated vocabulary (serendipity, eloquent, resilient, magnificent)

  • Hard: Advanced vocabulary (ephemeral, ubiquitous, perspicacious, surreptitious)

📚 API Integration

This server integrates with the Free Dictionary API - a completely free, open-source dictionary API that requires no authentication!

Why We Love This API:

  • Completely FREE - No API keys or rate limits

  • Open Source - Community-driven project

  • Comprehensive Data - Rich word information

  • No Authentication - Just make requests and get data!

The API provides:

  • Word definitions and meanings

  • Phonetic pronunciations (text and audio)

  • Part of speech information

  • Usage examples

  • Synonyms and antonyms

  • Etymology/origin information

Word Difficulty Levels

  • Easy: Common everyday words (happy, house, water, etc.)

  • Medium: More sophisticated vocabulary (serendipity, eloquent, resilient, etc.)

  • Hard: Advanced vocabulary (ephemeral, ubiquitous, perspicacious, etc.)

Development

  • Development mode: npm run dev

  • Build: npm run build

  • Start: npm start

Example Response

When you request the definition of "hello", you'll get:

**hello**

**Pronunciation:** həˈləʊ, hɛˈləʊ

**Origin:** early 19th century: variant of earlier hollo ; related to holla.

**Meanings:**

1. **exclamation**
   1. used as a greeting or to begin a phone conversation.
      *Example: "hello there, Katie!"*

2. **noun**
   1. an utterance of 'hello'; a greeting.
      *Example: "she was getting polite nods and hellos from people"*

3. **verb**
   1. say or shout 'hello'.
      *Example: "I pressed the phone button and helloed"*

**Audio Pronunciation:**
1. //ssl.gstatic.com/dictionary/static/sounds/20200429/hello--_gb_1.mp3

Error Handling

The server gracefully handles:

  • Words not found in the dictionary

  • API connection issues

  • Invalid parameters

  • Network timeouts

License

This project is open source and available under the MIT License.


Made with ❤️ by Traves Theberge

Available Tools

2 tools
get_random_wordC

Get a random word with its definition for word of the day

ParametersJSON Schema
NameRequiredDescriptionDefault
difficultyNoDifficulty level of the random wordmedium

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns a random word with its definition, but doesn't cover other behavioral traits such as rate limits, authentication needs, error handling, or whether the word changes per call. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that clearly states the tool's purpose without unnecessary words. It's front-loaded with the core function, making it easy to grasp quickly. However, it could be slightly more structured by explicitly noting the optional parameter, but overall it's concise and well-formed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter) and no output schema, the description is minimally adequate. It covers what the tool does but lacks details on behavioral aspects like how randomness is implemented or what the return format includes. Without annotations or output schema, more context on the response structure would improve completeness, but it's not entirely incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'difficulty' fully documented in the schema (including enum values and default). The description doesn't add any meaning beyond this, as it doesn't mention parameters at all. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get a random word with its definition for word of the day'. It specifies the verb ('Get'), resource ('random word'), and additional output ('definition'), making the function unambiguous. However, it doesn't explicitly differentiate from the sibling tool 'get_word_definition', which likely fetches definitions for specific words rather than random ones, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'get_word_definition' or clarify scenarios where one might prefer a random word over a specific lookup. Usage is implied by the phrase 'word of the day', but this is vague and lacks explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_word_definitionB

Get the definition, pronunciation, and meanings of a word using the Dictionary API

ParametersJSON Schema
NameRequiredDescriptionDefault
wordYesThe word to get the definition for
languageNoLanguage code (default: en)en

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on traits like rate limits, error handling, or response format. This is a significant gap for a tool that interacts with an external API.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the key information (what the tool does) without any wasted words. It is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavior, usage context, or output, leaving gaps that could hinder effective tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, documenting both parameters ('word' and 'language') clearly. The description adds no additional meaning beyond what the schema provides, such as examples or constraints, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resources involved ('definition, pronunciation, and meanings of a word'), making the purpose evident. However, it doesn't explicitly differentiate from the sibling tool 'get_random_word', which appears to serve a different purpose (fetching random words rather than definitions).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'get_random_word'. It mentions the Dictionary API but doesn't specify contexts or exclusions, leaving usage decisions unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updates
    • First observedget_random_word
    • First observedget_word_definition

TDQS

B3.2/5.0
Disambiguation4/5

The two tools have distinct purposes: get_random_word fetches a random word with its definition, while get_word_definition retrieves detailed information for a specific word. There is minimal overlap since one is for random discovery and the other for targeted lookup, though both involve word definitions, which could cause slight confusion.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern (get_random_word and get_word_definition), using the same verb 'get' and clear, descriptive nouns. This consistency makes the tools easily predictable and readable.

Tool Count3/5

With only 2 tools, the server feels thin for a 'Word of the Day' domain, as it lacks operations like listing words, saving favorites, or exploring related terms. While the core functionality is present, the scope is limited, bordering on minimal.

Completeness3/5

The server covers basic word retrieval and definition lookup, but there are notable gaps for a comprehensive word-of-the-day experience. Missing operations include browsing word lists, historical words, or user interactions, which could limit agent workflows in this domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Traves-Theberge/Word_of_the_day'

If you have feedback or need assistance with the MCP directory API, please join our Discord server