# ex_utcp v0.3.2 - API Reference

## Modules

- [ExUtcp](ExUtcp.md): Elixir implementation of the Universal Tool Calling Protocol (UTCP).
- [ExUtcp.Auth](ExUtcp.Auth.md): Authentication mechanisms for UTCP providers.
- [ExUtcp.Client](ExUtcp.Client.md): Main UTCP client implementation.
- [ExUtcp.Config](ExUtcp.Config.md): Configuration management for UTCP client.
- [ExUtcp.Monitoring](ExUtcp.Monitoring.md): Monitoring and metrics system for ExUtcp.
- [ExUtcp.Monitoring.HealthCheck](ExUtcp.Monitoring.HealthCheck.md): Health check system for ExUtcp components.
- [ExUtcp.Monitoring.Metrics](ExUtcp.Monitoring.Metrics.md): Metrics collection and aggregation for ExUtcp operations.
- [ExUtcp.Monitoring.Performance](ExUtcp.Monitoring.Performance.md): Performance monitoring for ExUtcp operations.
- [ExUtcp.Monitoring.PromEx](ExUtcp.Monitoring.PromEx.md): PromEx configuration for ExUtcp metrics.
- [ExUtcp.Monitoring.PromEx.Plugin](ExUtcp.Monitoring.PromEx.Plugin.md): Custom PromEx plugin for ExUtcp-specific metrics.

- [ExUtcp.OpenApiConverter](ExUtcp.OpenApiConverter.md): OpenAPI Converter for automatic API discovery and tool generation.
- [ExUtcp.OpenApiConverter.AuthMapper](ExUtcp.OpenApiConverter.AuthMapper.md): Maps OpenAPI security schemes to UTCP authentication configurations.

- [ExUtcp.OpenApiConverter.Generator](ExUtcp.OpenApiConverter.Generator.md): Generates UTCP tools from parsed OpenAPI specifications.

- [ExUtcp.OpenApiConverter.Parser](ExUtcp.OpenApiConverter.Parser.md): OpenAPI specification parser for both 2.0 and 3.0 versions.

- [ExUtcp.OpenApiConverter.Types](ExUtcp.OpenApiConverter.Types.md): Types and data structures for OpenAPI Converter.

