Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1750,30 +1750,39 @@ module "{module_name}" {{
|
|
| 1750 |
# ============================================================================
|
| 1751 |
|
| 1752 |
async def main():
|
| 1753 |
-
"""Main function for running the MCP server"""
|
| 1754 |
-
|
| 1755 |
-
# Initialize the clean MCP server
|
| 1756 |
-
terraform_server = CleanTerraformMCPServer()
|
| 1757 |
-
|
| 1758 |
-
# Log startup information
|
| 1759 |
logger.info("π Clean Terraform MCP Server starting...")
|
| 1760 |
logger.info("π§ Available tools: generate_terraform_config, validate_terraform_config, get_deployment_workflow, convert_to_module, format_terraform_code, generate_terraform_docs")
|
| 1761 |
logger.info("π¦ No external dependencies - pure Terraform tooling")
|
| 1762 |
-
|
| 1763 |
-
|
| 1764 |
-
|
| 1765 |
-
|
| 1766 |
-
|
| 1767 |
-
|
| 1768 |
-
|
| 1769 |
-
|
| 1770 |
-
|
| 1771 |
-
|
| 1772 |
-
|
| 1773 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1774 |
)
|
| 1775 |
)
|
| 1776 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1777 |
|
| 1778 |
if __name__ == "__main__":
|
| 1779 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1750 |
# ============================================================================
|
| 1751 |
|
| 1752 |
async def main():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1753 |
logger.info("π Clean Terraform MCP Server starting...")
|
| 1754 |
logger.info("π§ Available tools: generate_terraform_config, validate_terraform_config, get_deployment_workflow, convert_to_module, format_terraform_code, generate_terraform_docs")
|
| 1755 |
logger.info("π¦ No external dependencies - pure Terraform tooling")
|
| 1756 |
+
|
| 1757 |
+
terraform_server = CleanTerraformMCPServer()
|
| 1758 |
+
|
| 1759 |
+
logger.debug("Attempting to initialize stdio_server context...")
|
| 1760 |
+
try:
|
| 1761 |
+
async with stdio_server() as (read_stream, write_stream):
|
| 1762 |
+
logger.debug("stdio_server context entered successfully. Attempting to run MCP server...")
|
| 1763 |
+
await terraform_server.server.run(
|
| 1764 |
+
read_stream,
|
| 1765 |
+
write_stream,
|
| 1766 |
+
InitializationOptions(
|
| 1767 |
+
server_name="terraform-mcp-server",
|
| 1768 |
+
server_version="1.0.0",
|
| 1769 |
+
capabilities=terraform_server.server.get_capabilities(
|
| 1770 |
+
notification_options=NotificationOptions(),
|
| 1771 |
+
experimental_capabilities={}
|
| 1772 |
+
)
|
| 1773 |
)
|
| 1774 |
)
|
| 1775 |
+
logger.debug("MCP server.run() completed (should not happen in normal operation unless server exits).")
|
| 1776 |
+
except Exception as e:
|
| 1777 |
+
logger.critical(f"Unhandled exception during stdio_server or server.run: {e}", exc_info=True)
|
| 1778 |
+
# Re-raise or exit with a non-zero code if you want to explicitly signal failure
|
| 1779 |
+
raise # Re-raise to ensure HF Spaces sees the error
|
| 1780 |
|
| 1781 |
if __name__ == "__main__":
|
| 1782 |
+
try:
|
| 1783 |
+
logger.debug("Script execution started via __main__.")
|
| 1784 |
+
asyncio.run(main())
|
| 1785 |
+
logger.debug("Script finished execution (normal exit).")
|
| 1786 |
+
except Exception as e:
|
| 1787 |
+
logger.critical(f"Fatal unhandled exception in main execution block: {e}", exc_info=True)
|
| 1788 |
+
# It's possible the exception here is caught by HF Spaces environment directly
|