Signavio MCP Server
# Signavio MCP Server
A comprehensive Model Context Protocol (MCP) server that provides seamless integration between SAP Signavio Process Manager and AI-powered development tools. This server exposes the complete Signavio API as a set of tools, enabling AI assistants like Claude, Cursor, and other MCP-compatible clients to interact with your Signavio workspace programmatically.
## Overview
The Signavio MCP Server bridges the gap between business process management and AI-assisted development workflows. Whether you're automating process documentation, managing business process models, maintaining process dictionaries, or integrating Signavio data into your development pipeline, this server provides a unified interface for all Signavio API operations.
### Key Features
- **Complete API Coverage**: Full access to Signavio Process Manager API endpoints including models, folders, dictionary entries, and search functionality
- **AI Assistant Integration**: Seamlessly works with Claude, Cursor, and other MCP-compatible AI development tools
- **Business Process Automation**: Automate process model creation, updates, exports, and management tasks
- **Dictionary Management**: Create, update, and search business process dictionaries and glossary entries
- **Multi-format Export**: Export process models in JSON, BPMN 2.0 XML, PNG, and SVG formats
- **Search Capabilities**: Full-text search across models, revisions, files, and dictionary entries
- **Zero Configuration**: Run directly with npx or install locally for development
## Prerequisites
- Node.js (v14 or higher)
- npm or yarn
- Signavio account with API access
- Your Signavio tenant ID (Workspace ID)
## Installation
### Option 1: Using npx (Recommended)
No installation required! You can run the MCP server directly using `npx`:
```bash
npx signavio-mcp
```
### Option 2: Local Installation
1. **Install the package:**
```bash
npm install signavio-mcp
```
2. **Or clone the repository:**
```bash
git clone https://github.com/willpowell8/signavio-mcp.git
cd signavio-mcp
npm install
```
## Configuration
**Configure environment variables:**
Create a `.env` file in the project root with your credentials:
```env
SIGNAVIO_BASE_URL=https://api.eu.signavio.cloud.sap
SIGNAVIO_EMAIL=your-email@example.com
SIGNAVIO_PASSWORD=your-password
SIGNAVIO_TENANT=your-tenant-id
```
**Note:** The base URL is region-specific. Use the appropriate URL for your region:
- EU: `https://api.eu.signavio.cloud.sap`
- USA: `https://api.us.signavio.cloud.sap`
- Australia: `https://api.au.signavio.cloud.sap`
- Canada: `https://api.ca.signavio.cloud.sap`
- Japan: `https://api.jp.signavio.cloud.sap`
- Singapore: `https://api.sgp.signavio.cloud.sap`
- South Korea: `https://api.kr.signavio.cloud.sap`
## Finding Your Tenant ID
To find your tenant ID (Workspace ID):
1. Log in to SAP Signavio Process Manager
2. In the Explorer, go to **Help** menu
3. Select **Workspace information**
4. Copy the **Workspace ID** - this is your tenant ID
## Security Notes
- Never commit your `.env` file to version control
- The `.env` file should be included in `.gitignore`
- Consider using environment variables or a secrets manager for production use
## MCP Server Configuration
The MCP server uses environment variables from your `.env` file. You can also:
- Set environment variables in your system
- Pass environment variables when starting the server
### MCP Client Configuration
For Cursor or other MCP-compatible clients, add this to your MCP configuration:
**Using npx (Recommended):**
```json
{
"mcpServers": {
"signavio-api": {
"command": "npx",
"args": ["-y", "signavio-mcp"],
"env": {
"SIGNAVIO_BASE_URL": "https://api.eu.signavio.cloud.sap",
"SIGNAVIO_EMAIL": "your-email@example.com",
"SIGNAVIO_PASSWORD": "your-password",
"SIGNAVIO_TENANT": "your-tenant-id"
}
}
}
}
```
**Using locally installed package:**
```json
{
"mcpServers": {
"signavio-api": {
"command": "node",
"args": ["/path/to/node_modules/signavio-mcp/mcp-server.js"],
"env": {
"SIGNAVIO_BASE_URL": "https://api.eu.signavio.cloud.sap",
"SIGNAVIO_EMAIL": "your-email@example.com",
"SIGNAVIO_PASSWORD": "your-password",
"SIGNAVIO_TENANT": "your-tenant-id"
}
}
}
}
```
### Available MCP Tools
The MCP server provides the following tools:
#### Authentication
- `signavio_authenticate` - Authenticate with Signavio API
#### Directory/Folder Operations
- `signavio_get_root_folders` - Get workspace root folders
- `signavio_get_folder_contents` - Get folder contents by ID
- `signavio_create_folder` - Create a new folder
- `signavio_update_folder` - Rename or update folder description
- `signavio_move_folder` - Move folder to new parent or trash
- `signavio_delete_folder` - Permanently delete a folder
#### Dictionary/Glossary Operations
- `signavio_search_dictionary` - Search dictionary entries
- `signavio_get_dictionary_entry` - Get specific dictionary entry
- `signavio_create_dictionary_entry` - Create new dictionary entry
- `signavio_update_dictionary_entry` - Update dictionary entry
- `signavio_delete_dictionary_entry` - Delete dictionary entry
- `signavio_get_dictionary_categories` - Get all dictionary categories
- `signavio_get_dictionary_category` - Get specific category
- `signavio_create_dictionary_category` - Create new category
#### Model Operations
- `signavio_get_model` - Get model metadata
- `signavio_get_model_revisions` - Get all model revisions
- `signavio_export_model` - Export model (json, bpmn2_0_xml, png, svg)
- `signavio_create_model` - Create new model/diagram
- `signavio_update_model` - Update model (creates new revision)
- `signavio_move_model` - Move model to different folder
- `signavio_publish_model` - Publish model(s) to Collaboration Hub
#### Search Operations
- `signavio_search` - Full-text search across all content types
### Running the MCP Server
**Using npx (Recommended):**
```bash
npx signavio-mcp
```
**Using locally installed package:**
```bash
npm start
```
**Or directly:**
```bash
node mcp-server.js
```
### Testing the MCP Server
A comprehensive test script is available to verify all MCP server functionality:
```bash
npm test
```
Or directly:
```bash
node test-mcp-server.js
```
The test script will:
- ✅ Test authentication
- ✅ Test directory/folder operations (get root folders, get folder contents)
- ✅ Test dictionary operations (categories, search, get entries)
- ✅ Test model operations (search, get model, get revisions, export)
- ✅ Test search functionality
- ✅ Provide a detailed summary of all tests
**Note:** The test script uses your `.env` configuration and will skip tests that require existing data (like getting a specific model) if no data is found. This is expected behavior for a clean workspace.
## API Documentation
For more information about the Signavio API, refer to the [SAP Signavio Process Manager API Guide](https://help.sap.com/doc/f453aaa41306444880035213c92c0144/SHIP/en-US/sap-signavio-process-modeler-api-guide-en.pdf).
TDQS
Scored across 23 tools
Every tool has a clearly distinct purpose targeting specific resources and actions. For example, signavio_create_dictionary_entry, signavio_get_dictionary_entry, signavio_update_dictionary_entry, and signavio_delete_dictionary_entry form a complete CRUD set for dictionary entries, with no overlap in functionality. Tools like signavio_export_model and signavio_publish_model serve unique export and publishing roles, making misselection unlikely.
All tools follow a consistent verb_noun pattern with the prefix 'signavio_' and snake_case throughout. The naming convention is predictable, using verbs like create, get, update, delete, move, export, publish, and search paired with specific nouns (e.g., dictionary_entry, folder, model). This uniformity enhances readability and usability for agents.
With 23 tools, the count is slightly high but reasonable for a comprehensive BPM/process modeling server like Signavio. It covers multiple domains (folders, models, dictionary, search), and each tool appears to earn its place by addressing specific operations. However, it borders on being heavy, which might overwhelm agents if not well-organized.
The tool surface provides complete CRUD/lifecycle coverage for key domains: folders (create, get, update, move, delete), models (create, get, update, move, export, publish, revisions), and dictionary entries (create, get, update, delete, categories). It includes essential utilities like authentication, search, and root folder access, with no obvious gaps that would cause agent failures in typical workflows.