Skip to main content
Glama
Word of the Day MCP Server

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: Dictionary 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

Inputs: difficulty.

get_word_definitionB

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

Inputs: word (required), language.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 2 tools

    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.

    Related MCP Connectors

    Related MCP Servers