mcpField
O
Oopsbot

Oopsbot

ローカル
github.com/OopsBot-AI開発ツール060 週間前に更新

Oopsbot について

Oopsbot は、製品要件やドキュメントからテストケースを作成する、チームやエージェント向けの MCP サーバーです。プロジェクトとドキュメントの管理に加え、タイトル生成、選択項目の詳細化、結果取得を段階的に行えます。

主な機能

  1. 01要件からテストケースを生成
  2. 02PDF、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 サーバーは、AI エージェントに包括的なテストケースの生成・管理機能を提供する Model Context Protocol(MCP)の実装です。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_TOKENoopsbot.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
  • テスト生成:トークンベースで消費
  • API 呼び出し:標準のレート制限が適用されます
  • 同時セッション:ユーザーごとにアクティブなセッションは 1 つ

セキュリティに関する考慮事項

  • JWT トークン:安全なシークレットを使用し、適切な有効期限を設定してください
  • ユーザーの分離:すべてのデータは認証済みユーザーごとにスコープ設定されます
  • 通信のセキュリティ:本番環境では HTTPS を推奨します
  • トークンの保存:トークンは安全に保存し、平文では決して保存しないでください
  • アクセス制御:ユーザーがアクセスできるのは、自身のプロジェクトとデータのみです

モニタリングとログ記録

サーバーは、以下の項目について包括的なログを提供します:

  • 認証イベント
  • ツールの実行
  • ファイルのアップロード
  • エラー状態
  • パフォーマンス指標

ログレベル:DEBUG、INFO、WARNING、ERROR、CRITICAL

サポートとトラブルシューティング

よくある問題
  1. 認証の失敗:API トークンが有効であることを確認してください
  2. レート制限:oopsbot.com でプランの制限を確認してください
  3. アップロードの失敗:ファイルサイズが 50MB 未満であることを確認してください
  4. 生成エラー:ドキュメントが正しくアップロードされていることを確認してください
ヘルプを受ける

料金

  • 無料プラン:1 日あたり 15 件のテストケース

料金の詳細を見る

バージョン情報

  • MCP Protocol:2024-11-05
  • サーバーバージョン:1.0.0
  • API バージョン:v1

oopsbot.com で始めましょう • ドキュメント • サポート

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。