mcptesta/examples/templates/basic_template.yaml
Ryan Malloy bea4a2e5d3 Initial release: MCPTesta v1.0.0 🧪
Community-driven testing excellence for the MCP ecosystem

MCPTesta is a comprehensive testing framework for FastMCP servers that brings
scientific rigor and enterprise-grade capabilities to MCP protocol testing.

🎯 Core Features:
• Comprehensive FastMCP server testing with advanced protocol support
• Parallel execution with intelligent dependency resolution
• Flexible CLI and YAML configuration system
• Rich reporting: console, HTML, JSON, and JUnit formats
• Advanced MCP protocol features: notifications, cancellation, progress tracking
• Production-ready Docker environment with caddy-docker-proxy integration

🧪 Advanced Testing Capabilities:
• Multi-transport support (stdio, SSE, WebSocket)
• Authentication testing (Bearer tokens, OAuth flows)
• Stress testing and performance validation
• Memory profiling and leak detection
• CI/CD integration with comprehensive reporting

🎨 Professional Assets:
• Complete logo package with lab experiment theme
• Comprehensive documentation with Diátaxis framework
• Community-focused branding and messaging
• Multi-platform favicon and social media assets

📚 Documentation:
• Getting started tutorials and comprehensive guides
• Complete CLI and YAML reference documentation
• Architecture explanations and testing strategies
• Team collaboration and security compliance guides

🚀 Ready for:
• Community contributions and external development
• Enterprise deployment and production use
• Integration with existing FastMCP workflows
• Extension and customization for specific needs

Built with modern Python practices using uv, FastMCP, and Starlight documentation.
Designed for developers who demand scientific precision in their testing tools.

Repository: https://git.supported.systems/mcp/mcptesta
Documentation: https://mcptesta.l.supported.systems
2025-09-20 03:20:49 -06:00

132 lines
3.7 KiB
YAML

# MCPTesta Basic Configuration Template
#
# This template provides a simple starting point for testing FastMCP servers.
# Perfect for beginners or quick validation testing.
#
# Features demonstrated:
# - Single server testing
# - Basic tool and resource testing
# - Simple parallel execution
# - Console output
# Global configuration
config:
# Number of parallel test workers (1-8 recommended for basic testing)
parallel_workers: 2
# Output format: console, html, json, junit
output_format: "console"
# Global timeout for all operations (seconds)
global_timeout: 120
# Maximum concurrent operations per worker
max_concurrent_operations: 5
# Server configuration
servers:
- name: "my_server"
# Command to start your FastMCP server
# Examples:
# "python -m my_fastmcp_server"
# "uvx my-mcp-server"
# "node server.js"
command: "python -m my_fastmcp_server"
# Transport protocol: stdio (most common), sse, ws
transport: "stdio"
# Connection timeout in seconds
timeout: 30
# Enable this server for testing
enabled: true
# Test suites - organized groups of related tests
test_suites:
- name: "Basic Connectivity"
description: "Verify server is responding and accessible"
enabled: true
tags: ["connectivity", "basic"]
parallel: true
timeout: 60
tests:
- name: "ping_test"
description: "Basic connectivity check"
test_type: "ping"
target: ""
timeout: 10
tags: ["ping"]
- name: "capabilities_discovery"
description: "Discover server capabilities"
test_type: "tool_call"
target: "list_tools" # Replace with your server's capability discovery method
timeout: 15
tags: ["discovery"]
- name: "Tool Testing"
description: "Test available tools with various parameters"
enabled: true
tags: ["tools"]
parallel: true
timeout: 90
tests:
- name: "simple_tool_test"
description: "Test a simple tool call"
test_type: "tool_call"
target: "echo" # Replace with an actual tool from your server
parameters:
message: "Hello from MCPTesta!"
expected:
# Define what you expect in the response
message: "Hello from MCPTesta!"
timeout: 15
tags: ["echo", "simple"]
# Add more tool tests here
# - name: "another_tool_test"
# description: "Test another tool"
# test_type: "tool_call"
# target: "my_other_tool"
# parameters:
# param1: "value1"
# timeout: 20
- name: "Resource Testing"
description: "Test resource reading capabilities"
enabled: true
tags: ["resources"]
parallel: true
timeout: 60
tests:
- name: "read_basic_resource"
description: "Read a basic resource"
test_type: "resource_read"
target: "file://README.md" # Replace with actual resource URI
timeout: 15
tags: ["file"]
# Add more resource tests here
# - name: "read_config_resource"
# test_type: "resource_read"
# target: "config://settings.json"
# Variables for easy customization
variables:
SERVER_NAME: "my_server"
TEST_MESSAGE: "Hello from MCPTesta!"
DEFAULT_TIMEOUT: "30"
# Quick Start Instructions:
# 1. Replace "python -m my_fastmcp_server" with your actual server command
# 2. Update tool names (like "echo") with tools your server provides
# 3. Modify resource URIs to match your server's resources
# 4. Run with: mcptesta yaml this_config.yaml
#
# For more advanced features, generate an "intermediate" or "advanced" template:
# mcptesta generate-config intermediate my_advanced_config.yaml