# Procesio MCP Server
This is a Model Context Protocol (MCP) server designed to interact with the [Procesio](https://procesio.com/) automation platform API. It allows language models and other MCP clients to list, view, and manage Procesio workflows and instances.
This server uses API Key/Value authentication.
## Features
### Tools
The server currently provides the following tools:
* **`procesio_test_authentication`**:
* Description: Tests the API Key/Value authentication by fetching current user details.
* Input: None
* Output: JSON object with user details on success.
* **`procesio_list_projects`**:
* Description: Lists available Procesio process templates (workflows).
* Input (Optional): `pageNumber` (integer, default: 1), `pageItemCount` (integer, default: 20)
* Output: JSON object containing a paginated list of process templates.
* **`procesio_get_project_details`**:
* Description: Gets details for a specific Procesio process template (workflow).
* Input (Required): `projectId` (string - UUID of the process template)
* Output: JSON object with the detailed configuration of the specified process template.
* **`procesio_launch_project`**:
* Description: Launches an instance of a specific Procesio process template (workflow).
* Input (Required): `projectId` (string - UUID of the process template)
* Input (Optional): `payload` (object), `runSynchronous` (boolean), `debugMode` (boolean), `secondsTimeOut` (integer), `connectionId` (string - passed as header)
* Output: JSON object with details about the launched instance (e.g., instance ID). *Note: Launch may fail if the project is invalid.*
* **`procesio_get_instance_status`**:
* Description: Gets the status of a running or completed process instance.
* Input (Required): `instanceId` (string - UUID of the process instance)
* Input (Optional): `flowTemplateId` (string - UUID of the original template), `isArchived` (boolean)
* Output: JSON object with the status details of the specified instance.
## Configuration
This server requires environment variables to be set for authentication and API endpoint configuration. These can be provided via:
1. **`.env` file:** Create a `.env` file in the project root (`procesio-mcp-server/.env`) with the following content:
```dotenv
PROCESIO_API_KEY='YOUR_API_KEY'
PROCESIO_API_VALUE='YOUR_API_VALUE'
PROCESIO_USERNAME='your_procesio_username' # Still needed for initial check, though not used for auth
PROCESIO_PASSWORD='your_procesio_password' # Still needed for initial check, though not used for auth
PROCESIO_WEB_API_URL='https://webapi.procesio.app/' # Or your specific instance URL
PROCESIO_REALM='procesio01' # Or your specific realm if different
```
2. **MCP Settings File:** Alternatively, configure these directly in the `env` block of your MCP client's settings file (e.g., `cline_mcp_settings.json` or `claude_desktop_config.json`). This method is preferred when running via an MCP client as it ensures the variables are correctly passed to the server process.
```json
{
"mcpServers": {
"procesio": {
"command": "node",
"args": [
"/path/to/procesio-mcp-server/build/index.js"
],
"env": {
"PROCESIO_API_KEY": "YOUR_API_KEY",
"PROCESIO_API_VALUE": "YOUR_API_VALUE",
"PROCESIO_USERNAME": "your_procesio_username",
"PROCESIO_PASSWORD": "your_procesio_password",
"PROCESIO_WEB_API_URL": "https://webapi.procesio.app/",
"PROCESIO_REALM": "procesio01"
},
"disabled": false,
"autoApprove": []
}
}
}
```
*Replace `/path/to/` with the actual path to the server directory.*
## Development
Requires Node.js (LTS version recommended, see `.nvmrc`).
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
## Running Locally (for testing)
Ensure environment variables are set (e.g., via `.env` or exported in your shell).
```bash
npm run build
node build/index.js
```
The server will listen on stdio for MCP requests.
Certified by [MCP Review](https://mcpreview.com/mcp-servers/serenichron/procesio-mcp-server)
## License
This project is licensed under the Apache License, Version 2.0. See the [LICENSE](LICENSE) file for details.