Dictionary Lookup MCP Server
README.md
# Dictionary Lookup MCP Server
A minimal [Model Context Protocol](MCP) server
built with the official Python SDK. It exposes one tool, `define`, which looks
up the definition of an English word using the free
[dictionaryapi.dev](https://dictionaryapi.dev) API.
This project was built as a learning exercise to understand how MCP servers
are structured, how they communicate with clients, and how to deploy one
publicly.
## What it does
- Exposes a single tool: `define(word: str) -> str`
- Given a word, returns its part of speech and definition
- No API key or authentication required
## Requirements
- Python 3.10+
- [uv](https://docs.astral.sh/uv/) (recommended) or pip
## Setup (local)
```bash
# 1. Clone this repo
git clone <your-repo-url>
cd my-mcp-server
# 2. Install dependencies
uv sync
```
## Running it locally
**Option A — MCP Inspector (visual testing tool, easiest for beginners):**
```bash
uv run mcp dev server.py
```
This opens a browser-based inspector where you can call the `define` tool
directly and see the request/response without needing a full AI client.
**Option B — Connect to Claude Desktop:**
Add this to your Claude Desktop config file
(`claude_desktop_config.json`):
```json
{
"mcpServers": {
"dictionary-lookup": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/my-mcp-server",
"run",
"server.py"
]
}
}
}
```
Restart Claude Desktop, then ask something like:
*"Use the dictionary tool to define 'ephemeral'."*
## Usage example
**Input:** `define("ephemeral")`
**Output:** `ephemeral (adjective): lasting for a very short time.`
## Deployment
This server is published on Smithery: `<link once deployed>`
To deploy your own copy:
1. Push this repo to GitHub.
2. Ensure `server.py` supports the `streamable-http` transport for remote hosting.
3. Host it (e.g. Render/Railway) or use Smithery's publish flow.
4. On [Smithery](https://smithery.ai), choose "Publish via URL" and point it
at your hosted server's endpoint.
## Why this project
Built to learn the fundamentals of MCP: how a client discovers a server's
tools, how a tool call is made and answered, and how a working server gets
shared publicly through a marketplace like Smithery.
TDQS
A4.4/5.0
Scored across 1 tool
Disambiguation5/5
There is only one tool, so there is no possibility of confusing it with another tool. Its purpose is immediately clear and unambiguous.
Naming Consistency5/5
The single tool name 'define' is a clear imperative verb that matches its action. With only one tool, there are no mixed naming conventions or inconsistencies.
Tool Count3/5
One tool feels thin for a server labeled as a dictionary lookup service, though it does cover the core definition lookup need. It is borderline rather than extreme.
Completeness4/5
The core lookup functionality is covered well, but a dictionary server might reasonably include related operations like synonyms, usage examples, or pronunciation. These are minor gaps rather than fatal omissions.
Maintenance
ActivitySlowing
ResponsivenessNo issues