Oopsbot について
Oopsbot は、製品要件やドキュメントからテストケースを作成する、チームやエージェント向けの MCP サーバーです。プロジェクトとドキュメントの管理に加え、タイトル生成、選択項目の詳細化、結果取得を段階的に行えます。
主な機能
- 01要件からテストケースを生成
- 02PDF、DOCX、TXT、JSON、MD を処理
- 03ベクトル埋め込みによる文書検索
- 04プロジェクトと文書の整理
- 05生成状況をリアルタイム配信
- 06トークンによるユーザー認証
活用シーン
- 01ユーザーストーリーからテストケースを作成
- 02要件文書をアップロードして検索
- 03生成されたタイトルを選び詳細ケースを作成
- 04プロジェクト単位でテストケースを取得
MCP 対応
Oopsbot は、プロジェクトと文書の管理、テストケースの生成と取得を行う MCP ツールを提供します。トークン認証を使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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):プロジェクト IDsession_id(string):generate_testcase_titlesで取得したセッション IDselected_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):プロジェクト IDsession_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 サーバーは、安全なトークンベースの認証を使用します。
アクセスの取得
- app.oopsbot.comでサインアップします
- ダッシュボードから MCP API トークンを生成します
- IDE またはクライアントアプリケーションでトークンを使用します
認証形式
Authorization: Bearer <your_api_token>
IDE との統合
対応 IDE
Visual Studio Code
- MCP 拡張機能をインストールします
- OopsBot MCP サーバーの設定を追加します:
{
"mcpServers": {
"oopsbot": {
"command": "npx",
"args": ["@oopsbot/mcp-server"],
"env": {
"OOPSBOT_API_TOKEN": "your_token_here"
}
}
}
}
Cursor
- Cursor の設定を開きます
- MCP サーバーに移動します
- OopsBot の設定を追加します:
{
"oopsbot": {
"serverUrl": "https://mcp.oopsbot.com",
"apiToken": "your_token_here"
}
}
Claude Desktop
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)
- マーケットプレイスから MCP プラグインをインストールします
- Settings > Tools > MCP で設定します:
- サーバー URL:
https://mcp.oopsbot.com - API トークン:
your_token_here
- サーバー URL:
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"}'
ワークフローの例
テスト生成の完全なワークフロー
-
プロジェクトの作成/選択
# 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" }) -
要件ドキュメントのアップロード
result = await client.call_tool("upload_document_to_rag", { "filename": "requirements.pdf", "filecontent": "Product requirements content...", "topic": "authentication", "project_id": project["project"]["_id"] }) -
テストケースのタイトルを生成
titles = await client.call_tool("generate_testcase_titles", { "project_id": project["project"]["_id"], "query": "Generate comprehensive test cases for user login" }) -
テストケース全体を生成
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 }) -
生成したテストケースを取得
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
}
ベストプラクティス
- リクエストを送信する前に、必ず認証を確認してください
- API 呼び出しには、名前ではなくプロジェクト ID を使用してください
- 複数ステップのワークフローでは、セッション管理を適切に行ってください
- ネットワーク障害に備えて、再試行ロジックを実装してください
- 結果を処理する前に、レスポンスを検証してください
レート制限とクォータ
- ドキュメントのアップロード:最大ファイルサイズは 50MB
- テスト生成:トークンベースで消費
- API 呼び出し:標準のレート制限が適用されます
- 同時セッション:ユーザーごとにアクティブなセッションは 1 つ
セキュリティに関する考慮事項
- JWT トークン:安全なシークレットを使用し、適切な有効期限を設定してください
- ユーザーの分離:すべてのデータは認証済みユーザーごとにスコープ設定されます
- 通信のセキュリティ:本番環境では HTTPS を推奨します
- トークンの保存:トークンは安全に保存し、平文では決して保存しないでください
- アクセス制御:ユーザーがアクセスできるのは、自身のプロジェクトとデータのみです
モニタリングとログ記録
サーバーは、以下の項目について包括的なログを提供します:
- 認証イベント
- ツールの実行
- ファイルのアップロード
- エラー状態
- パフォーマンス指標
ログレベル:DEBUG、INFO、WARNING、ERROR、CRITICAL
サポートとトラブルシューティング
よくある問題
- 認証の失敗:API トークンが有効であることを確認してください
- レート制限:oopsbot.com でプランの制限を確認してください
- アップロードの失敗:ファイルサイズが 50MB 未満であることを確認してください
- 生成エラー:ドキュメントが正しくアップロードされていることを確認してください
ヘルプを受ける
- 📧 メール:[email protected]
- 💬 Discord:コミュニティに参加
- 📖 ドキュメント:docs.oopsbot.com
料金
- 無料プラン:1 日あたり 15 件のテストケース
バージョン情報
- MCP Protocol:2024-11-05
- サーバーバージョン:1.0.0
- API バージョン:v1
oopsbot.com で始めましょう • ドキュメント • サポート
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。