A Tamil etymology and word-coinage tool built as a Model Context Protocol (MCP) server for Claude Desktop. Claude's own linguistic reasoning acts as the lexicon engine; the server shapes its output into structured results rendered as interactive cards inside Claude Desktop via the MCP Apps iframe UI.
-
Word coinage (English → Tamil) — give it any English phrase and it coins an etymologically honest Tamil equivalent, working from the spirit of the phrase rather than translating words literally. The pipeline enforces a rejection test: each candidate root is discarded until one a Sangam poet would have reached for survives.
-
Etymology analysis (Tamil → English) — paste Tamil script to get the English meaning, morpheme-by-morpheme breakdown, and classical sources.
-
Tier-classified morpheme breakdown — every word is decomposed into its constituent roots, each tagged:
- 🟢 Sangam — attested in pre-600 CE literature (Tolkāppiyam, Purananuru, Tirukuṟaḷ, Akananuru…)
- 🟡 Medieval — emerged in the Bhakti / Siddhar period (600–1800 CE)
- 🔴 Coined — modern technical neologism
The overall word inherits the tier of its newest morpheme.
-
Interactive morpheme drill-down — click any morpheme chip in the card to fetch its classical attestations (specific quotes with source and period) and related Tamil words that share the same root.
-
Example sentence generation — generates a grammatically valid Tamil sentence in an appropriate register (formal / literary / modern technical), delivered as a card with Tamil text, English translation, and register label.
-
Results as interactive cards, not chat text — all structured output renders in an MCP Apps iframe embedded inside Claude Desktop. The chat stays clean.
| Requirement | Version |
|---|---|
| Claude Desktop | 1.x (MCP Apps support) |
| .NET SDK | 8.0 or later |
| Node.js | 18 or later (for UI builds only) |
git clone <repo-url>
cd tamil-lexicon
cd ui
npm install
npm run build
cd ..
This produces server/UI/index.html — a self-contained React bundle that gets embedded in the server binary.
cd server
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish
The output is a single executable: server/publish/TamilLexiconMcp.exe.
Other platforms: replace
win-x64withosx-arm64,osx-x64, orlinux-x64as needed.
Open %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) and add:
{
"mcpServers": {
"tamil-lexicon": {
"command": "C:\\path\\to\\tamil-lexicon\\server\\publish\\TamilLexiconMcp.exe"
}
}
}Adjust the path to match your clone location.
The Tamil Lexicon tools will appear in Claude's tool list on next launch.
| What to say | What happens |
|---|---|
| "Coin a Tamil word for algorithm" | Spirit analysis in chat → word card with morpheme breakdown |
| "What does கணினி mean?" | Etymology card with meaning, morphemes, and attestations |
| "Give me an example sentence" | Example sentence card (Tamil + English translation + register) |
| Click a morpheme chip | Drill-down card with classical attestations and related words |
To rebuild after making changes:
# UI changes
cd ui && npm run build
# Server changes (or after UI rebuild)
cd server
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publishThen restart Claude Desktop to pick up the new binary.
tamil-lexicon/
├── ui/ # React + TypeScript MCP Apps card
│ └── src/App.tsx # Card component (ontoolinput, morpheme chips, detail panel)
└── server/ # C# .NET 8 MCP server
├── Program.cs # Tool registration + MCP host bootstrap
├── Tools/ # Tool handlers (find, report, generate)
├── Prompts/ # Prompt builders (FindWordPrompt, ExampleSentencePrompt)
└── Resources/ # Embedded UI resource endpoint