#![cfg_attr(not(test), deny(clippy::unwrap_used, clippy::expect_used))]
#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
pub mod auth;
pub mod capability;
pub mod client;
pub mod elicitation;
pub mod executor;
pub mod form_elicitation;
pub mod http;
pub mod oauth;
pub mod protocol;
pub mod result;
pub mod transport;
#[cfg(feature = "mcp-stdio")]
pub mod stdio;
pub use auth::{
McpAuthProvider, McpAuthRequest, McpCredential, NoAuthProvider, StaticAuthProvider,
};
pub use capability::{
MCP_CAPABILITY_PREFIX, McpCapability, McpCapabilityIdExt, is_mcp_capability, mcp_capability_id,
parse_mcp_capability_id,
};
pub use client::McpClient;
pub use elicitation::{
CONSENT_TTL, ConsentingUrlElicitations, DeclineUrlElicitations, ElicitationAction,
ElicitationConsentStore, GrantedConsent, RelayUrlElicitations, StoredConsent, UrlElicitation,
UrlElicitationHandler, UrlElicitationPending, consent_storage_key, validate_elicitation_url,
};
pub use executor::{McpConnectionResolver, McpExecutor, StaticConnectionResolver};
pub use form_elicitation::{
FORM_ANSWER_TTL, FormAnswer, FormAnswerAction, FormAnswerStore, FormElicitation,
FormElicitationHandler, FormElicitationPending, FormOutcome, FormRefusal, FormSchema,
StoredFormAnswer, StoredFormAnswers, form_answer_storage_key, parse_requested_schema,
};
pub use http::{
HttpToolsList, HttpTransport, McpHttpStatusError, McpRpcError, http_call_tool, http_list_tools,
http_list_tools_with_cache_hints, http_request, http_send_rpc,
};
pub use oauth::validate_oauth_resource;
pub use protocol::{CacheHints, CacheScope, ClientCapabilities, Negotiated};
pub use result::{extract_json_from_response, map_tool_call_result};
pub use transport::{McpConnection, McpEndpoint, McpSecretBinding, McpTransport};
#[cfg(feature = "mcp-stdio")]
pub use stdio::StdioTransport;