الملفات
GitPasha-MCP-Server/main.py

48 أسطر
1.3 KiB
Python

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")