Skip to main content
Glama

MCP Learning Project

by BerdTan
demo.pyโ€ข3.01 kB
#!/usr/bin/env python3 """ Working demonstration of the MCP Testing Harness """ import asyncio import sys from pathlib import Path # Add src to path sys.path.insert(0, str(Path(__file__).parent / "src")) async def demo(): """Demonstrate the MCP server functionality.""" print("๐ŸŽฏ MCP Testing Harness Demo") print("=" * 35) try: # Import our modules from core.server import MCPServer, MCPServerInfo from core.testing import MCPServerTester from datetime import datetime print("โœ… Imports successful!") # Create server server = MCPServer(host="localhost", port=8000, debug=True) print("โœ… Server created!") # Create tester tester = MCPServerTester() print("โœ… Tester created!") # Show built-in tools print(f"\n๐Ÿ”ง Built-in tools ({len(server.builtin_tools)}):") for tool_name, tool_info in server.builtin_tools.items(): print(f" - {tool_name}: {tool_info['description']}") # Test server registry print("\n๐Ÿ“‹ Testing server registry...") # Create a test server test_server = MCPServerInfo( id="", name="Demo Server", description="A demonstration MCP server", version="1.0.0", host="localhost", port=8001, status="stopped", created_at=datetime.now(), tools=[], config={"demo": True} ) # Register the server server_id = await server.registry.register_server(test_server) print(f"โœ… Registered server with ID: {server_id}") # List servers servers = await server.registry.list_servers() print(f"โœ… Found {len(servers)} registered servers:") for srv in servers: print(f" - {srv.name} ({srv.host}:{srv.port}) - {srv.status}") # Update server status await server.registry.update_server_status(server_id, "running") print("โœ… Updated server status to 'running'") # Unregister server success = await server.registry.unregister_server(server_id) print(f"โœ… Unregistered server: {'Success' if success else 'Failed'}") print("\n๐ŸŽ‰ Demo completed successfully!") print("\n๐Ÿ’ก Your MCP Testing Harness is fully functional!") print(" Next steps:") print(" 1. Start the server: py -3 start_server.py") print(" 2. Test with client: py -3 test_client.py") print(" 3. Use with any MCP client") print(" 4. Continue with Phase 2 (web interface)") except Exception as e: print(f"โŒ Error in demo: {e}") import traceback traceback.print_exc() if __name__ == "__main__": asyncio.run(demo())

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/BerdTan/mcpharness'

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