- [ExUtcp.OpenApiConverter.Types.Contact](ExUtcp.OpenApiConverter.Types.Contact.md): Contact information
- [ExUtcp.OpenApiConverter.Types.ConversionOptions](ExUtcp.OpenApiConverter.Types.ConversionOptions.md): OpenAPI conversion options
- [ExUtcp.OpenApiConverter.Types.ExternalDocs](ExUtcp.OpenApiConverter.Types.ExternalDocs.md): External documentation
- [ExUtcp.OpenApiConverter.Types.License](ExUtcp.OpenApiConverter.Types.License.md): License information
- [ExUtcp.OpenApiConverter.Types.OpenApiComponents](ExUtcp.OpenApiConverter.Types.OpenApiComponents.md): OpenAPI 3.0 components
- [ExUtcp.OpenApiConverter.Types.OpenApiInfo](ExUtcp.OpenApiConverter.Types.OpenApiInfo.md): OpenAPI 3.0 info section
- [ExUtcp.OpenApiConverter.Types.OpenApiMediaType](ExUtcp.OpenApiConverter.Types.OpenApiMediaType.md): OpenAPI 3.0 media type
- [ExUtcp.OpenApiConverter.Types.OpenApiOAuthFlow](ExUtcp.OpenApiConverter.Types.OpenApiOAuthFlow.md): OpenAPI 3.0 OAuth flow
- [ExUtcp.OpenApiConverter.Types.OpenApiOAuthFlows](ExUtcp.OpenApiConverter.Types.OpenApiOAuthFlows.md): OpenAPI 3.0 OAuth flows
- [ExUtcp.OpenApiConverter.Types.OpenApiOperation](ExUtcp.OpenApiConverter.Types.OpenApiOperation.md): OpenAPI 3.0 operation
- [ExUtcp.OpenApiConverter.Types.OpenApiParameter](ExUtcp.OpenApiConverter.Types.OpenApiParameter.md): OpenAPI 3.0 parameter
- [ExUtcp.OpenApiConverter.Types.OpenApiPathItem](ExUtcp.OpenApiConverter.Types.OpenApiPathItem.md): OpenAPI 3.0 path item
- [ExUtcp.OpenApiConverter.Types.OpenApiRequestBody](ExUtcp.OpenApiConverter.Types.OpenApiRequestBody.md): OpenAPI 3.0 request body
- [ExUtcp.OpenApiConverter.Types.OpenApiResponse](ExUtcp.OpenApiConverter.Types.OpenApiResponse.md): OpenAPI 3.0 response
- [ExUtcp.OpenApiConverter.Types.OpenApiSchema](ExUtcp.OpenApiConverter.Types.OpenApiSchema.md): OpenAPI 3.0 schema
- [ExUtcp.OpenApiConverter.Types.OpenApiSecurityScheme](ExUtcp.OpenApiConverter.Types.OpenApiSecurityScheme.md): OpenAPI 3.0 security scheme
- [ExUtcp.OpenApiConverter.Types.OpenApiServer](ExUtcp.OpenApiConverter.Types.OpenApiServer.md): OpenAPI 3.0 server
- [ExUtcp.OpenApiConverter.Types.OpenApiSpec](ExUtcp.OpenApiConverter.Types.OpenApiSpec.md): OpenAPI 3.0 specification structure
- [ExUtcp.OpenApiConverter.Types.ParsedInfo](ExUtcp.OpenApiConverter.Types.ParsedInfo.md): Parsed info section
- [ExUtcp.OpenApiConverter.Types.ParsedOperation](ExUtcp.OpenApiConverter.Types.ParsedOperation.md): Parsed operation information
- [ExUtcp.OpenApiConverter.Types.ParsedParameter](ExUtcp.OpenApiConverter.Types.ParsedParameter.md): Parsed parameter information
- [ExUtcp.OpenApiConverter.Types.ParsedPath](ExUtcp.OpenApiConverter.Types.ParsedPath.md): Parsed path information
- [ExUtcp.OpenApiConverter.Types.ParsedRequestBody](ExUtcp.OpenApiConverter.Types.ParsedRequestBody.md): Parsed request body information
- [ExUtcp.OpenApiConverter.Types.ParsedResponse](ExUtcp.OpenApiConverter.Types.ParsedResponse.md): Parsed response information
- [ExUtcp.OpenApiConverter.Types.ParsedSecurityScheme](ExUtcp.OpenApiConverter.Types.ParsedSecurityScheme.md): Parsed security scheme information
- [ExUtcp.OpenApiConverter.Types.ParsedServer](ExUtcp.OpenApiConverter.Types.ParsedServer.md): Parsed server information
- [ExUtcp.OpenApiConverter.Types.ParsedSpec](ExUtcp.OpenApiConverter.Types.ParsedSpec.md): Parsed OpenAPI specification
- [ExUtcp.OpenApiConverter.Types.SwaggerInfo](ExUtcp.OpenApiConverter.Types.SwaggerInfo.md): OpenAPI 2.0 info section
- [ExUtcp.OpenApiConverter.Types.SwaggerOperation](ExUtcp.OpenApiConverter.Types.SwaggerOperation.md): OpenAPI 2.0 operation
- [ExUtcp.OpenApiConverter.Types.SwaggerParameter](ExUtcp.OpenApiConverter.Types.SwaggerParameter.md): OpenAPI 2.0 parameter
- [ExUtcp.OpenApiConverter.Types.SwaggerPath](ExUtcp.OpenApiConverter.Types.SwaggerPath.md): OpenAPI 2.0 path item
- [ExUtcp.OpenApiConverter.Types.SwaggerResponse](ExUtcp.OpenApiConverter.Types.SwaggerResponse.md): OpenAPI 2.0 response
- [ExUtcp.OpenApiConverter.Types.SwaggerSchema](ExUtcp.OpenApiConverter.Types.SwaggerSchema.md): OpenAPI 2.0 schema
- [ExUtcp.OpenApiConverter.Types.SwaggerSecurityDefinition](ExUtcp.OpenApiConverter.Types.SwaggerSecurityDefinition.md): OpenAPI 2.0 security definition
- [ExUtcp.OpenApiConverter.Types.SwaggerSpec](ExUtcp.OpenApiConverter.Types.SwaggerSpec.md): OpenAPI 2.0 (Swagger) specification structure
- [ExUtcp.OpenApiConverter.Types.Tag](ExUtcp.OpenApiConverter.Types.Tag.md): Tag information
- [ExUtcp.OpenApiConverter.Types.ValidationError](ExUtcp.OpenApiConverter.Types.ValidationError.md): Validation error
- [ExUtcp.OpenApiConverter.Types.ValidationResult](ExUtcp.OpenApiConverter.Types.ValidationResult.md): OpenAPI validation result
- [ExUtcp.Providers](ExUtcp.Providers.md): Provider implementations for different protocols.
- [ExUtcp.Repository](ExUtcp.Repository.md): In-memory repository for storing providers and tools.
- [ExUtcp.Search](ExUtcp.Search.md): Advanced search functionality for UTCP tools and providers.
- [ExUtcp.Search.Engine](ExUtcp.Search.Engine.md): Search engine for managing and indexing UTCP tools and providers.
- [ExUtcp.Search.Filters](ExUtcp.Search.Filters.md): Search filters for UTCP tools and providers.
- [ExUtcp.Search.Fuzzy](ExUtcp.Search.Fuzzy.md): Fuzzy search implementation for UTCP tools and providers.
- [ExUtcp.Search.Ranking](ExUtcp.Search.Ranking.md): Search result ranking and scoring for UTCP tools and providers.
- [ExUtcp.Search.Security](ExUtcp.Search.Security.md): Security scanning for search results using TruffleHog.
- [ExUtcp.Search.Semantic](ExUtcp.Search.Semantic.md): Semantic search implementation for UTCP tools and providers.
- [ExUtcp.Tools](ExUtcp.Tools.md): Tool definitions and management for UTCP.
- [ExUtcp.Transports.Behaviour](ExUtcp.Transports.Behaviour.md): Behaviour definition for UTCP transports.
- [ExUtcp.Transports.Cli](ExUtcp.Transports.Cli.md): CLI transport implementation for UTCP.
- [ExUtcp.Transports.Graphql](ExUtcp.Transports.Graphql.md): Production-ready GraphQL transport implementation for UTCP.
- [ExUtcp.Transports.Graphql.Connection](ExUtcp.Transports.Graphql.Connection.md): Manages GraphQL connections with pooling and lifecycle management.

