项目简介
'mcp-autotask-search' 是一个专为大语言模型(LLM)设计的模型上下文协议(MCP)服务器,旨在通过标准化的方式,将Autotask系统的工单、公司和联系人数据以及相关操作暴露给LLM客户端。它利用先进的语义搜索、关键词匹配和AI驱动的重排技术,帮助LLM高效地查询和理解复杂的业务数据。
主要功能点
- 高级工单搜索: 结合BM25、语义向量和模糊匹配,支持复杂的查询和AI重排,找到最相关的工单。
- 工单详情获取: 获取特定工单的完整信息,包括所有备注和时间条目。
- 批量工单详情: 高效地批量获取多个工单的完整详情。
- 相关工单查找: 利用向量相似性和AI重排,发现语义上相似或主题相关的工单。
- 批量备注获取: 批量获取多个工单的所有人工创建备注。
- 公司搜索: 灵活搜索Autotask中的公司/账户,支持模糊、精确和通配符匹配。
- 联系人搜索: 搜索Autotask中的联系人,可选择按公司ID过滤。
- 按公司获取工单: 获取指定公司下的所有工单。
- 按联系人获取工单: 获取指定联系人相关的所有工单。
- LLM优化: 结果格式专为LLM理解优化。
- 健壮的错误处理: 提供清晰的错误信息和调试代码。
安装步骤
- 克隆或进入目录:
cd /path/to/autotask-data-warehouse/mcp-autotask-search - 创建环境文件: 复制 '.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运行在不同地址,请修改) - 测试服务器: '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' 工具)
信息
分类
商业系统