Skip to main content

Crate vtcode_mcp

Crate vtcode_mcp 

Source
Expand description

Model Context Protocol (MCP) client management.

This crate adapts reference MCP client, server, and type definitions from openai/codex to integrate them with VT Code’s multi-provider configuration model (Apache-2.0). Copyright 2025 OpenAI. See the repository THIRD-PARTY-NOTICES file for the full license text and attribution.

The VT Code-specific surface (allow lists, tool indexing, status reporting) is original; only the protocol interaction layer mirrors Codex’ mcp-client crate.

Re-exports§

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 tool_discovery::DetailLevel;
pub use tool_discovery::ToolDiscovery;
pub use tool_discovery::ToolDiscoveryResult;
pub use traits::McpElicitationHandler;
pub use traits::McpToolExecutor;
pub use trust::MAX_UNTRUSTED_MCP_DESCRIPTION_BYTES;
pub use trust::render_untrusted_mcp_description;
pub use types::FileParamSchemaEntry;
pub use types::FileUploadResult;
pub use types::MCP_APP_DISCLOSURE_KEY;
pub use types::MCP_APP_SUPPRESSED_KEY;
pub use types::McpAppDisclosure;
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 types::disclose_app_resource;

Modules§

connection_pool
MCP connection pool for efficient provider management
enhanced_config
Enhanced MCP Configuration
errors
rmcp_transport
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.
trust
Prompt-boundary helpers for MCP-provided metadata.
types
Core MCP data types for tool, resource, and prompt information.

Structs§

McpClient
McpProvider
McpSandboxContext
Sandbox policy and launch context inherited by MCP stdio providers.
McpToolVisibility
Tool accessibility between model and app (SEP-1865 _meta.ui.visibility).
McpUiResourceMeta
Declared sandbox posture of an MCP Apps UI resource (SEP-1865 UIResourceMeta).
McpUiToolMeta
Linkage from an MCP tool to its MCP Apps UI resource.
MetaObject
General-purpose _meta map (spec MetaObject).

Enums§

ElicitationAction
Represents the possible actions a user can take in response to an elicitation request.
ResourceContents
The contents of a specific resource or sub-resource.

Constants§

MCP_UI_EXTENSION_ID
MCP Apps extension identifier (io.modelcontextprotocol/ui).
MCP_UI_RESOURCE_MIME_TYPE
MIME type a ui:// app resource must serve.
MCP_UI_RESOURCE_SCHEME
URI scheme identifying MCP Apps UI resources.

Functions§

parse_ui_resource_meta
Extract the UI sandbox posture from a resource’s _meta map.
validate_mcp_config
Validate MCP configuration settings