- [ExUtcp.Transports.Graphql.ConnectionBehaviour](ExUtcp.Transports.Graphql.ConnectionBehaviour.md): Behaviour for GraphQL connections to enable mocking in tests.

- [ExUtcp.Transports.Graphql.MockConnection](ExUtcp.Transports.Graphql.MockConnection.md): Mock connection for testing GraphQL transport without real network calls.

- [ExUtcp.Transports.Graphql.Pool](ExUtcp.Transports.Graphql.Pool.md): Manages a pool of GraphQL connections with lifecycle management.

- [ExUtcp.Transports.Graphql.PoolBehaviour](ExUtcp.Transports.Graphql.PoolBehaviour.md): Behaviour for GraphQL connection pools to enable mocking in tests.

- [ExUtcp.Transports.Graphql.Schema](ExUtcp.Transports.Graphql.Schema.md): GraphQL schema introspection and tool extraction utilities.

- [ExUtcp.Transports.Graphql.Testable](ExUtcp.Transports.Graphql.Testable.md): Testable version of the GraphQL transport that allows injecting mock modules.

- [ExUtcp.Transports.Grpc](ExUtcp.Transports.Grpc.md): Production-ready gRPC transport implementation for UTCP.
- [ExUtcp.Transports.Grpc.Connection](ExUtcp.Transports.Grpc.Connection.md): Manages gRPC connections with pooling and lifecycle management.

- [ExUtcp.Transports.Grpc.ConnectionBehaviour](ExUtcp.Transports.Grpc.ConnectionBehaviour.md): Behaviour for gRPC connections to enable mocking in tests.

- [ExUtcp.Transports.Grpc.Gnmi](ExUtcp.Transports.Grpc.Gnmi.md): gNMI (gRPC Network Management Interface) specific functionality.
- [ExUtcp.Transports.Grpc.Pool](ExUtcp.Transports.Grpc.Pool.md): Manages a pool of gRPC connections with lifecycle management.

