Инициализация клиента MCPPython

Программы на Python
Ответить
Anonymous
 Инициализация клиента MCP

Сообщение Anonymous »

Пожалуйста, помогите исправить ошибку моего клиента mcp!У меня есть простая настройка сервера mcp с потоковой передачей http.

сервер mcp:
mcp = FastMCP(
name="example server",
host="127.0.0.1",
port=8000
)

if __name__ == "__main__":
mcp.run(transport="streamable-http")

Также я создал клиент для подключения к серверу.

клиент:
SERVER_URL = "http://127.0.0.1:8050"

async def connect_to_server(server_url: str):
async with streamablehttp_client(url=f"{server_url}") as streams:
async with ClientSession(*streams) as session:
await session.initialize()

tools = await session.list_tools()

После этого я получаю следующую ошибку:

AttributeError("'function' object has no attribute 'total_seconds'") [single exception in ExceptionGroup]
Дополнительная информация
:
Мой pytest настроен на запуск сервера как подпроцесса, а затем вызов клиента, как показано ниже, но я не уверен, что это актуально.
@pytest.fixture(scope="module")
def start_mcp_server():
print("Starting mcp server as a separate process ...")
proc = subprocess.Popen(
["python", "apps/server/runtime/server.py"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
preexec_fn=os.setsid,
cwd=BASE_DIR,
env=env,
)
try:
wait_for_server(f"{SERVER_URL}", timeout=5)
yield proc
finally:
try:
os.killpg(os.getpgid(proc.pid), signal.SIGTERM)
except ProcessLookupError:
pass

@pytest.mark.asyncio
async def test_mcp_server_profile_and_tools(start_mcp_server):
tools, profile = await connect_to_server(SERVER_URL)


Подробнее здесь: https://stackoverflow.com/questions/796 ... ialisation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»