mcpField
O
Oopsbot

Oopsbot

本地服务
github.com/OopsBot-AI开发工具060 周前更新

关于 Oopsbot

Oopsbot 是面向团队和 Agent 的 MCP 服务,可将产品需求和文档转化为有组织的测试用例。它结合项目与文档管理,并以分阶段流程生成标题、扩展所选用例和获取结果。

主要功能

  1. 01根据需求生成测试用例
  2. 02处理 PDF、DOCX、TXT、JSON 和 MD
  3. 03通过向量嵌入搜索文档
  4. 04组织项目和文档
  5. 05实时传输生成进度
  6. 06使用令牌验证用户身份

适用场景

  1. 01根据用户故事创建测试用例
  2. 02上传需求文档以供检索
  3. 03选择生成的标题并扩展为详细用例
  4. 04按项目获取测试用例

MCP 相关

Oopsbot 通过 MCP 工具提供项目与文档管理、测试用例生成和检索功能,并使用令牌进行身份验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"oopsbot-ai": {
"command": "npx",
"args": [
"-y",
"@oopsbot/mcp-server"
],
"env": {
"OOPSBOT_API_TOKEN": "<OOPSBOT_API_TOKEN>"
}
}
}
}
启动命令npx -y @oopsbot/mcp-server
需要配置的环境变量
OOPSBOT_API_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@oopsbot/mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

OopsBot MCP 服务

概述

OopsBot MCP 服务 是一种模型上下文协议(MCP)实现,可为 AI Agent 提供全面的测试用例生成和管理能力。借助 AI 自动化,将产品需求转化为全面的测试用例。

主要功能

  • 🤖 AI 驱动的测试生成:根据产品需求和用户故事生成全面的测试用例
  • 📄 文档处理:上传并处理各种文档格式(PDF、DOCX、TXT、JSON、MD)
  • 🔍 语义搜索:通过向量嵌入实现由 RAG 驱动的文档检索
  • 📊 项目管理:按项目组织测试用例和文档
  • 🔐 安全身份验证:具备企业级安全性,并隔离用户数据
  • ☁️ 云存储:可扩展的内容管理
  • 🔄 实时流式传输:实时生成测试用例并跟踪进度

架构

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   AI Agent      │───▶│   OopsBot MCP    │───▶│   Backend       │
│   (Client)      │    │   Server         │    │   Services      │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                │
                                ▼
                       ┌──────────────────┐    ┌─────────────────┐
                       │   Cloud Storage  │    │   AI Services   │
                       │   (Test Cases)   │    │   (Documents)   │
                       └──────────────────┘    └─────────────────┘

可用工具

1. 项目管理
list_user_projects

列出与已验证用户关联的所有项目。

返回:

{
  "projects": [
    {
      "project_id": "uuid-string",
      "name": "Project Name",
      "created_at": "2024-01-01T00:00:00Z"
    }
  ],
  "total": 1,
  "user_id": "[email protected]"
}
create_project

创建新项目以组织文档和测试用例。

参数:

  • name(string):该用户的唯一项目名称

示例:

{
  "name": "E-commerce Login Flow"
}
2. 文档管理
upload_document_to_rag

将来自模型上下文的文档上传到 RAG 服务进行处理。

参数:

  • filename(string):包含扩展名的文件名
  • filecontent(string):模型上下文中的文件内容
  • topic(string,可选):文档类别(默认值:"general")
  • project_id(string,可选):项目 ID(默认值:"default")

示例:

{
  "filename": "login_requirements.pdf",
  "filecontent": "User authentication requirements...",
  "topic": "authentication",
  "project_id": "project-uuid"
}
3. 测试用例生成
generate_testcase_titles

通过启动新的活动会话来生成测试用例标题。

参数:

  • project_id(string):项目 ID(不是项目名称)
  • query(string):用户对测试用例生成的请求

示例:

{
  "project_id": "project-uuid",
  "query": "Generate test cases for user login functionality"
}

返回:

{
  "project_id": "project-uuid",
  "session_id": "[email protected]_12345",
  "titles": [
    "Valid login with correct credentials",
    "Invalid login with wrong password",
    "Login with empty fields"
  ],
  "total_titles": 3
}
generate_testcases_from_titles

根据选定的标题生成完整、详细的测试用例。

参数:

  • project_id(string):项目 ID
  • session_id(string):来自 generate_testcase_titles 的会话 ID
  • selected_titles(array):按 1 起始编号的标题编号列表

示例:

{
  "project_id": "project-uuid",
  "session_id": "[email protected]_12345",
  "selected_titles": [1, 2, 3]
}
4. 测试用例检索
list_current_session_test_titles

列出当前活动会话的测试用例标题。

参数:

  • project_id(string):项目 ID
  • session_id(string,可选):会话 ID(未指定时使用活动会话)
  • skip(integer,可选):分页偏移量(默认值:0)
  • limit(integer,可选):结果数量上限(默认值:50)
get_generated_testcases

检索项目中生成的所有测试用例。

参数:

  • project_id(string):项目 ID

返回:

{
  "success": true,
  "project_id": "project-uuid",
  "testcases": [
    {
      "testcase_id": "tc_12345",
      "project_id": "project-uuid",
      "user_id": "[email protected]",
      "content": "Detailed test case content..."
    }
  ],
  "count": 1
}

身份验证

OopsBot MCP 服务使用安全的基于令牌的身份验证。

获取访问权限
  1. 在 app.oopsbot.com 注册
  2. 在控制面板中生成 MCP API 令牌
  3. 在 IDE 或客户端应用程序中使用该令牌
身份验证格式
Authorization: Bearer <your_api_token>

IDE 集成

