fix(guardrails): add model field to mcp payload to get server name and tool name

This commit is contained in:
aniket-kardile 2026-08-19 17:30:08 +05:30
parent 819e2999d5
commit 533b865fb9
No known key found for this signature in database
3 changed files with 4 additions and 4 deletions

View file

@ -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,
)

View file

@ -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

View file

@ -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