- Oopsbot
Oopsbot
OopsBot MCP Server
Overview
The OopsBot MCP Server is a Model Context Protocol (MCP) implementation that provides AI agents with comprehensive test case generation and management capabilities. Transform your product requirements into comprehensive test cases using AI-powered automation.
Key Features
- 🤖 AI-Powered Test Generation: Generate comprehensive test cases from product requirements and user stories
- 📄 Document Processing: Upload and process various document formats (PDF, DOCX, TXT, JSON, MD)
- 🔍 Semantic Search: RAG-powered document retrieval with vector embeddings
- 📊 Project Management: Organize test cases and documents by projects
- 🔐 Secure Authentication: Enterprise-grade security with user isolation
- ☁️ Cloud Storage: Scalable content management
- 🔄 Real-time Streaming: Live test case generation with progress tracking
Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ AI Agent │───▶│ OopsBot MCP │───▶│ Backend │
│ (Client) │ │ Server │ │ Services │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐ ┌─────────────────┐
│ Cloud Storage │ │ AI Services │
│ (Test Cases) │ │ (Documents) │
└──────────────────┘ └─────────────────┘
Available Tools
1. Project Management
list_user_projects
Lists all projects associated with the authenticated user.
Returns:
{
"projects": [
{
"project_id": "uuid-string",
"name": "Project Name",
"created_at": "2024-01-01T00:00:00Z"
}
],
"total": 1,
"user_id": "user@example.com"
}
create_project
Creates a new project to organize documents and test cases.
Parameters:
name(string): Unique project name for the user
Example:
{
"name": "E-commerce Login Flow"
}
2. Document Management
upload_document_to_rag
Uploads documents from the model context to the RAG service for processing.
Parameters:
filename(string): File name with extensionfilecontent(string): File content from the model's contexttopic(string, optional): Document category (default: "general")project_id(string, optional): Project ID (default: "default")
Example:
{
"filename": "login_requirements.pdf",
"filecontent": "User authentication requirements...",
"topic": "authentication",
"project_id": "project-uuid"
}
3. Test Case Generation
generate_testcase_titles
Generates test case titles by starting a new active session.
Parameters:
project_id(string): Project ID (not name)query(string): User's request for test case generation
Example:
{
"project_id": "project-uuid",
"query": "Generate test cases for user login functionality"
}
Returns:
{
"project_id": "project-uuid",
"session_id": "user@example.com_12345",
"titles": [
"Valid login with correct credentials",
"Invalid login with wrong password",
"Login with empty fields"
],
"total_titles": 3
}
generate_testcases_from_titles
Generates full, detailed test cases from selected titles.
Parameters:
project_id(string): Project IDsession_id(string): Session ID fromgenerate_testcase_titlesselected_titles(array): List of 1-indexed title numbers
Example:
{
"project_id": "project-uuid",
"session_id": "user@example.com_12345",
"selected_titles": [1, 2, 3]
}
4. Test Case Retrieval
list_current_session_test_titles
Lists test case titles for the current active session.
Parameters:
project_id(string): Project IDsession_id(string, optional): Session ID (uses active session if not specified)skip(integer, optional): Pagination offset (default: 0)limit(integer, optional): Maximum results (default: 50)
get_generated_testcases
Retrieves all generated test cases for a project.
Parameters:
project_id(string): Project ID
Returns:
{
"success": true,
"project_id": "project-uuid",
"testcases": [
{
"testcase_id": "tc_12345",
"project_id": "project-uuid",
"user_id": "user@example.com",
"content": "Detailed test case content..."
}
],
"count": 1
}
Authentication
The OopsBot MCP Server uses secure token-based authentication.
Getting Access
- Sign up at app.oopsbot.com
- Generate your MCP API token from the dashboard
- Use the token in your IDE or client application
Authentication Format
Authorization: Bearer <your_api_token>
IDE Integration
Supported IDEs
Visual Studio Code
- Install the MCP extension
- Add OopsBot MCP server configuration:
{
"mcpServers": {
"oopsbot": {
"command": "npx",
"args": ["@oopsbot/mcp-server"],
"env": {
"OOPSBOT_API_TOKEN": "your_token_here"
}
}
}
}
Cursor
- Open Cursor settings
- Navigate to MCP servers
- Add OopsBot configuration:
{
"oopsbot": {
"serverUrl": "https://mcp.oopsbot.com",
"apiToken": "your_token_here"
}
}
Claude Desktop
- Edit
claude_desktop_config.json:
{
"mcpServers": {
"oopsbot": {
"command": "node",
"args": ["/path/to/oopsbot-mcp/server.js"],
"env": {
"OOPSBOT_API_TOKEN": "your_token_here"
}
}
}
}
JetBrains IDEs (IntelliJ, PyCharm, WebStorm)
- Install MCP plugin from marketplace
- Configure in Settings > Tools > MCP:
- Server URL:
https://mcp.oopsbot.com - API Token:
your_token_here
- Server 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")))))
Configuration
| Setting | Description | Required |
|---|---|---|
OOPSBOT_API_TOKEN | Your API token from oopsbot.com | Yes |
OOPSBOT_SERVER_URL | Server endpoint | No (defaults to production) |
OOPSBOT_PROJECT_ID | Default project ID | No (defaults to "default") |
Client Integration
Direct API Integration
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"}'
Workflow Examples
Complete Test Generation Workflow
-
Create/Select Project
# 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" }) -
Upload Requirements Document
result = await client.call_tool("upload_document_to_rag", { "filename": "requirements.pdf", "filecontent": "Product requirements content...", "topic": "authentication", "project_id": project["project"]["_id"] }) -
Generate Test Case Titles
titles = await client.call_tool("generate_testcase_titles", { "project_id": project["project"]["_id"], "query": "Generate comprehensive test cases for user login" }) -
Generate Full Test Cases
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 }) -
Retrieve Generated Test Cases
all_testcases = await client.call_tool("get_generated_testcases", { "project_id": project["project"]["_id"] })
Error Handling
Common Error Responses
{
"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
}
Best Practices
- Always check authentication before making requests
- Use project IDs, not names for API calls
- Handle session management properly in multi-step workflows
- Implement retry logic for network failures
- Validate responses before processing results
Rate Limits & Quotas
- Document Upload: 50MB max file size
- Test Generation: Token-based consumption
- API Calls: Standard rate limiting applies
- Concurrent Sessions: One active session per user
Security Considerations
- JWT Tokens: Use secure secrets and proper expiration
- User Isolation: All data is scoped to authenticated users
- Transport Security: HTTPS recommended for production
- Token Storage: Store tokens securely, never in plain text
- Access Control: Users can only access their own projects and data
Monitoring & Logging
The server provides comprehensive logging for:
- Authentication events
- Tool execution
- File uploads
- Error conditions
- Performance metrics
Log levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
Support & Troubleshooting
Common Issues
- Authentication Failures: Verify your API token is valid
- Rate Limits: Check your plan limits at oopsbot.com
- Upload Failures: Ensure file size is under 50MB
- Generation Errors: Verify documents are properly uploaded
Getting Help
- 📧 Email: support@oopsbot.com
- 💬 Discord: Join our community
- 📖 Documentation: docs.oopsbot.com
Pricing
- Free Tier: 15 test cases/day
Version Information
- MCP Protocol: 2024-11-05
- Server Version: 1.0.0
- API Version: v1
Get started at oopsbot.com • Documentation • Support