pub struct McpToolCallRecord {
pub ts_ms: i64,
pub request_id: String,
pub session_id: String,
pub consumer: String,
pub consumer_type: String,
pub tool_name: String,
pub allowed: bool,
pub duration_ms: f64,
pub error_code: Option<String>,
pub status: String,
}Expand description
One MCP tool call record (DW-087): the per-call record written to
the mcp_tool_calls table when a tool call is proxied through the
MCP gateway. A PLAIN DTO — deliberately not importing ai::mcp
(the analytics domain may not import the ai domain; see
scripts/check_deps.py). The dataplane constructs it at the call
site.
Fields§
§ts_ms: i64Wall-clock ms since the Unix epoch.
request_id: StringThe request id (correlation handle).
session_id: StringThe MCP session id (correlates calls within one agent session).
consumer: StringThe authenticated consumer name (or “anonymous”).
consumer_type: StringThe consumer type (DW-113): "user" or "agent". Defaults to
"user" for pre-DW-113 records and anonymous traffic.
tool_name: StringThe tool name that was called.
allowed: boolWhether the call was authorized (passed the per-tool authz
check). false for denied calls.
duration_ms: f64The call duration in milliseconds (from the authz check through the upstream response).
error_code: Option<String>An optional error code (e.g. "unauthorized",
"upstream_error", "timeout"). None for successful calls.
status: StringThe call status: success, error, or denied.
Trait Implementations§
Source§impl Clone for McpToolCallRecord
impl Clone for McpToolCallRecord
Source§fn clone(&self) -> McpToolCallRecord
fn clone(&self) -> McpToolCallRecord
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for McpToolCallRecord
impl RefUnwindSafe for McpToolCallRecord
impl Send for McpToolCallRecord
impl Sync for McpToolCallRecord
impl Unpin for McpToolCallRecord
impl UnwindSafe for McpToolCallRecord
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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 more