AI Foundry — удаленный сервер MCP — сбой: ошибка — требуется действие при вызове ToolCallPython

Программы на Python
Ответить
Anonymous
 AI Foundry — удаленный сервер MCP — сбой: ошибка — требуется действие при вызове ToolCall

Сообщение Anonymous »

У меня есть собственный удаленный сервер MCP, размещенный в Azure, написанный на Rust и использующий крейт «rmcp». У меня есть программа Python для развертывания сервера MCP (в качестве агента) в AI Foundry с помощью «McpTool», я вижу, что агент создан, и все работает нормально. Программа Python проверяет возможность подключения во время развертывания, например «инструменты списка», и вызывает инструмент для доступа к некоторой информации MCP. Все они хорошо работают во время создания агента в программе Python, а также к серверу MCP могут получить доступ другие хосты, такие как Claude.AI, через прокси-сервер Python, поскольку в настольной версии нет встроенной поддержки потоковой передачи HTTP. На данный момент подозрение вызывает не сервер MCP, а взаимосвязь между ним и AI Foundry.
Проблема в том, что когда я использую агента на игровой площадке, я получаю сообщение «Ошибка: требуется действие» при попытке запустить инструмент на сервере MCP:

Код: Выделить всё

{
name: "run_Fhvco5aH9JbS5lceERHW7lDj"
context: {
trace_id: "thread_h2Ywxs8TigcIhlQEYSAm1LF4"
span_id: "run_Fhvco5aH9JbS5lceERHW7lDj"
thread_id: "thread_h2Ywxs8TigcIhlQEYSAm1LF4"
}
kind: "Run"
parent_id: "thread_h2Ywxs8TigcIhlQEYSAm1LF4"
start_time: "2025-09-04T17:34:25.000Z"
end_time: undefined
status: {
status_code: "Error"
description: "RequiresAction"
}
attributes: {
span_type: "Run"
}
}
Я немного покопался и протестировал эту проблему. Похоже, что эта ошибка связана с тем, что Клиенту необходимо получить разрешение на запуск инструмента, но на игровой площадке это не интерактивно. Поэтому руководство подтолкнуло меня добавить set_approval_mode("never") к определению McpTool (фрагмент кода ниже), но эта строка, похоже, игнорируется, поскольку она не устанавливается в модель агента MCP.

Код: Выделить всё

# ----------------------------------------------------------------------------
# Azure AI Foundry helpers
# ----------------------------------------------------------------------------

def build_mcp_tool_for_foundry(session_id: str, allowed_tools: Optional[List[str]] = None) -> McpTool:
"""Build McpTool for Azure AI Foundry."""
# Create McpTool with supported parameters only
mcp_tool = McpTool(
server_label=MCP_SERVER_LABEL,
server_url=MCP_SERVER_URL,
allowed_tools=allowed_tools or []
)

mcp_tool.set_approval_mode("never")  # 

Подробнее здесь: [url]https://stackoverflow.com/questions/79756072/ai-foundry-remote-mcp-server-failure-error-requiresaction-on-toolcall[/url]
Ответить

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

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

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

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

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