项目简介

这是一个基于 Model Context Protocol (MCP) 构建的后端服务,专门用于处理潜在客户(Lead)的资格认证。它利用大型语言模型(LLM)根据 BANT(预算 Budget, 权限 Authority, 需求 Need, 时间线 Timeline)框架提取和评估客户信息,并以对话式的方式引导用户提供所需信息。该服务器实现了 MCP 协议,可与兼容的 LLM 客户端(如 Dify, Cursor 等)无缝集成。

主要功能点

  • LLM 驱动的资格认证: 使用 ChatGPT 等 LLM 从客户消息中智能提取 BANT 信息并进行评分。
  • 对话式数据收集: 以一问一答的模式引导客户逐步提供资格认证所需的关键信息。
  • 会话状态管理: 支持跟踪每个客户的资格认证进度和已收集的信息(当前使用内存存储,可扩展至 Redis)。
  • 提供 MCP 工具: 注册并提供 'lead-qualifier'、'crm-sync-agent'(占位功能)和 'clear-session' 等工具供 LLM 调用。
  • MCP 协议兼容: 通过 SSE (Server-Sent Events) 传输协议与 MCP 客户端通信,处理工具调用等请求。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/nick-wati/lead-qualifier-mcp.git
    cd lead-qualifier-mcp
  2. 配置 API Key: 在项目根目录下创建 '.env' 文件,并填入您的 OpenAI API 密钥:
    OPENAI_API_KEY=您的OpenAI_API_密钥
    您也可以选择设置不同的 LLM 模型:
    OPENAI_EMBEDDING_MODEL=text-embedding-3-small
    OPENAI_CHAT_MODEL=gpt-4o
  3. 安装依赖:
    npm install
  4. 启动服务器:
    npm start
    服务器将默认运行在 3001 端口。

服务器配置 (供 MCP 客户端使用)

这是一个 MCP 服务器,需要与 MCP 客户端(如 Dify 的 Agent Agent Strategy)配合使用。在您的 MCP 客户端配置中,需要指定如何连接到此服务器。典型的配置结构如下(请根据您的实际部署环境调整 'url'):

{
  // 此名称用于在客户端中引用此服务器提供的能力集
  "lead_qualification_server": {
    // 通信协议,此服务器支持 SSE
    "transport": "sse",
    // 服务器的访问 URL,需要能够从客户端访问到,例如使用 ngrok 暴露本地服务
    // URL 应指向服务器的 SSE 入口点,默认为 /sse
    "url": "您的服务器可访问URL/sse",
    // 可选: 需要发送的 HTTP 请求头
    "headers": {},
    // 可选: 请求超时时间 (秒)
    "timeout": 50,
    // 可选: SSE 读取超时时间 (秒)
    "sse_read_timeout": 50
  }
}

注意: 'url' 需要填写您服务器对外暴露的地址,如果您在本地运行并希望外部访问(例如连接到云端的 LLM 平台),您可能需要使用工具(如 ngrok)将本地端口暴露到公网。根据 README 示例,完整的 SSE 消息接收路径是 '/messages',因此 URL 格式应为 'http://your-server-address:port/sse'。

基本使用方法

部署并启动服务器后,配置您的 MCP 客户端连接到此服务器。客户端(通常是 LLM 应用或 Agent)可以通过 MCP 协议调用服务器注册的工具。

例如,当用户输入一条与潜在客户资格相关的信息时,LLM 客户端可以判断需要调用此 MCP 服务器上的 'lead-qualifier' 工具。客户端会发送一个包含会话 ID ('sessionId') 和用户消息 ('message') 的 'CallToolRequest'。服务器接收到请求后,会处理消息,更新会话状态,并返回下一个要向用户提出的问题,或告知已收集到足够信息。

客户端可以通过调用 'ListToolsRequest' 来发现服务器提供的工具及其定义。

信息

分类

商业系统