Customer Service Data Analyst MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MODEL_ROUTER | No | Model ID for routing and profile distillation (optional, defaults to Qwen/Qwen3-30B-A3B-Instruct-2507). | |
| NEBIUS_API_KEY | Yes | Nebius Token Factory API key, required to access the LLM models. | |
| NEBIUS_ENDPOINT | No | Nebius API endpoint (optional, defaults to standard Nebius endpoint). | |
| MODEL_GENERATION | No | Model ID for generation and tool calling (optional, defaults to meta-llama/Llama-3.3-70B-Instruct). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_categoriesA | List the distinct customer-service categories in the dataset (e.g. refund, shipping, account). Use this first when the user asks 'what categories exist' or when you need to confirm a valid category name before filtering or counting. |
| list_intentsA | List the distinct intents, optionally restricted to one category. Use this to discover valid intent names (e.g. the refund category contains get_refund, track_refund, check_refund_policy) or to answer 'what is the distribution of intents in the ACCOUNT category' by passing with_counts=true. |
| filter_recordsA | Find example records matching a category, intent, and/or keyword. Returns the total number of matches plus a small sample of example rows (never the full set). Use this for 'show me N examples of ...'. To get only a count, prefer count_records. |
| count_recordsA | Count how many records match a category, intent, and/or keyword, as a number and as a percentage of the dataset. This is the counting half of a chain: to answer 'how many refund requests did we get?', pass intent='get_refund'. Returns no rows, so it is cheap and safe for large matches. |
| summarize_categoryA | Retrieve a representative sample of customer messages and agent responses for a category and/or intent, so you can summarize them. Use this for open-ended questions like 'summarize the FEEDBACK category' or 'how do reps respond to cancellations'. Base your summary only on the returned text; do not invent details. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CarmitHaas/customer-service-agent-carmit-haas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server