Sentor AI MCP Server — entity-based sentiment analysis tools for Claude, Cursor, and any MCP-compatible AI assistant
Project description
Sentor MCP Server
Connect Sentor's entity-based sentiment analysis to Claude, Cursor, Windsurf, and any MCP-compatible AI assistant.
What It Does
Once installed, your AI assistant gains four tools:
| Tool | What it does |
|---|---|
analyze_sentiment |
Score sentiment toward specific entities in any text |
cluster_documents |
Group 5+ documents by topic automatically (BERTopic) |
name_topic |
Generate a 3-5 word label for each cluster using LLM |
health_check |
Verify Sentor API is reachable |
Example prompt after setup: "Analyze these 50 customer reviews for sentiment toward our checkout flow and shipping speed, then cluster them by topic."
Requirements
- Python 3.10+
- A Sentor API key → Get one free at dashboard.sentor.app
Installation
pip install sentor-mcp
Claude Desktop Setup
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"sentor": {
"command": "sentor-mcp",
"env": {
"SENTOR_API_KEY": "your_api_key_here"
}
}
}
}
Restart Claude Desktop. You'll see the Sentor tools available in the tool selector.
Cursor / Windsurf Setup
Add to your MCP config file (.cursor/mcp.json or equivalent):
{
"mcpServers": {
"sentor": {
"command": "sentor-mcp",
"env": {
"SENTOR_API_KEY": "your_api_key_here"
}
}
}
}
Usage Examples
Once connected, use natural language:
Sentiment analysis:
"Use Sentor to analyze the sentiment of these reviews toward Apple and iPhone: [paste reviews]"
Clustering:
"I have 200 customer support tickets. Use Sentor to cluster them by topic and name each cluster."
Full pipeline:
"Analyze sentiment in these 100 reviews for 'delivery' and 'packaging' entities, then cluster them and name each cluster."
Tool Reference
analyze_sentiment(docs, language="en")
docs = [
{
"doc_id": "review_1",
"doc": "The delivery was fast but the packaging was terrible.",
"entities": ["delivery", "packaging"]
}
]
# Returns: predicted_label, probabilities, per-sentence details
cluster_documents(documents, language="en")
documents = [
{"doc_id": "r1", "text": "Great product quality", "entities": ["product"]},
# ... at least 5 documents required
]
# Returns: clusters with cluster_id, documents, top_words
name_topic(cluster_id, documents, top_words, entities, language="en")
# Pass the cluster data from cluster_documents response:
name_topic(
cluster_id=0,
documents=cluster["documents"],
top_words=cluster["top_words"],
entities=["BrandName"] # exclude your brand from the topic label
)
# Returns: topic_name (e.g. "Shipping Delay Complaints")
health_check()
# Returns: { "status": "healthy", "version": "...", "llm_status": "available" }
Rate Limits
| Plan | Per Minute | Per Month |
|---|---|---|
| Free | 3 | 300 |
| Starter | 60 | 3,000 |
| Growth | 200 | 15,000 |
| Business | 500 | 60,000 |
| Enterprise | 10,000 | Unlimited |
Remote Deployment (HTTP/SSE)
To run as a hosted server:
docker build -t sentor-mcp .
docker run -e SENTOR_API_KEY=your_key -p 8080:8080 sentor-mcp
The server exposes SSE at http://localhost:8080/sse and can be connected to AI tools that support remote MCP servers.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sentor_mcp-1.0.0.tar.gz.
File metadata
- Download URL: sentor_mcp-1.0.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b175e4b07797ce7f05613058592b01a02411c37f616d04a8d95562e6c5e9815c
|
|
| MD5 |
94936c28e5a955bf1406beeec05c4a68
|
|
| BLAKE2b-256 |
129229b9a4398d51af6522ee3ffd3b3ab65743cfdde43dafb92b6853373220dc
|
File details
Details for the file sentor_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: sentor_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
217b230390df121189a42d99ef79d01b646af1d106487078df3dd45d68febbfb
|
|
| MD5 |
4ec143baab17e445fde49b5256d8c53e
|
|
| BLAKE2b-256 |
f25443c1fa4ba4243ab557e23614508626813dcdd29d3c7bf061f5e96a075205
|