Oyemi MCP Server
Deterministic semantic word encoding and valence analysis for Claude, ChatGPT, and Gemini.
What is MCP?
The Model Context Protocol (MCP) is an open standard that allows AI assistants like Claude, ChatGPT, and Gemini to use external tools. Oyemi MCP Server brings deterministic semantic analysis capabilities to any MCP-compatible AI agent.
145K+ Word Lexicon
Comprehensive English vocabulary with semantic codes.
Valence Analysis
Analyze text sentiment with deterministic scoring.
Zero Dependencies
No external NLP libraries - fully self-contained.
100% Free
Open source, no API keys, no usage limits.
Installation
Install the Oyemi MCP Server from PyPI:
pip install oyemi-mcp
This automatically installs the oyemi library with its 145K+ word lexicon.
Configuration
Claude Desktop
Add to your Claude Desktop config file:
macOS/Linux: ~/.config/claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"oyemi": {
"command": "oyemi-mcp"
}
}
}
Claude Code
claude mcp add oyemi oyemi-mcp
Quick Start
Once configured, you can ask Claude things like:
- "What's the semantic code for the word 'happy'?"
- "Analyze the sentiment of this text: [paste text]"
- "How similar are the words 'happy' and 'joyful'?"
- "Find synonyms for 'fear'"
- "What are the antonyms of 'good'?"
Available Tools
encode_word
FreeEncode a word to its semantic code(s). Returns superclass, POS, abstractness, and valence.
encode_word("happy")
# Returns:
{
"word": "happy",
"code": "3010-00001-3-1-1",
"pos": "adjective",
"abstractness": "mixed",
"valence": "positive"
}
analyze_text
FreeAnalyze the valence/sentiment of a text string. Returns score, word lists, and percentages.
analyze_text("I feel hopeful but anxious about the future")
# Returns:
{
"valence_score": 0.0,
"sentiment": "neutral",
"positive_words": ["hopeful"],
"negative_words": ["anxious"],
"positive_pct": 25.0,
"negative_pct": 25.0
}
semantic_similarity
FreeCalculate semantic similarity between two words (0-1 scale).
semantic_similarity("happy", "joyful")
# Returns:
{
"word1": "happy",
"word2": "joyful",
"similarity": 0.9966,
"relationship": "very similar"
}
find_synonyms
FreeFind synonyms for a word using WordNet synset matching.
find_synonyms("happy", limit=5)
# Returns:
{
"word": "happy",
"synonyms": ["glad", "felicitous", "well-chosen"],
"count": 3
}
find_antonyms
FreeFind antonyms for a word.
find_antonyms("happy")
# Returns:
{
"word": "happy",
"antonyms": ["unhappy"],
"count": 1
}
batch_encode
FreeEncode multiple words at once (up to 100 words).
batch_encode(["happy", "sad", "neutral"])
# Returns codes and valence for each word
get_lexicon_info
FreeGet information about the Oyemi lexicon.
get_lexicon_info()
# Returns:
{
"name": "Oyemi",
"version": "3.2.0",
"word_count": 145014
}
Code Format
Oyemi codes follow the format HHHH-LLLLL-P-A-V:
HHHH | Superclass - Semantic category (4 digits) |
LLLLL | Synset ID - Specific meaning (5 digits) |
P | Part of Speech - 1=noun, 2=verb, 3=adj, 4=adv |
A | Abstractness - 0=concrete, 1=mixed, 2=abstract |
V | Valence - 0=neutral, 1=positive, 2=negative |
Support
- GitHub Issues: github.com/Osseni94/oyemi-mcp/issues
- Email: admin@grandnasser.com