Expand description
MCP client management built on top of the Codex MCP building blocks.
This module adapts the reference MCP client, server and type
definitions from https://github.com/openai/codex to integrate them
with VT Code’s multi-provider configuration model. The original
implementation inside this project had grown organically and mixed a
large amount of bookkeeping logic with the lower level rmcp client
transport. The rewritten version keeps the VT Code specific surface
(allow lists, tool indexing, status reporting) but delegates the
actual protocol interaction to a lightweight RmcpClient adapter
that mirrors Codex’ mcp-client crate. This dramatically reduces
the amount of bespoke glue we have to maintain while aligning the
behaviour with the upstream MCP implementations.
Re-exports§
pub use connection_pool::ConnectionPoolStats;pub use connection_pool::McpConnectionPool;pub use connection_pool::McpPoolError;pub use connection_pool::PooledMcpManager;pub use connection_pool::PooledMcpStats;pub use errors::ErrorCode;pub use errors::McpResult;pub use errors::configuration_error;pub use errors::initialization_timeout;pub use errors::provider_not_found;pub use errors::schema_invalid;pub use errors::tool_invocation_failed;pub use errors::tool_not_found;pub use rmcp_transport::HttpTransport;pub use rmcp_transport::create_http_transport;pub use rmcp_transport::create_stdio_transport;pub use rmcp_transport::create_stdio_transport_with_stderr;pub use schema::validate_against_schema;pub use schema::validate_tool_input;pub use tool_discovery::DetailLevel;pub use tool_discovery::ToolDiscovery;pub use tool_discovery::ToolDiscoveryResult;pub use traits::McpElicitationHandler;pub use traits::McpToolExecutor;pub use types::FileParamSchemaEntry;pub use types::FileUploadResult;pub use types::McpClientStatus;pub use types::McpElicitationRequest;pub use types::McpElicitationResponse;pub use types::McpPromptDetail;pub use types::McpPromptInfo;pub use types::McpResourceData;pub use types::McpResourceInfo;pub use types::McpToolInfo;pub use types::OPENAI_FILE_PARAMS_META_KEY;pub use types::OPENAI_FILE_PARAMS_VALUE;pub use types::ProvidedFilePayload;pub use utils::LOCAL_TIMEZONE_ENV_VAR;pub use utils::TIMEZONE_ARGUMENT;pub use utils::TZ_ENV_VAR;pub use utils::build_headers;pub use utils::detect_local_timezone;pub use utils::ensure_timezone_argument;pub use utils::schema_requires_field;
Modules§
- cli
- CLI commands for managing Model Context Protocol providers.
- connection_
pool - MCP connection pool for efficient provider management
- enhanced_
config - Enhanced MCP Configuration
- errors
- rmcp_
transport - schema
- tool_
discovery - Tool discovery and search functionality for MCP tools.
- tool_
discovery_ cache - Tool discovery caching system for MCP to avoid redundant tool searches
- traits
- MCP trait abstractions for tool execution and elicitation handling.
- types
- Core MCP data types for tool, resource, and prompt information.
- utils
- Utility functions for MCP client operations.
Structs§
Enums§
- Elicitation
Action - Represents the possible actions a user can take in response to an elicitation request.
Constants§
- LATEST_
PROTOCOL_ VERSION - MCP protocol version constants
- SUPPORTED_
PROTOCOL_ VERSIONS
Functions§
- validate_
mcp_ config - Validate MCP configuration settings