# MCP Server shared foundation

> Command, Coded, and Self-Hosted MCP Servers all run code-based MCP Server implementations and share a common foundation. This page describes the runtime, transport, and configuration format that they have in common.

Command, Coded, and Self-Hosted MCP Servers all run code-based MCP Server implementations and share a common foundation. This page describes the runtime, transport, and configuration format that they have in common.

## Runtime library

The shared runtime is built on [uipath-mcp-python](https://github.com/UiPath/uipath-mcp-python), an open-source Python library that provides the runtime, SDK, and CLI for building and running MCP Servers on the UiPath Platform. It is built on top of the [uipath-python](https://github.com/UiPath/uipath-python) library.

## Transport

Communication with the platform flows over **Streamable HTTP**. A single process handles multiple sessions concurrently, each on its own connection, and the same transport is exposed to external MCP clients. This is the recommended path for new MCP Servers.

The older **stdio** transport, which starts a new process per session, is **deprecated** and retained only for backwards compatibility with MCP Servers built before Streamable HTTP support was introduced.

## Configuration format

Each MCP Server is described by an `mcp.json` configuration file, which defines the servers available in the runtime environment: their type, entry point, and arguments. The format is shared across Command, Coded, and Self-Hosted MCP Servers.
