from fastmcp import FastMCP from typing import Dict, Any import time # Initialize MCP server mcp = FastMCP("Math-Mock-Server") @mcp.tool() def add(a: int, b: int) -> int: """Add two numbers together""" try: print(f"MCP Server: Processing addition request for {a} + {b}") time.sleep(0.1) # Simulate processing time result = a + b print(f"MCP Server: Returning result {result}") return result except Exception as e: error_msg = f"Error adding numbers: {str(e)}" print(f"MCP Server: {error_msg}") return {"error": error_msg} @mcp.tool() def multiply(a: int, b: int) -> int: """Multiply two numbers together""" try: time.sleep(0.1) # Simulate processing time return a * b except Exception as e: return {"error": f"Error multiplying numbers: {str(e)}"} @mcp.tool() def divide(a: int, b: int) -> float: """Divide two numbers""" try: if b == 0: return {"error": "Cannot divide by zero"} time.sleep(0.1) # Simulate processing time return a / b except Exception as e: return {"error": f"Error dividing numbers: {str(e)}"} if __name__ == "__main__": print("Starting Mock Math Server on port 8000...") mcp.run(transport="sse", host="0.0.0.0", port=8000)