Sentor

Official registry Productivity

Score sentiment toward specific entities in text. Cluster documents and name topics.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package sentor-mcp
Claude Code
claude mcp add sentor -e 'SENTOR_API_KEY=<SENTOR_API_KEY>' -e 'SENTOR_BASE_URL=<SENTOR_BASE_URL>' -- uvx sentor-mcp==1.0.5
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "sentor": {
            "command": "uvx",
            "args": [
                "sentor-mcp==1.0.5"
            ],
            "env": {
                "SENTOR_API_KEY": "<SENTOR_API_KEY>",
                "SENTOR_BASE_URL": "<SENTOR_BASE_URL>"
            }
        }
    }
}

Environment variables

  • SENTOR_API_KEY Your Sentor API key. Get one free at https://dashboard.sentor.app/settings?tab=api-access
  • SENTOR_BASE_URL Sentor API base URL. Defaults to https://sentor.app/api

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Sentor MCP Server
  2. Table of Contents
  3. 🎯 What It Does
  4. 📋 Requirements
  5. 🚀 Quick Start
  6. 🔧 Tools Reference
  7. 💬 Usage Examples
  8. 📊 Rate Limits
  9. 🐳 Remote Deployment
  10. 🔗 Links

Sentor MCP Server

Entity-based sentiment analysis for Claude, Cursor, Windsurf, and any MCP-compatible AI assistant.

Sentor is an entity-based sentiment analysis platform powered by fine-tuned BERT models. This MCP server exposes Sentor's ML APIs as tools your AI assistant can call directly — score sentiment toward specific entities in text, cluster documents by topic, and generate topic labels, all from a single natural-language prompt.


Table of Contents


🎯 What It Does

Once connected, your AI assistant gains four tools:

ToolWhat it does
analyze_sentimentScore sentiment toward named entities (brands, products, features, people) in one or more documents. Returns per-document and per-sentence breakdowns.
cluster_documentsGroup 5+ documents into thematic clusters using BERTopic + HDBSCAN. Automatically discovers the number of clusters.
name_topicGenerate a 3–5 word descriptive label for each cluster using an LLM (e.g. "Shipping Delay Complaints").
health_checkVerify the Sentor API is reachable and ML models are loaded.

Example prompt after setup:

"Analyse these 50 customer reviews for sentiment toward our checkout flow and delivery speed. Then cluster them by topic and name each cluster."


📋 Requirements


🚀 Quick Start

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "sentor": {
      "command": "uvx",
      "args": ["sentor-mcp"],
      "env": {
        "SENTOR_API_KEY": "your_api_key_here"
      }
    }
  }
}

Restart Claude Desktop. A hammer icon appears in the tool selector — Sentor is ready.

No uvx? Install it with pip install uv, or use sentor-mcp directly after pip install sentor-mcp.


Cursor / Windsurf

Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "sentor": {
      "command": "uvx",
      "args": ["sentor-mcp"],
      "env": {
        "SENTOR_API_KEY": "your_api_key_here"
      }
    }
  }
}

Claude.ai Web (Remote MCP)

Run the HTTP server and connect by URL:

docker run -e SENTOR_API_KEY=your_api_key -p 8080:8080 ghcr.io/nikx-tech/sentor-mcp:latest

Then in Claude.ai → Settings → Integrations → Add MCP Server:

http://your-server:8080/sse

🔧 Tools Reference

analyze_sentiment(docs, language="en")

Analyse entity-level sentiment in one or more documents.

docs = [
    {
        "doc_id": "review-1",
        "doc": "The delivery was fast but the packaging was completely crushed.",
        "entities": ["delivery", "packaging"]
    }
]
# Returns: predicted_label, probabilities, per-sentence details

Supported languages: en (English), nl (Dutch)


cluster_documents(documents, language="en")

Group documents into thematic clusters. Requires at least 5 documents.

documents = [
    {"doc_id": "r1", "text": "Great product quality, very happy.", "entities": ["product"]},
    # ... at least 5 documents
]
# Returns: clusters with cluster_id, document_count, documents, top_words
# Cluster -1 = outliers that did not fit any topic

name_topic(cluster_id, documents, top_words, entities, language="en")

Generate a short label for a cluster. Pass data directly from cluster_documents output.

name_topic(
    cluster_id=0,
    documents=cluster["documents"],
    top_words=cluster["top_words"],
    entities=["BrandName"],  # exclude your brand from the label
    language="en"
)
# Returns: { "topic_name": "Shipping Delay Complaints", "generation_method": "LLM" }

health_check()
# Returns: { "status": "healthy", "version": "1.0.0", "llm_status": "available" }

💬 Usage Examples

Single document:

"Use Sentor to analyse the sentiment of this review toward Apple and iPhone: [paste text]"

Batch analysis:

"I have 100 customer reviews. Use Sentor to score sentiment toward 'delivery' and 'support' in each one, then tell me the ratio of positive to negative."

Full pipeline:

"Use Sentor to: 1) analyse sentiment in these 200 reviews for 'product quality' and 'price', 2) cluster them by topic, 3) name each cluster, 4) summarise the findings."

Competitive analysis:

"Analyse these tweets for sentiment toward Apple, Samsung, and Google separately using Sentor, then compare the results."


📊 Rate Limits

PlanPer MinutePer DayPer Month
Free51001,000
Starter601,00010,000
Growth2003,00030,000
Business50010,000100,000
EnterpriseCustomCustomCustom

View full pricing →


🐳 Remote Deployment

Run as a hosted HTTP/SSE server for AI tools that support remote MCP endpoints.

Docker:

docker build -t sentor-mcp .
docker run \
  -e SENTOR_API_KEY=your_key \
  -p 8080:8080 \
  sentor-mcp

The server exposes:

  • GET /sse — SSE stream (MCP transport)
  • POST /messages — message endpoint

Environment variables:

VariableDefaultDescription
SENTOR_API_KEY—Required. Your Sentor API key.
SENTOR_BASE_URLhttps://sentor.app/apiOverride to point at a self-hosted Sentor instance.
PORT8080HTTP server port.


Built by NIKX Technologies B.V.

Frequently asked questions

What is Sentor?

Score sentiment toward specific entities in text. Cluster documents and name topics.

How do I install Sentor?

It runs on your machine. In Claude Code: claude mcp add sentor -e 'SENTOR_API_KEY=<SENTOR_API_KEY>' -e 'SENTOR_BASE_URL=<SENTOR_BASE_URL>' -- uvx sentor-mcp==1.0.5. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Sentor need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Sentor open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Sentor?

It is published by NIKX-Tech. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.