pub struct Provider {Show 33 fields
pub name: String,
pub description: String,
pub base_url: String,
pub auth_type: AuthType,
pub auth_key_name: Option<String>,
pub auth_header_name: Option<String>,
pub auth_query_name: Option<String>,
pub auth_value_prefix: Option<String>,
pub extra_headers: HashMap<String, String>,
pub oauth2_token_url: Option<String>,
pub auth_secret_name: Option<String>,
pub oauth2_basic_auth: bool,
pub internal: bool,
pub handler: String,
pub mcp_transport: Option<String>,
pub mcp_command: Option<String>,
pub mcp_args: Vec<String>,
pub mcp_url: Option<String>,
pub mcp_env: HashMap<String, String>,
pub cli_command: Option<String>,
pub cli_default_args: Vec<String>,
pub cli_env: HashMap<String, String>,
pub cli_timeout_secs: Option<u64>,
pub openapi_spec: Option<String>,
pub openapi_include_tags: Vec<String>,
pub openapi_exclude_tags: Vec<String>,
pub openapi_include_operations: Vec<String>,
pub openapi_exclude_operations: Vec<String>,
pub openapi_max_operations: Option<usize>,
pub openapi_overrides: HashMap<String, OpenApiToolOverride>,
pub auth_generator: Option<AuthGenerator>,
pub category: Option<String>,
pub skills: Vec<String>,
}Fields§
§name: String§description: String§base_url: StringBase URL for HTTP providers. Optional for MCP providers.
auth_type: AuthType§auth_key_name: Option<String>§auth_header_name: Option<String>Custom header name for auth_type = “header” (default: “X-Api-Key”). Examples: “X-Finnhub-Token”, “X-API-KEY”, “Authorization”
auth_query_name: Option<String>Custom query parameter name for auth_type = “query” (default: “api_key”).
auth_value_prefix: Option<String>Optional prefix for auth header value (e.g. “Token “, “Basic “). Used with auth_type = “header”. Value becomes: “{prefix}{key}”.
extra_headers: HashMap<String, String>Additional headers to include on every request for this provider. Examples: X-Goog-FieldMask, X-EBAY-C-MARKETPLACE-ID
oauth2_token_url: Option<String>Token URL for OAuth2 (relative to base_url or absolute)
auth_secret_name: Option<String>Second key name for OAuth2 client_secret
oauth2_basic_auth: boolIf true, send OAuth2 credentials via Basic Auth header instead of form body. Some providers (e.g. Sovos) require this per RFC 6749 §2.3.1.
internal: bool§handler: String§mcp_transport: Option<String>MCP transport type: “stdio” or “http”
mcp_command: Option<String>Command to launch stdio MCP server (e.g., “npx”, “uvx”)
mcp_args: Vec<String>Arguments for stdio command (e.g., [“-y”, “@modelcontextprotocol/server-github”])
mcp_url: Option<String>URL for HTTP/Streamable HTTP MCP server
mcp_env: HashMap<String, String>Environment variables to pass to stdio subprocess
cli_command: Option<String>Command to run for CLI providers (e.g., “gsutil”, “gh”, “kubectl”)
cli_default_args: Vec<String>Default args prepended to every invocation
cli_env: HashMap<String, String>Environment variables for CLI. ${key} = string from keyring, @{key} = credential file
cli_timeout_secs: Option<u64>Default timeout in seconds (default: 120)
openapi_spec: Option<String>Path (relative to ~/.ati/specs/) or URL to OpenAPI spec (JSON or YAML)
Only include operations with these tags
Exclude operations with these tags
openapi_include_operations: Vec<String>Only include operations with these operationIds
openapi_exclude_operations: Vec<String>Exclude operations with these operationIds
openapi_max_operations: Option<usize>Maximum number of operations to register (for huge APIs)
openapi_overrides: HashMap<String, OpenApiToolOverride>Per-operationId overrides (hint, tags, description, response_extract, etc.)
auth_generator: Option<AuthGenerator>Optional auth generator for producing short-lived credentials at call time. Runs where secrets live (proxy server in proxy mode, local machine in local mode).
category: Option<String>Provider category for discovery (e.g., “finance”, “search”, “social”)
skills: Vec<String>Associated skill URLs (git repos) that teach agents how to use this provider’s tools. Each entry is a git URL, optionally with a #fragment for subdirectory.
Implementations§
Source§impl Provider
impl Provider
Sourcepub fn is_openapi(&self) -> bool
pub fn is_openapi(&self) -> bool
Returns true if this provider uses OpenAPI spec-based tool discovery.
Sourcepub fn mcp_transport_type(&self) -> &str
pub fn mcp_transport_type(&self) -> &str
Returns the MCP transport type, defaulting to “stdio”.