From ba8510eac77dd2877911571d2097ca667f9e9b3f Mon Sep 17 00:00:00 2001 From: OoO Date: Wed, 13 May 2026 09:40:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=9C=E9=BD=8A=20MCP=20=E6=97=A9=E9=80=80?= =?UTF-8?q?=E7=8B=80=E6=85=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/mcp_router.py | 3 +++ tests/test_mcp_router.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/services/mcp_router.py b/services/mcp_router.py index 7d8c229..91aac57 100644 --- a/services/mcp_router.py +++ b/services/mcp_router.py @@ -236,6 +236,7 @@ class MCPRouter: return MCPResult( success=False, server=server, tool=tool, error='MCP_ROUTER_ENABLED=false (戰役 v5.0 預設 OFF;待 docker-compose.mcp.yml deploy 後翻 ON)', + status='error', ) # 白名單檢查 @@ -243,6 +244,7 @@ class MCPRouter: return MCPResult( success=False, server=server, tool=tool, error=f'tool not in registry: caller={caller} server={server} tool={tool}', + status='error', ) # Server 配置檢查 @@ -251,6 +253,7 @@ class MCPRouter: return MCPResult( success=False, server=server, tool=tool, error=f'unknown server: {server}', + status='error', ) # Cache 命中 diff --git a/tests/test_mcp_router.py b/tests/test_mcp_router.py index 253d56c..80c87a6 100644 --- a/tests/test_mcp_router.py +++ b/tests/test_mcp_router.py @@ -48,6 +48,7 @@ def test_flag_off_returns_failure_without_http(monkeypatch): ) assert result.success is False + assert result.status == 'error' assert 'MCP_ROUTER_ENABLED=false' in (result.error or '') mock_post.assert_not_called() @@ -68,6 +69,7 @@ def test_unauthorized_caller_tool_combo_rejected(monkeypatch): ) assert result.success is False + assert result.status == 'error' assert 'tool not in registry' in (result.error or '') mock_post.assert_not_called() @@ -244,4 +246,5 @@ def test_unknown_server_rejected(monkeypatch): # 注意:白名單檢查在前,會先回 'tool not in registry'(因為 omnisearch_wrong 不在 registry) assert result.success is False + assert result.status == 'error' mock_post.assert_not_called()