pub enum McpAuth {
None,
Bearer(String),
ApiKey {
header: String,
key: String,
},
OAuth2(Arc<OAuth2Config>),
}Available on crate feature
tools only.Expand description
Authentication configuration for MCP connections
Variants§
None
No authentication required
Bearer(String)
Static bearer token
ApiKey
API key in header
OAuth2(Arc<OAuth2Config>)
OAuth2 with automatic token refresh
Implementations§
Source§impl McpAuth
impl McpAuth
Sourcepub fn api_key(header: impl Into<String>, key: impl Into<String>) -> McpAuth
pub fn api_key(header: impl Into<String>, key: impl Into<String>) -> McpAuth
Create API key auth
Sourcepub fn oauth2(config: OAuth2Config) -> McpAuth
pub fn oauth2(config: OAuth2Config) -> McpAuth
Create OAuth2 auth
Sourcepub async fn get_headers(&self) -> Result<HashMap<String, String>, AuthError>
pub async fn get_headers(&self) -> Result<HashMap<String, String>, AuthError>
Get authorization headers for a request
Sourcepub fn is_configured(&self) -> bool
pub fn is_configured(&self) -> bool
Check if authentication is configured
Trait Implementations§
Auto Trait Implementations§
impl Freeze for McpAuth
impl !RefUnwindSafe for McpAuth
impl Send for McpAuth
impl Sync for McpAuth
impl Unpin for McpAuth
impl UnsafeUnpin for McpAuth
impl !UnwindSafe for McpAuth
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.