from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
from services.contabo import ContaboService
from services.hetzner import HetznerService
app = FastAPI(title="Dummy MCP Server")
# CORS Setup
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # allow all origins (safe for dummy demo)
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
class MCPRequest(BaseModel):
provider: str
action: str
payload: dict
@app.post("/mcp")
def mcp_handler(request: MCPRequest):
if request.provider.lower() == "contabo":
return ContaboService().process(request.action, request.payload)
elif request.provider.lower() == "hetzner":
return HetznerService().process(request.action, request.payload)
else:
return {"status": "error", "message": "Provider not supported"}