Skip to main content

Module mcp

Module mcp 

Source
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::provider_unavailable;
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§

McpClient
McpProvider

Enums§

ElicitationAction
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