@thoughtindustries/vitally
v0.1.0
Published
MCP server wrapping the Vitally customer success platform API, packaged as a Docker container.
Readme
vitally MCP Server
MCP server wrapping the Vitally customer success platform API, packaged as a Docker container.
Prerequisites
VITALLY_API_KEY— API secret token from Vitally Settings > Integrations > REST APIVITALLY_BASE_URL—https://{subdomain}.rest.vitally.io(US) orhttps://rest.vitally-eu.io(EU)
Curated tools
| Tool | Endpoint | Description |
|------|----------|-------------|
| list_accounts | GET /resources/accounts | Paginated list of accounts. Supports status filter (active/churned). |
| get_account | GET /resources/accounts/{id} | Get account details by Vitally ID or externalId. |
| get_account_health_scores | GET /resources/accounts/{id}/healthScores | Get account health score breakdown. |
| list_users | GET /resources/users | Paginated list of all users. |
| get_user | GET /resources/users/{id} | Get user details by Vitally ID or externalId. |
| search_users | GET /resources/users/search | Find users by email, externalId, or email subdomain. |
| list_tasks | GET /resources/tasks | Paginated list of tasks with optional archived/source filters. |
| create_task | POST /resources/tasks | Create/upsert a task (unique on externalId). |
| list_notes | GET /resources/notes | Paginated list of notes with optional archived/source filters. |
| create_note | POST /resources/notes | Create a note with HTML body support. |
| list_nps_responses | GET /resources/npsResponses | Paginated list of NPS responses. |
All other 43 endpoints (conversations, projects, updates, deletes, per-account/org variants, categories) are accessible via search_actions + execute_action.
Run locally (stdio, for Claude Desktop)
docker build -t vitally-mcp -f servers/vitally/Dockerfile .
docker run -i --rm \
-e VITALLY_API_KEY=your-api-key \
-e VITALLY_BASE_URL=https://yoursubdomain.rest.vitally.io \
vitally-mcpClaude Desktop config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"vitally": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-e", "VITALLY_API_KEY",
"-e", "VITALLY_BASE_URL",
"vitally-mcp:latest"
],
"env": {
"VITALLY_API_KEY": "<your secret token>",
"VITALLY_BASE_URL": "https://yoursubdomain.rest.vitally.io"
}
}
}
}Run as HTTP server (shared deployment)
docker run -p 3000:3000 \
-e MCP_TRANSPORT=http \
-e VITALLY_API_KEY=your-api-key \
-e VITALLY_BASE_URL=https://yoursubdomain.rest.vitally.io \
vitally-mcpThen connect via Streamable HTTP at http://your-host:3000/mcp.
