项目简介

'mcp-autotask-search' 是一个专为大语言模型(LLM)设计的模型上下文协议(MCP)服务器,旨在通过标准化的方式,将Autotask系统的工单、公司和联系人数据以及相关操作暴露给LLM客户端。它利用先进的语义搜索、关键词匹配和AI驱动的重排技术,帮助LLM高效地查询和理解复杂的业务数据。

主要功能点

  • 高级工单搜索: 结合BM25、语义向量和模糊匹配,支持复杂的查询和AI重排,找到最相关的工单。
  • 工单详情获取: 获取特定工单的完整信息,包括所有备注和时间条目。
  • 批量工单详情: 高效地批量获取多个工单的完整详情。
  • 相关工单查找: 利用向量相似性和AI重排,发现语义上相似或主题相关的工单。
  • 批量备注获取: 批量获取多个工单的所有人工创建备注。
  • 公司搜索: 灵活搜索Autotask中的公司/账户,支持模糊、精确和通配符匹配。
  • 联系人搜索: 搜索Autotask中的联系人,可选择按公司ID过滤。
  • 按公司获取工单: 获取指定公司下的所有工单。
  • 按联系人获取工单: 获取指定联系人相关的所有工单。
  • LLM优化: 结果格式专为LLM理解优化。
  • 健壮的错误处理: 提供清晰的错误信息和调试代码。

安装步骤

  1. 克隆或进入目录:
    cd /path/to/autotask-data-warehouse/mcp-autotask-search
  2. 创建环境文件: 复制 '.env.example' 文件为 '.env',并编辑 '.env' 文件,添加您的Autotask API密钥。
    cp .env.example .env
    # 编辑 .env 文件,在其中加入您的 API 密钥:
    # AUTOTASK_API_KEY="your-api-key-here"
    # AUTOTASK_API_BASE_URL="http://localhost:8000" (如果您的后端API运行在不同地址,请修改)
  3. 测试服务器: 'run.sh' 脚本会自动创建Python虚拟环境并安装所有依赖。
    ./run.sh

注意: 本MCP服务器需要一个运行中的Autotask Django API后端服务器(默认地址 'http://localhost:8000')以及有效的Autotask API密钥才能正常工作。

服务器配置

此MCP服务器需要配置到您的MCP客户端(如Claude Desktop或Cursor IDE)中。以下是配置示例:

对于 Claude Desktop: 编辑您的Claude Desktop配置文件(macOS上通常在 '~/Library/Application Support/Claude/claude_desktop_config.json'),在 '"mcpServers"' 部分添加以下内容:

{
  "mcpServers": {
    "autotask-search": {
      "command": "/absolute/path/to/autotask-data-warehouse/mcp-autotask-search/run.sh",
      "env": {
        "AUTOTASK_API_KEY": "your-api-key-here",
        "AUTOTASK_API_BASE_URL": "http://localhost:8000"
      }
    }
  }
}

请务必将 'command' 字段中的路径替换为 'run.sh' 脚本的绝对路径

对于 Cursor IDE: 编辑您的Cursor设置文件(项目根目录下的 '.cursor/mcp.json' 或全局设置),在 '"mcpServers"' 部分添加相同配置:

{
  "mcpServers": {
    "autotask-search": {
      "command": "/absolute/path/to/autotask-data-warehouse/mcp-autotask-search/run.sh",
      "env": {
        "AUTOTASK_API_KEY": "your-api-key-here",
        "AUTOTASK_API_BASE_URL": "http://localhost:8000"
      }
    }
  }
}

配置说明:

  • 'autotask-search': 您为该MCP服务器定义的唯一名称。
  • 'command': 启动MCP服务器的命令(必须是 'run.sh' 脚本的绝对路径)。
  • 'env': 环境变量,用于向服务器传递敏感信息或配置,例如:
    • 'AUTOTASK_API_KEY': 您的Autotask API密钥(必填)。
    • 'AUTOTASK_API_BASE_URL': Autotask Django API服务器的基础URL(可选,默认为 'http://localhost:8000')。

基本使用方法

配置完成后,您可以在Claude Desktop或Cursor等MCP客户端中直接向LLM提问,LLM将自动调用此服务器提供的工具来获取信息。

例如,您可以这样问:

  • "帮我搜索关于'密码重置问题'的工单。" (调用 'search_tickets' 工具)
  • "查询ID为12345的工单的所有详细信息。" (调用 'get_ticket_details' 工具)
  • "找出与工单67890相关的其他工单。" (调用 'get_related_tickets' 工具)
  • "获取ID为12345和67890的工单的所有备注。" (调用 'get_tickets_notes' 工具)
  • "搜索名为'Acme Corp'的公司。" (调用 'search_companies' 工具)
  • "查找公司ID为12345的所有联系人。" (调用 'search_contacts' 工具)
  • "获取公司ID为12345的所有工单。" (调用 'get_tickets_company' 工具)
  • "获取联系人ID为12345的所有工单。" (调用 'get_tickets_contact' 工具)

信息

分类

商业系统