pub struct WebSearchTool {
pub tool_type: String,
pub name: String,
pub allowed_domains: Option<Vec<String>>,
pub blocked_domains: Option<Vec<String>>,
pub max_uses: Option<u32>,
pub user_location: Option<UserLocation>,
pub cache_control: Option<CacheControl>,
}Expand description
Web search tool — lets Claude search the internet during a response.
§Example
use claude_sdk::server_tools::WebSearchTool;
let tool = WebSearchTool::new()
.with_allowed_domains(vec!["example.com".into()])
.with_max_uses(5);Fields§
§tool_type: StringAlways "web_search_20260209" (or overridden via constructor)
name: StringTool name (always "web_search")
allowed_domains: Option<Vec<String>>Restrict searches to these domains only
blocked_domains: Option<Vec<String>>Never search these domains
max_uses: Option<u32>Maximum number of searches per request
user_location: Option<UserLocation>User’s location for localizing search results
cache_control: Option<CacheControl>Cache control for this tool definition
Implementations§
Source§impl WebSearchTool
impl WebSearchTool
Sourcepub fn with_allowed_domains(self, domains: Vec<String>) -> Self
pub fn with_allowed_domains(self, domains: Vec<String>) -> Self
Restrict searches to the specified domains.
Sourcepub fn with_blocked_domains(self, domains: Vec<String>) -> Self
pub fn with_blocked_domains(self, domains: Vec<String>) -> Self
Block searches from the specified domains.
Sourcepub fn with_max_uses(self, max: u32) -> Self
pub fn with_max_uses(self, max: u32) -> Self
Set the maximum number of web searches allowed per request.
Sourcepub fn with_user_location(self, location: UserLocation) -> Self
pub fn with_user_location(self, location: UserLocation) -> Self
Set the user’s location for localizing search results.
Sourcepub fn with_cache_control(self, cache_control: CacheControl) -> Self
pub fn with_cache_control(self, cache_control: CacheControl) -> Self
Set cache control for this tool definition.
Trait Implementations§
Source§impl Clone for WebSearchTool
impl Clone for WebSearchTool
Source§fn clone(&self) -> WebSearchTool
fn clone(&self) -> WebSearchTool
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WebSearchTool
impl Debug for WebSearchTool
Source§impl Default for WebSearchTool
impl Default for WebSearchTool
Source§impl<'de> Deserialize<'de> for WebSearchTool
impl<'de> Deserialize<'de> for WebSearchTool
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<WebSearchTool> for ToolDefinition
impl From<WebSearchTool> for ToolDefinition
Source§fn from(tool: WebSearchTool) -> ToolDefinition
fn from(tool: WebSearchTool) -> ToolDefinition
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for WebSearchTool
impl RefUnwindSafe for WebSearchTool
impl Send for WebSearchTool
impl Sync for WebSearchTool
impl Unpin for WebSearchTool
impl UnsafeUnpin for WebSearchTool
impl UnwindSafe for WebSearchTool
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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 moreCreates a shared type from an unshared type.