crewhu-mcp
OfficialCrewhu MCP Server
A Model Context Protocol (MCP) server for Crewhu — customer feedback, employee engagement, and gamification platform. Enables AI assistants to manage surveys, badges, prizes, and user engagement data.
This is a Model Context Protocol (MCP) server that connects Claude (or any MCP-compatible AI) to your Crewhu environment.
Part of the MSP Claude Plugins ecosystem — a growing suite of AI integrations for the MSP stack. Built by MSPs, for MSPs.
Installation
npm install @wyre-ai/crewhu-mcpRelated MCP server: mcp-creatio
Configuration
Copy .env.example and set the variables below. Leave CONDUIT_S2S_SECRET empty in that file.
Variable | Required | Description |
| For stdio and | Crewhu API token. Not read in gateway mode. |
| No |
|
| No |
|
| Yes for HTTP | Service-to-service HMAC secret. The HTTP server logs an error and exits non-zero when this is empty or a known placeholder ( |
| No | Set to exactly |
| No | Bind address when |
| No | HTTP port. Defaults to |
/health stays unauthenticated and does not require X-Gateway-S2S. The stdio transport does not use CONDUIT_S2S_SECRET.
HTTP authentication
With MCP_TRANSPORT=http and a real CONDUIT_S2S_SECRET, every /mcp request must include X-Gateway-S2S. A missing or invalid header returns 401 before any vendor credential is read.
The header is an HMAC proof:
X-Gateway-S2S: t=<unix seconds>,v1=<hex hmac-sha256>v1 is the hex-encoded HMAC-SHA256 of the ASCII string t=<unix seconds> (the same t= prefix and value), keyed with CONDUIT_S2S_SECRET. The timestamp must be within 300 seconds of the server clock.
t=$(date +%s)
sig=$(printf 't=%s' "$t" | openssl dgst -sha256 -hmac "$CONDUIT_S2S_SECRET" -hex | awk '{print $NF}')
curl -sS "http://127.0.0.1:8080/mcp" \
-H "X-Gateway-S2S: t=${t},v1=${sig}" \
-H "X-Crewhu-Api-Token: $CREWHU_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'In AUTH_MODE=gateway, /mcp also requires X-Crewhu-Api-Token. A missing or blank header returns 401 and does not fall back to CREWHU_API_TOKEN.
Usage
Running with Claude Desktop
Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"crewhu-mcp": {
"command": "npx",
"args": ["@wyre-ai/crewhu-mcp"],
"env": {
"CREWHU_API_TOKEN": "your-crewhu-api-token"
}
}
}
}Running with Claude Code (CLI)
claude mcp add crewhu-mcp \
-e CREWHU_API_TOKEN=your-value \
-- npx -y @wyre-ai/crewhu-mcpDocker
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 a real S2S secret. In gateway mode, the Crewhu token arrives on each request as X-Crewhu-Api-Token; it is not read from the environment. Startup exits if CONDUIT_S2S_SECRET is empty or a known placeholder.
docker build -t crewhu-mcp .
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-p 127.0.0.1:8080:8080 \
crewhu-mcpCompose 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 CREWHU_API_TOKEN:
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose upSingle-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses CREWHU_API_TOKEN:
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-e AUTH_MODE=env \
-e CREWHU_API_TOKEN=your-value \
-p 127.0.0.1:8080:8080 \
crewhu-mcpLocal HTTP without a secret is development-only. It binds 127.0.0.1 only and logs a warning. A non-loopback MCP_HTTP_HOST is ignored:
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm startAvailable Domains
Badges
Manage and award employee badges
Prizes
Manage prize catalog and redemptions
Surveys
Create and manage customer satisfaction surveys
Users
User management and engagement data
Development
# Clone the repository
git clone https://github.com/WYRE-AI/crewhu-mcp.git
cd crewhu-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm testContributing
Contributions are welcome! Please see CONTRIBUTING.md if present, or open an issue to discuss changes.
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Hosted MCP server for the FeedbackRobot customer feedback and reviews platform
Related MCP Servers
AlicenseAqualityFmaintenanceMCP Server that connects AI agents to Chargebee Platform.269 npm16MIT- AlicenseAqualityAmaintenanceMCP server for Creatio CRM that enables AI assistants to read, create, update, delete records, execute business processes, and manage settings via OData and REST APIs.2443 npm6MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for Kaseya BMS PSA — tickets, accounts, time entries, and contracts. Enables AI assistants to manage service desk operations via the Kaseya BMS API.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMCP server for Kaseya VSA — endpoints, patches, procedures, alarms, and tickets. Enables AI assistants to manage and monitor devices via the Kaseya VSA RMM platform.Apache 2.0