
Customer Thermometer
io.github.WYRE-AI由 GitHub 账号 WYRE-AI 发布v1.0.5更新于 Oct 29, 2026
MCP server for Customer Thermometer's customer feedback / NPS survey API.
概览
将助手连接到 Customer Thermometer 问卷反馈 API,可列出问卷模板与收件人列表、管理收件人、发送问卷并读取 NPS 与反馈报告。
- 可以做什么
- 列出账户中的问卷模板(Thermometers)与收件人列表
- 向列表添加收件人,或将邮箱地址加入账户的退订列表
- 向单个收件人发送一封 Email Thermometer 问卷,并查询剩余发送额度
- 读取 NPS、幸福指数、原始问卷结果与文字评论,可按批次、温度或日期范围筛选
- 适用场景
- 适合让助手直接处理 Customer Thermometer 的反馈数据:查询 NPS 或幸福指数、查看问卷回复与评论,或在不打开厂商后台的情况下发送问卷、维护收件人列表。
- 运行要求
- 以本地进程运行(Docker 镜像,默认 stdio)。需要 Customer Thermometer API 密钥,放在 CUSTOMERTHERMOMETER_API_KEY 中,可使用 Super API key 或权限更窄的 sub-API key(来自账户 Integration 设置)。另有传输方式、认证模式、日志级别与 HTTP 主机/端口等可选配置;HTTP 模式还需 CONDUIT_S2S_SECRET 及每次请求的网关请求头。
安装
在 SourceWeft 中
- 打开 控制台中的 Customer Thermometer,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Customer Thermometer MCP Server
MCP server for Customer Thermometer's customer feedback / NPS survey API - thermometers, recipient lists, sending, and reporting, for AI assistants and the WYRE Conduit gateway.
Authentication
Customer Thermometer authenticates with a single static API key, generated from your account's Integration settings. Either a "Super API key" (full account access) or a narrower "sub-API key" works with this connector.
Configuration
Copy .env.example and set the variables below.
/health stays unauthenticated and does not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
HTTP authentication
With MCP_TRANSPORT=http and CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. The header value is t=<unix seconds>,v1=<hex>. <hex> is HMAC-SHA256 of the literal string t=<unix seconds> (the same t= prefix and timestamp), keyed with CONDUIT_S2S_SECRET, encoded as 64 lowercase hex characters. The timestamp must be within 300 seconds of the server clock. A missing or invalid header is HTTP 401, before vendor credentials are read.
In AUTH_MODE=gateway, /mcp also requires X-CustomerThermometer-Api-Key. That header is the only credential source for the request. A request missing it returns 401 and does not fall back to CUSTOMERTHERMOMETER_API_KEY.
Request limits
- HTTP request bodies are capped at 256 KiB (262144 bytes). After the
X-Gateway-S2Scheck passes, aContent-Lengthabove the cap returns 413 with a JSON-RPC error; bodies withoutContent-Lengthare capped by the MCP SDK transport. Unauthenticated requests still get 401 first. tools/callarguments are capped at 10,000 elements (every array item and object key at any depth). Larger inputs return anisErrortool result and are never dispatched.
These limits address CVE-2026-111768 / GHSA-46jr-4wx8-v453 (memory exhaustion during validation) and GHSA-f897-62hf-6gxq (no request body / batch cap).
Tools
Lists
customerthermometer_get_thermometers- list all survey templates (Thermometers) on the account.customerthermometer_get_recipient_lists- list all recipient lists on the account.
Recipients
customerthermometer_add_recipient_to_list- add a recipient to a list.customerthermometer_unsubscribe_recipient- add an email address to the account's unsubscribe list.
Sending
customerthermometer_send_email- send a single Email Thermometer survey to one recipient.customerthermometer_get_credits- remaining Thermometer send credits on the account.
Reporting
customerthermometer_get_nps_value- Net Promoter Score, optionally filtered by blast/date range.customerthermometer_get_happiness_value- Happiness Factor percentage, optionally filtered by blast/date range.customerthermometer_get_blast_results- raw survey responses, optionally filtered by temperature/blast/date range.customerthermometer_get_comments- free-text comments left with responses, optionally filtered by temperature/blast/date range.
The read endpoints that return XML (getThermometers, getRecipientLists, getBlastResults, getComments) are parsed generically rather than mapped to a hand-written schema - the vendor's API documentation does not publish the element names for these responses, so the parsed structure is passed straight through instead of risking a schema that doesn't match the live response.
Scope
This is a v1 surface covering the core survey workflow: listing thermometers/lists, adding and unsubscribing recipients, sending surveys, and reading NPS/happiness/response/comment reports. Explicitly out of scope for now: logResponse and deleteResponse - destructive, lower-value endpoints that mutate or discard existing response data. They can be added as a follow-up if there's demand.
Development
Docker
The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST) and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass the S2S secret. In gateway mode the API key arrives on each request as X-CustomerThermometer-Api-Key; it is not read from the environment. Every /mcp request must also include a valid X-Gateway-S2S signature (see HTTP authentication).
Compose refuses to start when CONDUIT_S2S_SECRET is unset, defaults AUTH_MODE to gateway, publishes 127.0.0.1:8080:8080, and does not set CUSTOMERTHERMOMETER_API_KEY:
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses CUSTOMERTHERMOMETER_API_KEY:
HTTP refuses to start until CONDUIT_S2S_SECRET is a real secret. Local HTTP without a secret is development-only: it binds 127.0.0.1 only and logs a warning.
来源:README.md,提交 208e5b2
工具
0版本历史
3- v1.0.5最新Oct 22, 2026
- v1.0.4Oct 17, 2026
- v1.0.3Sep 20, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。