About Oopsbot
Oopsbot is an MCP server for teams and agents that turn product requirements and documents into organized test cases. It combines project and document management with a staged workflow for generating titles, expanding selected cases, and retrieving results.
Key features
- 01Generate test cases from requirements
- 02Process PDF, DOCX, TXT, JSON, and MD
- 03Search documents with vector embeddings
- 04Organize projects and documents
- 05Stream generation progress
- 06Authenticate users with tokens
Use cases
- 01Create test cases from user stories
- 02Upload requirements for document retrieval
- 03Select generated titles for detailed cases
- 04Retrieve test cases by project
MCP support
Oopsbot exposes MCP tools for project and document management, test case generation, and retrieval. Access uses token-based authentication.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEOopsBot 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": "[email protected]"
}
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": "[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
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": "[email protected]_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": "[email protected]",
"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: [email protected]
- 💬 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.