mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 07:03:53 +08:00
fix: 修复开机立刻唤醒导致客户端 MCP 工具列表为空的问题
This commit is contained in:
@@ -11,8 +11,7 @@ from core.handle.sendAudioHandle import sendAudioMessage, send_tts_message
|
|||||||
from core.utils.util import remove_punctuation_and_length, opus_datas_to_wav_bytes
|
from core.utils.util import remove_punctuation_and_length, opus_datas_to_wav_bytes
|
||||||
from core.providers.tools.device_mcp import (
|
from core.providers.tools.device_mcp import (
|
||||||
MCPClient,
|
MCPClient,
|
||||||
send_mcp_initialize_message,
|
send_mcp_initialize_message
|
||||||
send_mcp_tools_list_request,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
TAG = __name__
|
TAG = __name__
|
||||||
@@ -56,8 +55,6 @@ async def handleHelloMessage(conn, msg_json):
|
|||||||
conn.mcp_client = MCPClient()
|
conn.mcp_client = MCPClient()
|
||||||
# 发送初始化
|
# 发送初始化
|
||||||
asyncio.create_task(send_mcp_initialize_message(conn))
|
asyncio.create_task(send_mcp_initialize_message(conn))
|
||||||
# 发送mcp消息,获取tools列表
|
|
||||||
asyncio.create_task(send_mcp_tools_list_request(conn))
|
|
||||||
|
|
||||||
await conn.websocket.send(json.dumps(conn.welcome_msg))
|
await conn.websocket.send(json.dumps(conn.welcome_msg))
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,11 @@ async def handle_mcp_message(conn, mcp_client: MCPClient, payload: dict):
|
|||||||
logger.bind(tag=TAG).debug(
|
logger.bind(tag=TAG).debug(
|
||||||
f"客户端MCP服务器信息: name={name}, version={version}"
|
f"客户端MCP服务器信息: name={name}, version={version}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
await asyncio.sleep(1)
|
||||||
|
logger.bind(tag=TAG).debug("初始化完成,开始请求MCP工具列表")
|
||||||
|
await send_mcp_tools_list_request(conn)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
elif msg_id == 2: # mcpToolsListID
|
elif msg_id == 2: # mcpToolsListID
|
||||||
|
|||||||
Reference in New Issue
Block a user