ниже приведен пример сценария < /p>
Код: Выделить всё
import asyncio
import logging
import os
from fastmcp import FastMCP
logger = logging.getLogger(__name__)
logging.basicConfig(format="[%(levelname)s]: %(message)s", level=logging.INFO)
mcp = FastMCP("MCP Server on Cloud Run")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Use this to add two numbers together.
Args:
a: The first number.
b: The second number.
Returns:
The sum of the two numbers.
"""
logger.info(f">>> Tool: 'add' called with numbers '{a}' and '{b}'")
return a + b
if __name__ == "__main__":
logger.info(f" MCP server started on port {os.getenv('PORT', 8080)}")
# Could also use 'sse' transport, host="0.0.0.0" required for Cloud Run.
asyncio.run(
mcp.run_async(
transport="streamable-http",
host="0.0.0.0",
port=os.getenv("PORT", 8080),
)
)
Я проверил, что общедоступный доступ к облачной службе в сетевых настройках. /> < /p>
будет очень благодарен, если кто -то сможет сообщить мне, что я пропустил. Я не знаю, что тело передает услугу, чтобы вызвать определенную функцию Python/MCP-инструмент. Будет полезно, если кто -то также сможет справиться с этим. Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -cloud-run