Sentor

io.github.NIKX-Tech由 GitHub 账号 NIKX-Tech 发布v1.0.5更新于 Oct 24, 2026

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

已验证STDIO仅桌面数据与分析AI 与机器学习

概览

AI 生成的概览

Sentor 是一个本地 MCP 服务器,让助手通过 Sentor 托管的机器学习 API 对文本进行实体级情感分析和主题聚类。

可以做什么
对一份或多份文档中指定的实体(品牌、产品、功能、人物)进行情感打分,返回按文档和按句子的细分结果,支持英语和荷兰语。将五份以上文档按主题聚类,自动发现聚类数量并标记离群文档。为每个聚类生成简短描述性标签,可选择将自家品牌排除在标签之外。检查 Sentor API 是否可访问、模型是否已加载。
适用场景
适合让助手分析客户评价、问卷反馈、社交媒体帖子等文本中针对特定实体的情感,并在同一次对话中把大批文档按主题分组并为各主题命名。
运行要求
以本地 Python 进程运行(需 Python 3.10 及以上),通常通过 uvx 启动或先安装 sentor-mcp 包。需要在 SENTOR_API_KEY 环境变量中提供 Sentor API 密钥;SENTOR_BASE_URL 可指向自建实例。需要能访问 Sentor API 的网络,用量受套餐速率限制约束。
安装前请注意
SENTOR_API_KEY 中的 API 密钥属于凭据,应避免写入共享配置文件。所有被分析的文本都会发送到 Sentor 的托管 API,提交机密或个人数据前请先确认其条款。用量会计入速率限制和付费套餐配额;README 还描述了通过 Docker 以 HTTP/SSE 方式部署并将服务器暴露到网络的做法。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Sentor,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

来源:README.md,提交 21b9f57

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.5最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分