]> apps.delaporte.us Git - matrix-shop-bot.git/blobdiff - skill.py
Add CORS support
[matrix-shop-bot.git] / skill.py
index 53bdf9ef052c008155ade4a63cd1b26320184ab0..355b9b210006db56a81967ecb8524bd6c7d9cc59 100644 (file)
--- a/skill.py
+++ b/skill.py
@@ -1,11 +1,32 @@
 from fastmcp import FastMCP
 from matrix_shop_bot.db import Data
+import os
+import uvicorn
 
+from starlette.middleware import Middleware
+from starlette.middleware.cors import CORSMiddleware
+import uvicorn
+
+
+MY_IP=os.environ.get('MY_IP')
 mcp = FastMCP("Shop Bot")
 
 @mcp.tool
-def add_item(name: str) -> 'list[str]':
-    return Data().add_item(name)
+def add_item(name: str) -> str:
+    return '\n'.join(Data().add_item(name))
+
+# Define custom middleware
+custom_middleware = [
+    Middleware(CORSMiddleware, allow_origins=["*"],
+            allow_methods=["*"],
+            allow_headers=["*"],),
+]
+
+if __name__ == "__main__":
+    http_app = mcp.http_app(transport="streamable-http",path="/",middleware=custom_middleware)
+    uvicorn.run(http_app, host=MY_IP, port=9000)
+
+
 
 #@mcp.tool
 #def buy(items:str) -> 'list[str]':
@@ -41,5 +62,5 @@ def add_item(name: str) -> 'list[str]':
 #def list_purchases(store: str) -> 'list[str]':
 #    return Data().list_purchases(store)
 
-if __name__ == "__main__":
-    mcp.run(transport="http", host="127.0.0.1", port=9000)
+# if __name__ == "__main__":
+#    mcp.run(transport="http", host=MY_IP, port=9000)