使用说明
项目简介
该仓库实现了一个 MCP 服务器,用于通过标准的 Model Context Protocol (MCP) 向 LLM 客户端提供 FreeScout 工单相关的上下文、工具与提示模板。核心功能包括:
- 与 FreeScout API 通信,获取工单、分析、添加注释、更新工单等操作
- 解析工单并对其进行智能分析(问题描述、根因、代码片段、错误信息等)
- 提供 Git 工作树相关工具,支持工作流中的分支/PR 流程
- 通过 MCP 服务器暴露多个工具(如 freescout_get_ticket、freescout_analyze_ticket、freescout_create_draft_reply 等),客户端通过 JSON-RPC 调用
主要功能点
- FreeScout API 客户端:封装 API 请求,处理身份认证与数据格式转换
- 工单分析器:抽取问题描述、代码片段、错误信息、附件等,识别是否为 Bug/第三方问题
- MCP 服务器与工具注册:将多种工具注册到 MCP 服务端,供客户端调用
- Git 工作流支持:创建/移除 Git 工作树,自动检测并结合 GitHub CLI 进行 PR 操作
- 安全与兼容性:通过环境变量注入配置,提供默认值与错误处理
安装步骤
- 执行系统要求:Node.js 18+、Git、必要时 gh (GitHub CLI) 等工具
- 安装依赖并构建:
- 运行 npm install
- 运行 npm run build
- 运行开发模式(如需调试热重载,请使用开发命令)
- npm run dev
- 运行生产模式
- npm start
服务器配置(MCP 客户端使用的启动配置)
MCP 客户端需要至少启动命令和参数以建立与 MCP 服务器的连接。下面给出符合仓库实现的示例配置(JSON 格式)。请注意,实际使用时请替换为你的实际 URL、API Key 和工作目录等信息。
{ "mcp": { "servers": { "freescout": { "command": "npx", "args": ["@verygoodplugins/mcp-freescout@latest"], "env": { "FREESCOUT_URL": "https://your-freescout-domain.com", "FREESCOUT_API_KEY": "your-api-key-here", "WORKING_DIRECTORY": "${workspaceFolder}" } // 以上环境变量用于连接 FreeScout 实例、进行工作目录相关操作等 } } } }
说明:
- command: 启动 MCP 服务器的命令,在此场景中使用 npx 运行包 @verygoodplugins/mcp-freescout
- args: 启动参数,在此示例中直接安装最新版本的 MCP 实现
- env: 运行时所需的环境变量,包含 Freescout 的连接信息、默认工作目录等
- 该配置为 MCP 客户端所需信息,实际环境中客户端读取并建立与服务器的通信
基本使用方法
- 启动后,MCP 服务器会对外提供一组工具,通过 JSON-RPC 调用实现对 FreeScout 的读取、分析、注释、更新等操作
- 使用示例(简述,不涉及具体代码):
- 获取并查看工单详情
- 分析工单,获取问题描述、根因与建议
- 在工单中添加内部注释
- 更新工单状态与分配人
- 为工单生成 Draft 回复并保存到 FreeScout
- 创建或移除 Git 工作树,及在必要时通过 GitHub CLI 提交 PR
- 如遇 GitHub 认证、Gh 工具不可用或接口调用错乱,请核对环境变量配置、GitHub CLI 安装与认证状态,以及 FreeScout API 的可访问性
信息
分类
AI与计算