> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # MCP Gateway > Bridge MCP servers with SignalWire SWAIG functions via an HTTP gateway. [agentbase-addmcpserver]: /docs/server-sdks/reference/python/agents/agent-base/add-mcp-server [mcp-gateway-cli-command]: /docs/server-sdks/reference/python/agents/cli/mcp-gateway [mcp-gateway]: /docs/server-sdks/reference/python/agents/mcp-gateway/mcp-gateway [session-manager]: /docs/server-sdks/reference/python/agents/mcp-gateway/session-manager [mcp-manager]: /docs/server-sdks/reference/python/agents/mcp-gateway/mcp-manager [mcp-client]: /docs/server-sdks/reference/python/agents/mcp-gateway/mcp-client The MCP Gateway module provides an HTTP/HTTPS server that bridges [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) servers with SignalWire SWAIG functions. It manages sessions, handles authentication, and translates between the MCP JSON-RPC protocol and SignalWire's tool-calling interface. Use the MCP Gateway when you want to expose tools from one or more MCP servers as SWAIG functions that a SignalWire AI agent can call during a conversation. ```python from signalwire.mcp_gateway import MCPGateway gateway = MCPGateway("config.json") gateway.run() ``` > **Info** > > For agent-side MCP integration, see > [`AgentBase.add_mcp_server()`][agentbase-addmcpserver]. > For the CLI entry point, see the > [`mcp-gateway` CLI command][mcp-gateway-cli-command]. ## **Learn More** #### [MCPGateway](/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-gateway) The main gateway service class. Loads configuration, sets up routes, and runs the HTTP server. #### [Session Management](/docs/server-sdks/reference/python/agents/mcp-gateway/session-manager) Session and SessionManager classes for tracking MCP session lifecycles. #### [MCP Management](/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-manager) MCPService and MCPManager classes for spawning and managing MCP servers. #### [MCPClient](/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-client) Client for communicating with a single MCP server subprocess via JSON-RPC. > Bridge MCP servers with SignalWire SWAIG functions via an HTTP gateway. ## Docs - [MCPClient](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-client.md): Manage a single MCP server subprocess with JSON-RPC communication. - [MCPGateway](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-gateway.md): The main HTTP gateway service bridging MCP servers with SignalWire SWAIG functions. - [run](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-gateway/run.md): Start the MCP Gateway HTTP server. - [shutdown](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-gateway/shutdown.md): Gracefully shut down the MCP Gateway service. - [MCPService, MCPClient & MCPManager](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-manager.md): Spawn, communicate with, and manage MCP server processes. - [create_client](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-manager/create-client.md): Create and start a new MCP client for a service. - [get_service_tools](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-manager/get-service-tools.md): Discover a service's available tools without maintaining a persistent session. - [shutdown](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-manager/shutdown.md): Stop all active MCP clients. - [validate_services](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/mcp-manager/validate-services.md): Validate that all configured services can be started successfully. - [Session & SessionManager](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/session-manager.md): Manage MCP session lifecycles with automatic timeout and cleanup. - [close_session](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/session-manager/close-session.md): Close and remove a session. - [create_session](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/session-manager/create-session.md): Create and register a new MCP session. - [get_session](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/session-manager/get-session.md): Retrieve an active session by ID. - [list_sessions](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/session-manager/list-sessions.md): List all active sessions with their metadata. - [shutdown](https://signalwire.com/docs/server-sdks/reference/python/agents/mcp-gateway/session-manager/shutdown.md): Close all sessions and stop the background cleanup thread.