Skip to content

Commit 6cd103f

Browse files
committed
Add run script for HTTP server
1 parent 6436ead commit 6cd103f

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,5 @@ include = ["metatrader_mcp*", "metatrader_client*", "metatrader_openapi*"]
5454
client = []
5555

5656
[project.scripts]
57-
"metatrader-mcp-server" = "metatrader_mcp.cli:main"
57+
"metatrader-mcp-server" = "metatrader_mcp.cli:main"
58+
"metatrader-http-server" = "metatrader_openapi.main:main"

src/metatrader_openapi/main.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# pylint: disable=import-error
22
from fastapi import FastAPI
3+
from fastapi.middleware.cors import CORSMiddleware
34
from .config import Settings
45
from .routers import router as api_router
56
import os
@@ -36,10 +37,19 @@ async def lifespan(app):
3637
lifespan=lifespan,
3738
)
3839

40+
# Enable CORS for Open WebUI and other clients
41+
app.add_middleware(
42+
CORSMiddleware,
43+
allow_origins=["*"],
44+
allow_credentials=True,
45+
allow_methods=["*"],
46+
allow_headers=["*"],
47+
)
48+
3949
# Include API routers
4050
app.include_router(api_router, prefix="/api/v1")
4151

42-
if __name__ == "__main__":
52+
def main():
4353
load_dotenv()
4454
parser = argparse.ArgumentParser(description="MetaTrader OpenAPI server")
4555
parser.add_argument("--login", required=True, help="MT5 login")
@@ -58,8 +68,11 @@ async def lifespan(app):
5868
os.environ["server"] = args.server
5969

6070
uvicorn.run(
61-
"src.metatrader_openapi.main:app",
71+
"metatrader_openapi.main:app",
6272
host=args.host,
6373
port=args.port,
6474
reload=True,
6575
)
76+
77+
if __name__ == "__main__":
78+
main()

0 commit comments

Comments
 (0)