diff --git a/litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py b/litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py index 156bbdc4dc5..ded30db846a 100644 --- a/litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py +++ b/litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py @@ -287,10 +287,8 @@ class SingulrGuardrail(CustomGuardrail): metadata: Final = self._build_metadata(request_data=request_data) singulr_mcp_obj = SingulrMcpGuardrailPayload( + model_name=request_data.get("model"), guardrail_scope="mcp_response", - tool_name=request_data.get("mcp_tool_name"), - tool_arguments=request_data.get("mcp_arguments"), - mcp_server_name=request_data.get("mcp_server_name"), tool_result=texts, metadata=metadata, ) diff --git a/litellm/types/proxy/guardrails/guardrail_hooks/singulr.py b/litellm/types/proxy/guardrails/guardrail_hooks/singulr.py index 7f9250e55b0..af43ea955b6 100644 --- a/litellm/types/proxy/guardrails/guardrail_hooks/singulr.py +++ b/litellm/types/proxy/guardrails/guardrail_hooks/singulr.py @@ -40,6 +40,7 @@ class SingulrGuardrailPayload(BaseModel): class SingulrMcpGuardrailPayload(BaseModel): + model_name: str | None = None guardrail_scope: str | None = None tool_name: str | None = None tool_arguments: Mapping[str, Any] | None = None diff --git a/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_singulr.py b/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_singulr.py index cfda1ed2aca..987068bcf38 100644 --- a/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_singulr.py +++ b/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_singulr.py @@ -436,6 +436,7 @@ class TestSingulrMcpResponse: "call_type": "call_mcp_tool", "mcp_tool_name": "search_docs", "mcp_server_name": "docs-server", + "model": "MCP: docs-server", } with patch.object(singulr_guardrail.async_handler, "post", return_value=resp) as mock_post: await singulr_guardrail.apply_guardrail( @@ -445,7 +446,7 @@ class TestSingulrMcpResponse: ) sent_payload = mock_post.call_args.kwargs["json"] assert sent_payload["guardrail_scope"] == "mcp_response" - assert sent_payload["tool_name"] == "search_docs" + assert sent_payload["model_name"] == "MCP: docs-server" assert sent_payload["tool_result"] == ["Result: password reset link sent."] @pytest.mark.asyncio