"""MCP server for GitHub PR review management."""
import asyncio
import sys
from mcp.server import Server
from mcp.server.stdio import stdio_server
from .tools import register_tools
async def main():
"""Run the MCP server."""
# Create server instance
server = Server("pr-review-mcp")
# Register tools
register_tools(server)
# Run the server using stdin/stdout
async with stdio_server() as (read_stream, write_stream):
await server.run(read_stream, write_stream, server.create_initialization_options())
def run():
"""Entry point for the server."""
try:
asyncio.run(main())
except KeyboardInterrupt:
print("\nServer interrupted by user", file=sys.stderr)
sys.exit(0)
except Exception as e:
print(f"Error: {e}", file=sys.stderr)
sys.exit(1)
if __name__ == "__main__":
run()