# UiPath MCP Python SDK [![PyPI downloads](https://img.shields.io/pypi/dm/uipath-mcp.svg)](https://pypi.org/project/uipath-mcp/) [![PyPI - Version](https://img.shields.io/pypi/v/uipath-mcp)](https://img.shields.io/pypi/v/uipath-mcp) [![Python versions](https://img.shields.io/pypi/pyversions/uipath-mcp.svg)](https://pypi.org/project/uipath-mcp/) A Python SDK that enables hosting local MCP servers on UiPath Platform. Check out our [samples directory](https://github.com/UiPath/uipath-mcp-python/tree/main/samples) to explore various MCP server implementations. You can also learn how to [pack and host binary servers](https://github.com/UiPath/uipath-mcp-python/blob/main/docs/how_to_pack_binary.md) written in languages like Go within UiPath. ## Installation ```bash pip install uipath-mcp ``` using `uv`: ```bash uv add uipath-mcp ``` ## Configuration ### Servers Definition Create the `mcp.json` file: ```json { "servers": { "my-python-server": { "type": "stdio", "command": "python", "args": ["server.py"] }, } } ``` ## Command Line Interface (CLI) The SDK also provides a command-line interface for creating, packaging, and deploying Python-based MCP servers: ### Authentication ```bash uipath auth ``` This command opens a browser for authentication and creates/updates your `.env` file with the proper credentials. ### Initialize a Project ```bash uipath init [SERVER] ``` Creates a `uipath.json` configuration file for your project. If [SERVER] is not provided, it will create an entrypoint for each MCP server defined in the `mcp.json` file. ### Debug a Project ```bash uipath run [SERVER] ``` Starts the local MCP Server ### Package a Project ```bash uipath pack ``` Packages your MCP Server into a `.nupkg` file that can be deployed to UiPath. **Note:** Your `pyproject.toml` must include: - A description field (avoid characters: &, <, >, ", ', ;) - Author information Example: ```toml description = "Your package description" authors = [{name = "Your Name", email = "your.email@example.com"}] ``` ### Publish a Package ```bash uipath publish ``` Publishes the most recently created package to your UiPath Orchestrator. ## Project Structure To properly use the CLI for packaging and publishing, your project should include: - A `pyproject.toml` file with project metadata - A `mcp.json` file with servers metadata - A `uipath.json` file (generated by `uipath init`) - Any Python files needed for your automation ## Development ### Setting Up a Development Environment Please read our [contribution guidelines](CONTRIBUTING.md) before submitting a pull request.