GitPasha MCP Server - Ready for deployment
هذا الالتزام موجود في:
47
main.py
Normal file
47
main.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
from mcp.server.fastmcp import FastMCP
|
||||
from helpers import log
|
||||
from tools import (
|
||||
repo_create_tool,
|
||||
repo_update_tool,
|
||||
repo_delete_tool,
|
||||
issue_list_tool,
|
||||
issue_create_tool,
|
||||
issue_update_tool,
|
||||
pr_open_tool,
|
||||
)
|
||||
|
||||
load_dotenv()
|
||||
|
||||
mcp = FastMCP("Git Pasha Server")
|
||||
|
||||
# Register all tools
|
||||
mcp.tool()(repo_create_tool)
|
||||
mcp.tool()(repo_update_tool)
|
||||
mcp.tool()(repo_delete_tool)
|
||||
mcp.tool()(issue_list_tool)
|
||||
mcp.tool()(issue_create_tool)
|
||||
mcp.tool()(issue_update_tool)
|
||||
mcp.tool()(pr_open_tool)
|
||||
|
||||
if __name__ == "__main__":
|
||||
base_url = os.getenv("GITPASHA_BASE_URL", "https://app.gitpasha.com/api/v1")
|
||||
transport_type = os.getenv("MCP_TRANSPORT", "stdio")
|
||||
|
||||
log.info(f"Starting MCP server | BASE_URL={base_url} | Transport={transport_type}")
|
||||
|
||||
if transport_type == "sse":
|
||||
# Run SSE with explicit host/port binding
|
||||
import uvicorn
|
||||
host = os.getenv("HOST", "0.0.0.0")
|
||||
port = int(os.getenv("PORT", "8000"))
|
||||
|
||||
log.info(f"Starting SSE server on {host}:{port}")
|
||||
|
||||
# Get the SSE app and run with uvicorn
|
||||
app = mcp.sse_app()
|
||||
uvicorn.run(app, host=host, port=port, log_level="info")
|
||||
else:
|
||||
# Run stdio for local development
|
||||
mcp.run(transport="stdio")
|
||||
المرجع في مشكلة جديدة
حظر مستخدم