KeyNeg MCP Server
Enterprise-grade sentiment analysis tool for AI agents, enabling sentiment labeling, keyword extraction, and batch analysis via MCP.
README
KeyNeg MCP Server
The first general-purpose sentiment analysis tool for AI agents.
KeyNeg MCP Server brings enterprise-grade sentiment analysis to Claude, ChatGPT, Gemini, and any AI assistant that supports the Model Context Protocol (MCP).
Features
- 95+ Sentiment Labels - Comprehensive negative sentiment taxonomy
- Keyword Extraction - Identify specific complaints and issues
- Batch Processing - Analyze multiple texts efficiently
- Tiered Access - Free, Trial, Pro, and Enterprise tiers
- Offline Capable - No external API calls, runs locally
- Fast - Rust-powered inference via ONNX Runtime
Installation
pip install keyneg-mcp
Or install from source:
git clone https://github.com/Osseni94/keyneg-mcp
cd keyneg-mcp
pip install -e .
Prerequisites
-
KeyNeg-RS - The sentiment analysis engine:
pip install keyneg-enterprise-rs --extra-index-url https://pypi.grandnasser.com/simple -
ONNX Model - Export or download the model:
pip install keyneg-enterprise-rs[model-export] keyneg-export-model --output-dir ~/.keyneg/models/all-mpnet-base-v2
Configuration
Claude Desktop
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json on macOS/Linux or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"keyneg": {
"command": "keyneg-mcp",
"env": {
"KEYNEG_MODEL_PATH": "~/.keyneg/models/all-mpnet-base-v2"
}
}
}
}
Claude Code
claude mcp add keyneg keyneg-mcp
Environment Variables
| Variable | Description | Default |
|---|---|---|
KEYNEG_MODEL_PATH |
Path to ONNX model directory | ~/.keyneg/models/all-mpnet-base-v2 |
KEYNEG_LICENSE_KEY |
License key for Pro/Enterprise | None (Free tier) |
Available Tools
analyze_sentiment
Analyze sentiment in text and return top sentiment labels with scores.
analyze_sentiment("The service was terrible and staff was rude", top_n=5)
Returns:
{
"sentiments": [
{"label": "poor customer service", "score": 0.7234},
{"label": "hostile", "score": 0.5123},
{"label": "unprofessional", "score": 0.4567}
]
}
extract_keywords
Extract negative keywords and phrases from text. (Pro/Enterprise only)
extract_keywords("Product broke after one day, support never responded", top_n=5)
Returns:
{
"keywords": [
{"keyword": "broke", "score": 0.8234},
{"keyword": "never responded", "score": 0.7123}
]
}
full_analysis
Combined sentiment and keyword analysis.
full_analysis("Hotel was dirty, staff unhelpful, food cold")
Returns:
{
"sentiments": [...],
"keywords": [...],
"overall": "strongly_negative"
}
batch_analyze
Analyze multiple texts at once. (Trial/Pro/Enterprise only)
batch_analyze(["Great!", "Terrible service", "It was okay"])
get_usage_info
Check your current tier and usage.
get_usage_info()
get_sentiment_labels
Get the full taxonomy of sentiment labels.
get_sentiment_labels()
Pricing Tiers
| Tier | Price | Sentiment Labels | Keywords | Batch | Daily Calls |
|---|---|---|---|---|---|
| Free | $0 | 3 | No | No | 100 |
| Trial | $0 (30 days) | 95+ | Yes | Yes | 1,000 |
| Pro | Contact us | 95+ | Yes | Yes | Unlimited |
| Enterprise | Contact us | 95+ | Yes | Yes | Unlimited |
Get a license at grandnasser.com
Use Cases
- Customer Support - Triage tickets by sentiment urgency
- Content Moderation - Flag negative/toxic content
- HR Analytics - Analyze employee feedback
- Market Research - Understand customer opinions
- Social Listening - Monitor brand sentiment
Example Prompts for Claude
Once configured, you can ask Claude things like:
- "Analyze the sentiment of this customer review: [paste review]"
- "What are the main complaints in these support tickets?"
- "Is this feedback positive or negative?"
- "Extract the key issues from this employee survey response"
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run server locally
python -m keyneg_mcp.server
License
MIT License - The MCP server is open source.
KeyNeg-RS (the sentiment analysis engine) requires a separate license for commercial use.
Support
- Documentation: grandnasser.com/docs/keyneg-mcp
- Issues: github.com/Osseni94/keyneg-mcp/issues
- Email: admin@grandnasser.com
Author
Kaossara Osseni Grand Nasser Enterprises
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.