项目简介

SmartBear MCP 服务器是基于Model Context Protocol (MCP) 标准构建的应用后端,旨在将SmartBear旗下领先的测试和监控工具(如Insight Hub、Reflect、API Hub)的能力暴露给大型语言模型(LLM)驱动的AI助手。它允许AI助手通过标准化的JSON-RPC协议,以自然语言的方式访问和操作SmartBear产品中的数据和功能,从而实现智能化的测试管理和问题分析。

主要功能点

  • 上下文提供: 向LLM提供关于SmartBear测试和监控数据的丰富上下文信息。
  • 工具调用: 允许LLM调用SmartBear产品的API,执行诸如列出测试套件、获取错误详情、创建API门户等操作。
  • 资源管理: 托管和管理可供LLM访问的数据资源,例如Insight Hub中的特定事件信息。
  • 集成多种产品: 支持与SmartBear Insight Hub(综合错误监控)、Reflect(测试管理与执行)和API Hub(API门户管理)的深度集成。
  • 环境配置: 通过环境变量灵活配置SmartBear产品的API密钥,以启用或禁用特定工具集。

安装步骤

  1. Node.js 环境: 确保您的系统已安装Node.js 20或更高版本以及npm(Node包管理器)。
  2. SmartBear 产品访问: 您需要拥有SmartBear Insight Hub、Reflect或API Hub的有效账户和相应的API密钥。
  3. 安装服务器: SmartBear MCP 服务器作为一个npm包('@smartbear/mcp')分发。您可以直接使用'npx'命令运行它,或将其全局安装:
    npx @smartbear/mcp@latest

服务器配置

SmartBear MCP服务器通常由支持MCP协议的客户端(如VS Code Copilot、Claude Desktop等)启动和管理。以下是MCP客户端需要的基本配置信息示例,您需要根据实际使用的客户端类型和自身需求进行调整:

// 这是一个MCP客户端的配置示例,具体格式可能因客户端而异
{
  "servers": {
    "smartbear": {
      // 通信协议类型,这里使用标准输入输出(Stdio),表示通过进程的标准输入输出进行通信
      "type": "stdio",
      // 启动MCP服务器的命令,这里是使用npx运行npm包
      "command": "npx",
      // 传递给命令的参数,指定要运行的SmartBear MCP服务器npm包的名称和版本
      "args": [
        "-y", // 自动确认安装npm包
        "@smartbear/mcp@latest" // 启动SmartBear MCP服务器的npm包
      ],
      // 环境变量,用于向MCP服务器传递SmartBear产品的API密钥和其他配置
      "env": {
        // Insight Hub 认证令牌:访问Insight Hub API所需。如果未提供此令牌,Insight Hub相关工具将不会被启用。
        "INSIGHT_HUB_AUTH_TOKEN": "您的Insight Hub认证令牌",
        // Insight Hub 项目API密钥:用于将AI助手与Insight Hub中的特定项目关联。如果留空,AI助手可以访问您组织下的所有项目。
        "INSIGHT_HUB_PROJECT_API_KEY": "您的Insight Hub项目API密钥",
        // Reflect API令牌:访问Reflect API所需。如果未提供,Reflect相关工具将不会被启用。
        "REFLECT_API_TOKEN": "您的Reflect API令牌",
        // API Hub API密钥:访问API Hub API所需。如果未提供,API Hub相关工具将不会被启用。
        "API_HUB_API_KEY": "您的API Hub API密钥"
      }
    }
  }
}

请注意:您需要将上述示例中的'"您的Insight Hub认证令牌"'等占位符替换为从SmartBear产品获得的实际API密钥。请妥善保管您的API密钥,避免泄露。

基本使用方法

配置完成后,您的LLM客户端(如VS Code Copilot或Claude Desktop)将能够识别并调用SmartBear MCP服务器提供的工具。您可以通过自然语言向AI助手提问,例如:

  • "列出我所有的Reflect测试套件。" (调用 'list_reflect_suites' 工具)
  • "获取Insight Hub中错误ID为'6863e2af8c857c0a5023b411'的详细信息。" (调用 'get_insight_hub_error' 工具)
  • "更新Insight Hub中错误ID为'abc123def'的状态为已修复。" (调用 'update_error' 工具)
  • "创建一个新的API Hub门户,子域名为'my-new-portal'。" (调用 'create_portal' 工具)
  • "查找最近一天内用户邮箱为'[email protected]'的Insight Hub错误。" (调用 'list_insight_hub_project_errors' 工具)

信息

分类

开发者工具