mcptesta/docs/public/favicon.svg
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

55 lines
2.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Liquid Gradient -->
<linearGradient id="liquidGradient" x1="0%" y1="100%" x2="0%" y2="0%">
<stop offset="0%" stop-color="#0891B2"/>
<stop offset="60%" stop-color="#06B6D4"/>
<stop offset="100%" stop-color="#22D3EE"/>
</linearGradient>
<!-- Glass Material -->
<linearGradient id="glassGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="rgba(139,92,246,0.8)"/>
<stop offset="50%" stop-color="rgba(139,92,246,0.6)"/>
<stop offset="100%" stop-color="rgba(107,70,193,0.9)"/>
</linearGradient>
<!-- Metal Apparatus -->
<linearGradient id="metalGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#CBD5E1"/>
<stop offset="100%" stop-color="#94A3B8"/>
</linearGradient>
<!-- Drop shadow for depth -->
<filter id="dropShadow">
<feDropShadow dx="1" dy="1" stdDeviation="1" flood-color="rgba(0,0,0,0.3)"/>
</filter>
</defs>
<!-- No background rectangle - transparent! -->
<!-- Lab Stand/Apparatus (more visible on transparent) -->
<rect x="20" y="35" width="60" height="3" fill="url(#metalGradient)" rx="1.5" filter="url(#dropShadow)"/>
<rect x="75" y="25" width="3" height="15" fill="url(#metalGradient)" rx="1.5" filter="url(#dropShadow)"/>
<!-- Main Beaker (Erlenmeyer Flask) with stronger colors -->
<path d="M35 75 L35 45 L40 35 L60 35 L65 45 L65 75 Z"
fill="url(#glassGradient)" stroke="rgba(255,255,255,0.8)" stroke-width="1" filter="url(#dropShadow)"/>
<!-- Liquid inside with enhanced visibility -->
<path d="M37 72 L37 50 L41 40 L59 40 L63 50 L63 72 Z"
fill="url(#liquidGradient)" filter="url(#dropShadow)"/>
<!-- Bubbles with better contrast -->
<circle cx="45" cy="55" r="3" fill="rgba(255,255,255,0.9)" filter="url(#dropShadow)"/>
<circle cx="55" cy="50" r="2" fill="rgba(255,255,255,0.7)" filter="url(#dropShadow)"/>
<circle cx="48" cy="42" r="1.5" fill="rgba(255,255,255,0.8)"/>
<!-- Mini Test Tubes with enhanced visibility -->
<rect x="15" y="70" width="4" height="12" fill="rgba(139,92,246,0.4)" rx="2" stroke="rgba(255,255,255,0.6)" stroke-width="0.5"/>
<rect x="16" y="75" width="2" height="6" fill="#10B981" rx="1"/>
<rect x="81" y="71" width="4" height="11" fill="rgba(139,92,246,0.4)" rx="2" stroke="rgba(255,255,255,0.6)" stroke-width="0.5"/>
<rect x="82" y="76" width="2" height="5" fill="#EF4444" rx="1"/>
</svg>