jsleese/6_mcp
0
1import os2from dotenv import load_dotenv3import requests4from pydantic import BaseModel, Field5from mcp.server.fastmcp import FastMCP6 7load_dotenv(override=True)8 9pushover_user = os.getenv("PUSHOVER_USER")10pushover_token = os.getenv("PUSHOVER_TOKEN")11pushover_url = "https://api.pushover.net/1/messages.json"12 13 14mcp = FastMCP("push_server")15 16 17class PushModelArgs(BaseModel):18 message: str = Field(description="A brief message to push")19 20 21@mcp.tool()22def push(args: PushModelArgs):23 """Send a push notification with this brief message"""24 print(f"Push: {args.message}")25 payload = {"user": pushover_user, "token": pushover_token, "message": args.message}26 requests.post(pushover_url, data=payload)27 return "Push notification sent"28 29 30if __name__ == "__main__":31 mcp.run(transport="stdio")32 