- [ExUtcp.Transports.Grpc.PoolBehaviour](ExUtcp.Transports.Grpc.PoolBehaviour.md): Behaviour for gRPC connection pools to enable mocking in tests.

- [ExUtcp.Transports.Http](ExUtcp.Transports.Http.md): HTTP transport implementation for UTCP.
- [ExUtcp.Transports.Mcp](ExUtcp.Transports.Mcp.md): Production-ready MCP (Model Context Protocol) transport implementation for UTCP.
- [ExUtcp.Transports.Mcp.Connection](ExUtcp.Transports.Mcp.Connection.md): Manages MCP connections with JSON-RPC 2.0 communication.

- [ExUtcp.Transports.Mcp.ConnectionBehaviour](ExUtcp.Transports.Mcp.ConnectionBehaviour.md): Behaviour for MCP connections to enable mocking in tests.

- [ExUtcp.Transports.Mcp.Message](ExUtcp.Transports.Mcp.Message.md): Handles JSON-RPC 2.0 message formatting and parsing for MCP protocol.

- [ExUtcp.Transports.Mcp.Pool](ExUtcp.Transports.Mcp.Pool.md): Manages a pool of MCP connections for efficient resource usage.

- [ExUtcp.Transports.Mcp.PoolBehaviour](ExUtcp.Transports.Mcp.PoolBehaviour.md): Behaviour for MCP connection pools to enable mocking in tests.

- [ExUtcp.Transports.TcpUdp](ExUtcp.Transports.TcpUdp.md): TCP/UDP Transport implementation for low-level network protocols.
- [ExUtcp.Transports.TcpUdp.Connection](ExUtcp.Transports.TcpUdp.Connection.md): Manages individual TCP/UDP connections.
- [ExUtcp.Transports.TcpUdp.ConnectionBehaviour](ExUtcp.Transports.TcpUdp.ConnectionBehaviour.md): Behaviour for TCP/UDP connections to enable mocking in tests.

- [ExUtcp.Transports.TcpUdp.Pool](ExUtcp.Transports.TcpUdp.Pool.md): Manages a pool of TCP/UDP connections.
- [ExUtcp.Transports.TcpUdp.PoolBehaviour](ExUtcp.Transports.TcpUdp.PoolBehaviour.md): Behaviour for TCP/UDP connection pools to enable mocking in tests.

- [ExUtcp.Transports.TcpUdp.Testable](ExUtcp.Transports.TcpUdp.Testable.md): Testable module for TCP/UDP transport to enable mocking in tests.
- [ExUtcp.Transports.WebRTC](ExUtcp.Transports.WebRTC.md): WebRTC transport for ExUtcp.
- [ExUtcp.Transports.WebRTC.Connection](ExUtcp.Transports.WebRTC.Connection.md): WebRTC peer connection management for UTCP.
- [ExUtcp.Transports.WebRTC.ConnectionBehaviour](ExUtcp.Transports.WebRTC.ConnectionBehaviour.md): Behaviour for WebRTC Connection modules.
- [ExUtcp.Transports.WebRTC.Signaling](ExUtcp.Transports.WebRTC.Signaling.md): WebRTC signaling server client for exchanging SDP and ICE candidates.
- [ExUtcp.Transports.WebRTC.Testable](ExUtcp.Transports.WebRTC.Testable.md): Testable version of WebRTC transport that can use mocks.

- [ExUtcp.Transports.WebSocket](ExUtcp.Transports.WebSocket.md): WebSocket transport implementation for UTCP.
- [ExUtcp.Transports.WebSocket.Connection](ExUtcp.Transports.WebSocket.Connection.md): WebSocket connection handler for UTCP transport.
- [ExUtcp.Transports.WebSocket.ConnectionBehaviour](ExUtcp.Transports.WebSocket.ConnectionBehaviour.md): Behaviour for WebSocket connections to enable mocking in tests.

- [ExUtcp.Transports.WebSocket.Testable](ExUtcp.Transports.WebSocket.Testable.md): Testable version of WebSocket transport that can use mocks.

- [ExUtcp.Types](ExUtcp.Types.md): Core types and data structures for the UTCP protocol.

