Skip to content
Navigation

Model Context Protocol client, server, and tool integration for Exo.

Installation

Part of the exo-ai monorepo:

bash
git clone https://github.com/Midsphere-AI/exo-ai.git && cd exo-ai
uv sync

Module path

python
import exo.mcp

Package exports

ExportModuleDescription
MCPClientexo.mcp.clientHigh-level client managing multiple MCP server connections
MCPClientErrorexo.mcp.clientError raised by MCP client operations
MCPServerConfigexo.mcp.clientConfiguration for an MCP server connection
MCPServerConnectionexo.mcp.clientA live connection to an MCP server
MCPTransportexo.mcp.clientEnum of transport types (stdio, sse, streamable_http)
MCPExecutionErrorexo.mcp.executionError raised during MCP tool execution with retries
load_mcp_clientexo.mcp.executionCreate an MCPClient from an mcp.json config file
load_mcp_configexo.mcp.executionLoad MCP server configurations from an mcp.json file
substitute_env_varsexo.mcp.executionReplace ${VAR_NAME} placeholders with environment variable values
MCPServerErrorexo.mcp.serverError raised by MCP server operations
MCPServerRegistryexo.mcp.serverSingleton registry for @mcp_server-decorated classes
mcp_serverexo.mcp.serverClass decorator that converts a Python class into an MCP server
MCPToolErrorexo.mcp.toolsError raised during MCP tool operations
MCPToolFilterexo.mcp.toolsFilter for including/excluding MCP tools by name
MCPToolWrapperexo.mcp.toolsAn Exo Tool wrapping an MCP tool for execution
convert_mcp_toolsexo.mcp.toolsConvert a list of MCP tools to Exo MCPToolWrapper instances
extract_schemaexo.mcp.toolsExtract JSON Schema parameters from an MCP tool
namespace_tool_nameexo.mcp.toolsCreate a namespaced tool name: {namespace}__{server}__{tool}
parse_namespaced_nameexo.mcp.toolsParse a namespaced tool name back into (namespace, server, tool)

Submodules