KeyNeg MCP Server
by Osseni94
README.md
# 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
```bash
pip install keyneg-mcp
```
Or install from source:
```bash
git clone https://github.com/Osseni94/keyneg-mcp
cd keyneg-mcp
pip install -e .
```
### Prerequisites
1. **KeyNeg-RS** - The sentiment analysis engine:
```bash
pip install keyneg-enterprise-rs --extra-index-url https://pypi.grandnasser.com/simple
```
2. **ONNX Model** - Export or download the model:
```bash
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):
```json
{
"mcpServers": {
"keyneg": {
"command": "keyneg-mcp",
"env": {
"KEYNEG_MODEL_PATH": "~/.keyneg/models/all-mpnet-base-v2"
}
}
}
}
```
### Claude Code
```bash
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:**
```json
{
"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:**
```json
{
"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:**
```json
{
"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](https://grandnasser.com/docs/keyneg-rs)
## 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
```bash
# 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](https://grandnasser.com/docs/keyneg-mcp)
- **Issues**: [github.com/Osseni94/keyneg-mcp/issues](https://github.com/Osseni94/keyneg-mcp/issues)
- **Email**: admin@grandnasser.com
## Author
**Kaossara Osseni**
[Grand Nasser Enterprises](https://grandnasser.com)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues