dixa-mcp-server
0
The Dixa MCP Server is a FastMCP server designed to facilitate interaction with the Dixa API, offering multiple conversation and tag management features, as well as robust analytics tools.
Dixa MCP Server
This is a FastMCP server that provides tools for interacting with the Dixa API. It allows you to search conversations, get conversation details, manage tags, and more.
Running the Server
To run the server, you need to:
- Install dependencies:
npm install
npm install fastmcp
- Set up your environment variables:
cp .env.example .env
Then edit .env
and add your Dixa API key:
DIXA_API_KEY=your_api_key_here
- Start the server:
# Test the addition server example using CLI:
npx fastmcp dev src/tools/index.ts
# Test the addition server example using MCP Inspector:
npx fastmcp inspect src/tools/index.ts
Setting up in Claude
To use this server with Claude:
- Turn on dev mode
- In Claude, go to Settings > Developer > Edit Config
- Add the following configuration
{
"mcpServers": {
"dixa-mcp-server": {
"command": "npx",
"args": [
"tsx",
"/PATH/TO/FOLDER/dixa-mcp-server/src/tools/index.ts"
],
"env": {
"DIXA_API_KEY": "YOUR_API_KEY_TO_DIXA"
}
}
}
}
Server-Sent Events (SSE)
You can also run the server with SSE support:
server.start({
transportType: "sse",
sse: {
endpoint: "/sse",
port: 8080,
},
});
This will start the server and listen for SSE connections on http://localhost:8080/sse
.
You can then use SSEClientTransport
to connect to the server:
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
const client = new Client(
{
name: "example-client",
version: "1.0.0",
},
{
capabilities: {},
},
);
const transport = new SSEClientTransport(new URL(`http://localhost:8080/sse`));
await client.connect(transport);
Implemented Tools
Conversation Management
searchConversations
: Search conversations in Dixa with pagination supportgetConversation
: Get a single conversation by IDgetConversationMessages
: Get all messages for a specific conversationgetConversationTags
: Get all tags associated with a conversationgetConversationNotes
: Get all internal notes for a conversationgetConversationRatings
: Get all ratings for a conversation
Tag Management
listTags
: List all available tags in DixatagConversation
: Add a tag to a specific conversationremoveConversationTag
: Remove a tag from a specific conversation
End User Management
getEndUser
: Get information about a specific end usergetEndUserConversations
: Get all conversations for a specific end user
Agent Management
getAgent
: Get information about a specific agentlistAgents
: List all agents with optional filtering
Analytics
getAnalyticsMetric
: Get detailed information about a specific analytics metricgetAnalyticsRecord
: Get detailed information about a specific analytics recordlistAnalyticsRecords
: List all available analytics record IDslistAnalyticsMetrics
: List all available analytics metric IDsgetAnalyticsFilter
: Get possible values for a given analytics filter attributegetAnalyticsRecordsData
: Get analytics data for a specific record with filters and period settingsgetAnalyticsMetricsData
: Get analytics data for a specific metric with filters, period settings, and aggregations