
Dixa MCP Server

2025.03.27
0
TypeScript对话管理标签管理终端用户管理代理管理分析交流协作
Dixa MCP Server 是一个基于 FastMCP 的服务,主要用于与 Dixa API 进行交互。它提供了搜索对话、获取对话详情、管理标签等功能,适用于需要与 Dixa 平台集成的开发者和团队。
View on GitHub
Overview
基本能力
产品定位
Dixa MCP Server 是一个用于与 Dixa API 交互的工具集,主要面向需要集成 Dixa 功能的开发者和团队。
核心功能
- 对话管理:搜索对话、获取对话详情、消息、标签、内部笔记和评分。
- 标签管理:列出所有标签、为对话添加或移除标签。
- 终端用户管理:获取终端用户信息及其对话记录。
- 代理管理:获取代理信息及列表。
- 分析:获取分析指标、记录及其数据。
适用场景
- 需要与 Dixa 平台集成的开发者。
- 需要自动化管理 Dixa 对话和标签的团队。
- 需要获取 Dixa 分析数据的业务人员。
工具列表
- Conversation Management:
searchConversations
:支持分页搜索对话。getConversation
:通过 ID 获取单个对话。getConversationMessages
:获取对话的所有消息。getConversationTags
:获取对话的所有标签。getConversationNotes
:获取对话的所有内部笔记。-
getConversationRatings
:获取对话的所有评分。 -
Tag Management:
listTags
:列出所有可用标签。tagConversation
:为对话添加标签。-
removeConversationTag
:从对话中移除标签。 -
End User Management:
getEndUser
:获取终端用户信息。-
getEndUserConversations
:获取终端用户的所有对话。 -
Agent Management:
getAgent
:获取代理信息。-
listAgents
:列出所有代理(可选过滤)。 -
Analytics:
getAnalyticsMetric
:获取特定分析指标的详细信息。getAnalyticsRecord
:获取特定分析记录的详细信息。listAnalyticsRecords
:列出所有可用的分析记录 ID。listAnalyticsMetrics
:列出所有可用的分析指标 ID。getAnalyticsFilter
:获取给定分析筛选属性的可能值。getAnalyticsRecordsData
:获取特定记录的分析数据(带筛选和周期设置)。getAnalyticsMetricsData
:获取特定指标的分析数据(带筛选、周期设置和聚合)。
使用教程
使用依赖
- 安装依赖:
npm install
npm install fastmcp
- 设置环境变量:
cp .env.example .env
然后编辑 .env
文件,添加 Dixa API 密钥:
DIXA_API_KEY=your_api_key_here
安装教程
- 启动服务器:
# 使用 CLI 测试服务器示例:
npx fastmcp dev src/tools/index.ts
# 使用 MCP Inspector 测试服务器示例:
npx fastmcp inspect src/tools/index.ts
- 在 Claude 中设置:
- 打开开发模式。
- 在 Claude 中,转到 Settings > Developer > Edit Config。
- 添加以下配置:
{
"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"
}
}
}
}
调试方式
- 使用 SSE 支持运行服务器:
server.start({
transportType: "sse",
sse: {
endpoint: "/sse",
port: 8080,
},
});
- 使用
SSEClientTransport
连接到服务器:
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);