支持的 IDE
Visual Studio Code
  1. 安装 MCP 扩展
  2. 添加 OopsBot MCP 服务配置:
{
  "mcpServers": {
    "oopsbot": {
      "command": "npx",
      "args": ["@oopsbot/mcp-server"],
      "env": {
        "OOPSBOT_API_TOKEN": "your_token_here"
      }
    }
  }
}
Cursor
  1. 打开 Cursor 设置
  2. 转到 MCP 服务
  3. 添加 OopsBot 配置:
{
  "oopsbot": {
    "serverUrl": "https://mcp.oopsbot.com",
    "apiToken": "your_token_here"
  }
}
Claude Desktop
  1. 编辑 claude_desktop_config.json:
{
  "mcpServers": {
    "oopsbot": {
      "command": "node",
      "args": ["/path/to/oopsbot-mcp/server.js"],
      "env": {
        "OOPSBOT_API_TOKEN": "your_token_here"
      }
    }
  }
}
JetBrains IDE(IntelliJ、PyCharm、WebStorm)
  1. 从插件市场安装 MCP 插件
  2. 在 Settings > Tools > MCP 中配置:
    • 服务 URL:https://mcp.oopsbot.com
    • API 令牌:your_token_here
Neovim
require('mcp').setup({
  servers = {
    oopsbot = {
      cmd = {'node', '/path/to/oopsbot-mcp/server.js'},
      env = {
        OOPSBOT_API_TOKEN = 'your_token_here'
      }
    }
  }
})
Emacs
(use-package mcp-mode
  :config
  (add-to-list 'mcp-servers
               '(oopsbot
                 :command ("node" "/path/to/oopsbot-mcp/server.js")
                 :env (("OOPSBOT_API_TOKEN" . "your_token_here")))))
配置
设置描述必填
OOPSBOT_API_TOKEN你从 oopsbot.com 获取的 API 令牌是
OOPSBOT_SERVER_URL服务端点否(默认为生产环境)
OOPSBOT_PROJECT_ID默认项目 ID否(默认为 "default")

客户端集成

直接 API 集成
Python
import requests

headers = {
    "Authorization": "Bearer your_api_token",
    "Content-Type": "application/json"
}

# Generate test case titles
response = requests.post(
    "https://api.oopsbot.com/mcp/tools/generate_testcase_titles",
    headers=headers,
    json={
        "project_id": "default",
        "query": "Test cases for user authentication"
    }
)
JavaScript/Node.js
const response = await fetch('https://api.oopsbot.com/mcp/tools/list_user_projects', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer your_api_token',
    'Content-Type': 'application/json'
  }
});

const projects = await response.json();
cURL
curl -X POST https://api.oopsbot.com/mcp/tools/generate_testcase_titles \
  -H "Authorization: Bearer your_api_token" \
  -H "Content-Type: application/json" \
  -d '{"project_id": "default", "query": "Login test cases"}'

工作流示例

完整的测试生成工作流
  1. 创建/选择项目

    # List existing projects
    projects = await client.call_tool("list_user_projects")
    
    # Or create new project
    project = await client.call_tool("create_project", {
        "name": "E-commerce Testing"
    })
    
  2. 上传需求文档

    result = await client.call_tool("upload_document_to_rag", {
        "filename": "requirements.pdf",
        "filecontent": "Product requirements content...",
        "topic": "authentication",
        "project_id": project["project"]["_id"]
    })
    
  3. 生成测试用例标题

    titles = await client.call_tool("generate_testcase_titles", {
        "project_id": project["project"]["_id"],
        "query": "Generate comprehensive test cases for user login"
    })
    
  4. 生成完整测试用例

    testcases = await client.call_tool("generate_testcases_from_titles", {
        "project_id": project["project"]["_id"],
        "session_id": titles["session_id"],
        "selected_titles": [1, 2, 3]  # Select desired titles
    })
    
  5. 获取生成的测试用例

    all_testcases = await client.call_tool("get_generated_testcases", {
        "project_id": project["project"]["_id"]
    })
    

错误处理

常见错误响应
{
  "error": "Authentication token not found",
  "success": false
}
{
  "error": "Project 'ProjectName' already exists",
  "success": false
}
{
  "error": "No active session found for project_id=default",
  "success": false
}
最佳实践
  1. 发起请求前,务必检查身份验证
  2. API 调用中使用项目 ID,而非名称
  3. 在多步骤工作流中妥善管理会话
  4. 针对网络故障实现重试逻辑
  5. 处理结果前验证响应

速率限制与配额

  • 文档上传:文件大小上限为 50MB
  • 测试生成:按 Token 消耗
  • API 调用:适用标准速率限制
  • 并发会话:每位用户只能有一个活动会话

安全注意事项

  • JWT Token:使用安全密钥并设置合理的过期时间
  • 用户隔离:所有数据均限定于经过身份验证的用户
  • 传输安全:建议在生产环境中使用 HTTPS
  • Token 存储:安全存储 Token,切勿以纯文本形式保存
  • 访问控制:用户只能访问自己的项目和数据

监控与日志记录

该服务会全面记录以下日志:

  • 身份验证事件
  • 工具执行
  • 文件上传
  • 错误情况
  • 性能指标

日志级别:DEBUG、INFO、WARNING、ERROR、CRITICAL

支持与故障排除

常见问题
  1. 身份验证失败:确认 API Token 有效
  2. 速率限制:在 oopsbot.com 查看套餐限制
  3. 上传失败:确保文件大小不超过 50MB
  4. 生成错误:确认文档已正确上传
获取帮助

定价

  • 免费套餐:每天 15 个测试用例

查看详细定价

版本信息

  • MCP 协议:2024-11-05
  • 服务版本:1.0.0
  • API 版本:v1

立即访问 oopsbot.com 开始使用 • 文档 • 支持

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。