Building Composite Model Context Protocol (MCP) Gateways in TypeScript