oyemi-mcp

MCP server for the Oyemi semantic lexicon. Provides deterministic word-to-code mapping and valence/sentiment analysis for AI agents like Claude, ChatGPT, and Gemini.

Oyemi MCP Server

MCP (Model Context Protocol) server for the Oyemi semantic lexicon. Provides deterministic word-to-code mapping and valence analysis for AI agents like Claude, ChatGPT, and Gemini.

Features

  • Semantic Encoding: Convert words to deterministic semantic codes
  • Valence Analysis: Analyze text sentiment using lexicon-based valence
  • Semantic Similarity: Measure how similar two words are
  • Synonym/Antonym Lookup: Find related words
  • Zero Runtime Dependencies: No external NLP libraries needed at runtime

Installation

pip install oyemi-mcp

Or install from source:

git clone https://github.com/Osseni94/oyemi-mcp
cd oyemi-mcp
pip install -e .

Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "oyemi": {
      "command": "oyemi-mcp"
    }
  }
}

Claude Code

Add to your MCP settings:

{
  "mcpServers": {
    "oyemi": {
      "command": "oyemi-mcp"
    }
  }
}

Available Tools

encode_word

Encode a word to its semantic code.

encode_word("happy")
-> {
    "word": "happy",
    "code": "1023-00012-3-2-1",
    "pos": "adjective",
    "abstractness": "abstract",
    "valence": "positive"
}

analyze_text

Analyze the valence/sentiment of text.

analyze_text("I feel hopeful but anxious about the future")
-> {
    "valence_score": 0.0,
    "sentiment": "neutral",
    "positive_words": ["hopeful"],
    "negative_words": ["anxious"],
    ...
}

semantic_similarity

Compare two words semantically.

semantic_similarity("happy", "joyful")
-> {
    "similarity": 0.85,
    "relationship": "very similar"
}

find_synonyms

Find synonyms for a word.

find_synonyms("happy")
-> {
    "synonyms": ["glad", "felicitous", "well-chosen"]
}

find_antonyms

Find antonyms for a word.

find_antonyms("happy")
-> {
    "antonyms": ["unhappy"]
}

batch_encode

Encode multiple words at once.

batch_encode(["happy", "sad", "neutral"])
-> {
    "results": [
        {"word": "happy", "valence": "positive"},
        {"word": "sad", "valence": "negative"},
        {"word": "neutral", "valence": "neutral"}
    ]
}

get_lexicon_info

Get information about the lexicon.

get_lexicon_info()
-> {
    "name": "Oyemi",
    "version": "3.2.0",
    "word_count": 145014
}

Code Format

Oyemi codes follow the format HHHH-LLLLL-P-A-V:

ComponentDescriptionValues
HHHHSemantic superclass4-digit category code
LLLLLSynset ID5-digit unique identifier
PPart of speech1=noun, 2=verb, 3=adj, 4=adv
AAbstractness0=concrete, 1=mixed, 2=abstract
VValence0=neutral, 1=positive, 2=negative

Use Cases

  • AI Sentiment Analysis: Let AI agents understand emotional tone
  • Semantic Grounding: Provide concrete valence scores instead of guessing
  • Text Analysis: Analyze documents, reviews, feedback
  • Word Relationships: Find synonyms, antonyms, similar words

License

MIT License

Author

Kaossara Osseni - grandnasser.com

Máy chủ liên quan

NotebookLM Web Importer

Nhập trang web và video YouTube vào NotebookLM chỉ với một cú nhấp. Được tin dùng bởi hơn 200.000 người dùng.

Cài đặt tiện ích Chrome