pub struct ScimToolResult {
pub success: bool,
pub content: Value,
pub metadata: Option<Value>,
}
Expand description
Tool execution result for MCP clients
Represents the outcome of an AI agent’s tool execution request. Provides structured feedback that AI agents can use for decision making.
§Examples
use scim_server::mcp_integration::ScimToolResult;
use serde_json::{json, Value};
// Successful operation result
let success_result = ScimToolResult {
success: true,
content: json!({"id": "123", "userName": "john.doe"}),
metadata: Some(json!({"operation": "create", "resource_type": "User"}))
};
// Error result
let error_result = ScimToolResult {
success: false,
content: json!({"error": "User not found"}),
metadata: Some(json!({"error_code": "404"}))
};
Fields§
§success: bool
Whether the tool execution was successful
content: Value
The main result content (resource data or error information)
metadata: Option<Value>
Optional metadata providing additional context about the operation
Trait Implementations§
Source§impl Clone for ScimToolResult
impl Clone for ScimToolResult
Source§fn clone(&self) -> ScimToolResult
fn clone(&self) -> ScimToolResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for ScimToolResult
impl RefUnwindSafe for ScimToolResult
impl Send for ScimToolResult
impl Sync for ScimToolResult
impl Unpin for ScimToolResult
impl UnwindSafe for ScimToolResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> TenantValidator for T
impl<T> TenantValidator for T
Source§fn validate_tenant_context(
&self,
expected_tenant_id: &str,
context: &RequestContext,
) -> Result<(), String>
fn validate_tenant_context( &self, expected_tenant_id: &str, context: &RequestContext, ) -> Result<(), String>
Validate that the context has the expected tenant.
Source§fn validate_single_tenant_context(
&self,
context: &RequestContext,
) -> Result<(), String>
fn validate_single_tenant_context( &self, context: &RequestContext, ) -> Result<(), String>
Validate that the context is for single-tenant operation.
Source§fn require_tenant_context(&self, context: &RequestContext) -> Result<(), String>
fn require_tenant_context(&self, context: &RequestContext) -> Result<(), String>
Extract tenant context or return error for multi-tenant operations.