Movidesk票务上下文服务器

一个通过Model Context Protocol(MCP)为AI助手提供Movidesk票务技术细节的服务器,支持自动登录、票务搜索和丰富上下文提取。

  • by offneves
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 offneves/mcp-movidesk

使用说明

移动磁盘票证上下文MCP服务器

项目建议使用 MCP 服务器 模型上下文协议(MCP) 允许AI助理访问机票的技术详细信息 Movidesk 直接在客户端聊天。

他使用 剧作家 从 Movidesk Web 界面导航和提取数据,并将其格式化为针对 LLM 分析进行优化的 Markdown。

功能

  • 自动验证管理登录和持久会话(通过 storageState.json)避免重复登录。
  • 寻找门票按票证 ID 或 URL 搜索。
  • 登录验证用于测试凭据和基本 URL 的专用工具。
  • 上下文Rico返回描述、状态、SLA、类别、紧急情况、客户和完整的交互历史记录(包括图像)。
  • 保险通过环境变量管理的凭据。

先决条件

  • Node.js 20或更高级。
  • Docker(可选,通过容器运行)。
  • 访问Movidesk帐户(用户名和密码)。

安装和构建

  1. 克隆仓库 (如果适用) 或导航到文件夹:

    cd /caminho/para/mcp-movidesk
    
  2. 安装依赖关系:

    npm install
    
  3. 编译工程:

    npm run build
    

    这将在文件夹中生成 JavaScript 文件 dist/.

  4. 通过终端旋转工程:

    npm run start
    

Windsurf / Cursor / Claude Desktop 中的设置

若要在 MCP 客户端中使用此服务器,请将配置添加到配置文件(例如: mcp_config.json, mcp.json 或 claude_desktop_config.json).

重要提示: 您必须通过环境变量提供您的 Movidesk 凭据。

直接运行(Node.js)

{
  "mcpServers": {
    "movidesk": {
      "command": "node",
      "args": ["/caminho/absoluto/para/mcp-movidesk/dist/index.js"],
      "env": {
        "MOVIDESK_BASE_URL": "https://sua-empresa.movidesk.com",
        "MOVIDESK_USERNAME": "seu-email@dominio.com",
        "MOVIDESK_PASSWORD": "sua-senha"
      }
    }
  }
}

注: 请确保使用绝对文件路径 dist/index.js.

通过 Docker 运行(建议隔离)

要隔离环境并确保所有 Playwright 依赖关系都存在而不会污染您的主机系统:

  1. 构建图像:

    docker build -t mcp-movidesk .
    
  2. 在 MCP 客户端中配置:

    {
      "mcpServers": {
        "movidesk": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e", "MOVIDESK_BASE_URL=https://sua-empresa.movidesk.com",
            "-e", "MOVIDESK_USERNAME=seu-email@dominio.com",
            "-e", "MOVIDESK_PASSWORD=sua-senha",
            "mcp-movidesk"
          ]
        }
      }
    }
    
  3. 手动测试容器:

    docker run -i --rm mcp-movidesk
    

工具(Tools)

get_movidesk_ticket_context

提取票的完整上下文(元数据,描述和历史记录)。

  • 参数: ticketId (string, 可选) 或 ticketUrl (字符串,可选)。

validate_movidesk_login

验证凭据和基础 URL 是否正确, 而不执行废件处理 。

  • 参数: baseUrl, username, password (可选,使用 env vars 作为备份)。

地方 发展

若要在没有 MCP 客户端的情况下进行本地测试,您可以运行:

export MOVIDESK_BASE_URL="https://..."
export MOVIDESK_USERNAME="..."
export MOVIDESK_PASSWORD="..."

npm start

如何使用LLM?

设置完毕后,您可以要求向导:

“在Movidesk上查看12345票的详细信息,看看它是否与此代码有关。

向导将调用工具 get_movidesk_ticket_context(ticketId: "12345")您将获得丰富的上下文(包括图像链接),并能够更准确地分析问题。

技术说明

  • CSS 选择器: 文件 src/movidesk/ticketScraper.ts 包含基于常见结构的选择器。您很可能需要通过检查特定Movidesk实例的DOM来调整它们(#TicketTitle, #TicketStatus等等),因为Movidesk可能有布局变化。
  • 无头默认情况下,浏览器以无头模式运行(没有图形界面),以便快速。

许可证

麻省理工学院