Metadata-Version: 2.4
Name: uipath-mcp
Version: 0.0.108
Summary: UiPath MCP SDK
Project-URL: Homepage, https://uipath.com
Project-URL: Repository, https://github.com/UiPath/uipath-mcp-python
Maintainer-email: Marius Cosareanu <marius.cosareanu@uipath.com>, Cristian Pufu <cristian.pufu@uipath.com>
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.11
Requires-Dist: mcp==1.24.0
Requires-Dist: pysignalr==1.3.0
Requires-Dist: uipath<2.2.0,>=2.1.108
Description-Content-Type: text/markdown

# 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.

