main.py•2.35 kB
# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-29T03:21:37+00:00
import argparse
import json
import os
from typing import *
from typing import Optional
from autogen.mcp.mcp_proxy import MCPProxy
from autogen.mcp.mcp_proxy.security import BaseSecurity
app = MCPProxy(
contact={'x-twitter': 'Hackathonwatch'},
title='HackathonWatch',
version='0.1',
servers=[{'url': 'http://www.hackathonwatch.com/api/'}],
)
@app.get('/hackathons/coming.json', tags=['hackathon_info_retrieval'])
def g_e_t_hackathons_coming___format_(page: Optional[int] = 1):
"""
Return a list of coming hackathons
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get('/hackathons/{id}.json', tags=['hackathon_info_retrieval'])
def g_e_t_hackathons__id___format_(id: int):
"""
Return the detail of a given hackathon
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get('/swagger_doc.json', tags=['swagger_api_documentation'])
def g_e_t_swagger_doc___format_():
"""
Swagger compatible API description
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get('/swagger_doc/{name}.json', tags=['swagger_api_documentation'])
def g_e_t_swagger_doc__name___format_(name: str):
"""
Swagger compatible API description for specific API
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="MCP Server")
parser.add_argument(
"transport",
choices=["stdio", "sse", "streamable-http"],
help="Transport mode (stdio, sse or streamable-http)",
)
args = parser.parse_args()
if "CONFIG_PATH" in os.environ:
config_path = os.environ["CONFIG_PATH"]
app.load_configuration(config_path)
if "CONFIG" in os.environ:
config = os.environ["CONFIG"]
app.load_configuration_from_string(config)
if "SECURITY" in os.environ:
security_params = BaseSecurity.parse_security_parameters_from_env(
os.environ,
)
app.set_security_params(security_params)
mcp_settings = json.loads(os.environ.get("MCP_SETTINGS", "{}"))
app.get_mcp(**mcp_settings).run(transport=args.transport)