Skip to main content
Glama

TimeLooker MCP Server

run_quality_tests.pyโ€ข7.27 kB
""" Easy-to-use test runner for search quality and duplicate detection testing. Updated for new x402 architecture. """ import sys import time import os sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) def print_menu(): """Display the test menu.""" print("\n๐Ÿ” SEARCH QUALITY TEST SUITE") print("=" * 50) print("1. Quick Quality Test (recommended)") print("2. Multi-Query Test (3 different queries)") print("3. Monitor Query Over Time (5 iterations)") print("4. Comprehensive Test Suite (all tests)") print("5. Custom Query Test") print("6. Duplicate Detection Deep Dive") print("7. View Previous Monitoring Results") print("8. ๐Ÿ”’ X402 Payment Integration Tests") print("9. ๐ŸŒ API Integration Tests") print("0. Exit") print("=" * 50) def run_quick_test(): """Run the quick quality test.""" print("\n๐Ÿš€ Running Quick Quality Test...") from quick_quality_test import quick_search_test quick_search_test() def run_multi_query_test(): """Run multi-query test.""" print("\n๐Ÿš€ Running Multi-Query Test...") from quick_quality_test import run_multiple_queries run_multiple_queries() def run_monitor_test(): """Run query monitoring test.""" print("\n๐Ÿš€ Running Query Monitor Test...") from monitor_query_test import QueryMonitor query = input("Enter query to monitor (or press Enter for default): ").strip() if not query: query = "AI Ethics and Safety openings fit for a PhD in Computer Science" iterations = input("Number of iterations (default 3): ").strip() iterations = int(iterations) if iterations.isdigit() else 3 delay = input("Minutes between iterations (default 1): ").strip() delay = int(delay) if delay.isdigit() else 1 monitor = QueryMonitor() monitor.monitor_query(query, iterations=iterations, delay_minutes=delay) def run_comprehensive_test(): """Run comprehensive test suite.""" print("\n๐Ÿš€ Running Comprehensive Test Suite...") print("โš ๏ธ This will take 10-15 minutes and use multiple OpenAI API calls") confirm = input("Continue? (y/N): ").strip().lower() if confirm != 'y': print("Test cancelled.") return from test_search_quality import SearchQualityTester tester = SearchQualityTester() tester.run_comprehensive_test_suite() def run_custom_query_test(): """Run test with custom query.""" query = input("Enter your search query: ").strip() if not query: print("No query provided.") return print(f"\n๐Ÿš€ Testing custom query: {query}") from quick_quality_test import quick_search_test quick_search_test(query) def run_duplicate_detection_test(): """Run focused duplicate detection test.""" print("\n๐Ÿš€ Running Duplicate Detection Deep Dive...") query = input("Enter query (or press Enter for default): ").strip() if not query: query = "AI Ethics and Safety openings fit for a PhD in Computer Science" from test_search_quality import SearchQualityTester tester = SearchQualityTester() tester.test_duplicate_detection_accuracy(query, simulate_variations=True) def view_monitoring_results(): """View previous monitoring results.""" print("\n๐Ÿš€ Viewing Previous Monitoring Results...") from monitor_query_test import QueryMonitor monitor = QueryMonitor() monitor.compare_sessions() def run_x402_tests(): """Run x402 payment integration tests.""" print("\n๐Ÿš€ Running X402 Payment Integration Tests...") from test_x402_integration import run_x402_tests run_x402_tests() def run_api_tests(): """Run API integration tests.""" print("\n๐Ÿš€ Running API Integration Tests...") from test_api_integration import run_api_integration_tests run_api_integration_tests() def main(): """Main function with interactive menu.""" print("Welcome to the TimeLooker Search Quality Test Suite!") print("This will help you evaluate:") print("โ€ข Search result quality and completeness") print("โ€ข Duplicate detection accuracy") print("โ€ข Performance and consistency") print("โ€ข Real-world scenario testing") while True: print_menu() try: choice = input("\nSelect an option (0-9): ").strip() if choice == '0': print("๐Ÿ‘‹ Goodbye!") break elif choice == '1': run_quick_test() elif choice == '2': run_multi_query_test() elif choice == '3': run_monitor_test() elif choice == '4': run_comprehensive_test() elif choice == '5': run_custom_query_test() elif choice == '6': run_duplicate_detection_test() elif choice == '7': view_monitoring_results() elif choice == '8': run_x402_tests() elif choice == '9': run_api_tests() else: print("โŒ Invalid option. Please choose 0-9.") continue # Ask if user wants to continue print("\n" + "="*50) continue_choice = input("Run another test? (Y/n): ").strip().lower() if continue_choice == 'n': print("๐Ÿ‘‹ Thanks for testing!") break except KeyboardInterrupt: print("\n\n๐Ÿ‘‹ Test interrupted. Goodbye!") break except Exception as e: print(f"\nโŒ Error: {e}") print("Please try again.") def quick_start(): """Quick start function for command line usage.""" if len(sys.argv) > 1: command = sys.argv[1].lower() if command == 'quick': run_quick_test() elif command == 'multi': run_multi_query_test() elif command == 'monitor': query = " ".join(sys.argv[2:]) if len(sys.argv) > 2 else None from monitor_query_test import QueryMonitor monitor = QueryMonitor() query = query or "AI Ethics and Safety openings fit for a PhD in Computer Science" monitor.monitor_query(query, iterations=3, delay_minutes=1) elif command == 'comprehensive': run_comprehensive_test() elif command == 'custom': if len(sys.argv) > 2: query = " ".join(sys.argv[2:]) from quick_quality_test import quick_search_test quick_search_test(query) else: print("Usage: python run_quality_tests.py custom <your query>") else: print("Available commands:") print(" quick - Run quick quality test") print(" multi - Run multi-query test") print(" monitor - Monitor query over time") print(" comprehensive - Run all tests") print(" custom <query> - Test custom query") print(" (no args) - Interactive menu") else: main() if __name__ == "__main__": quick_start()

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fortnightly-devs/mcp-x402-task-scheduler'

If you have feedback or need assistance with the MCP directory API, please join our Discord server