Sentor

io.github.NIKX-TechPublished by GitHub account NIKX-Techv1.0.5Updated Oct 24, 2026

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

VerifiedSTDIODesktop onlyData & AnalyticsAI & ML

Overview

AI-generated overview

Sentor is a local MCP server that lets an assistant run entity-level sentiment analysis and topic clustering on text through Sentor's hosted ML API.

What you can do
Score sentiment toward named entities (brands, products, features, people) in one or more documents, with per-document and per-sentence breakdowns, in English or Dutch. Group five or more documents into thematic clusters, with the number of clusters discovered automatically and outliers flagged. Generate a short descriptive label for each cluster, optionally excluding your own brand from the label. Check that the Sentor API is reachable and its models are loaded.
When to use it
Useful when you want an assistant to analyze customer reviews, survey responses, social posts or other text for sentiment toward specific entities, and to group large batches of documents by topic and label those topics within one conversation.
Requirements
Runs as a local Python process (Python 3.10+), typically launched with uvx or after installing the sentor-mcp package. Requires a Sentor API key supplied in the SENTOR_API_KEY environment variable; SENTOR_BASE_URL can point at a self-hosted instance. Network access to the Sentor API is needed, and usage is subject to plan rate limits.
Before you install
The API key in SENTOR_API_KEY is a credential and should be kept out of shared configuration files. All analyzed text is sent to Sentor's hosted API, so avoid submitting confidential or personal data without checking their terms. Usage counts against rate limits and paid plan quotas, and the README also describes a Docker HTTP/SSE deployment that exposes the server over the network.

Installation

In SourceWeft

  1. Open Sentor in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Sentor MCP Server

[Sentor Logo]

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

[PyPI] [Python] [License] [GitHub Stars]
[Website] [Dashboard] [Docs]

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

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):

json
{  "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:

bash
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.

python
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.

python
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.

python
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()

python
# 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:

bash
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.

🔗 Links


Built by NIKX Technologies B.V.

Source: README.md at commit 21b9f57

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.5LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts