User Guide
Getting Started
Installation and first launch
Data Sources
Connect to SAP and other systems
Rulesets
Load risk definitions
Browsing Data
Explore users and roles
Risk Analysis
Run user and role analysis
Simulation
Test access changes
Remediation
Generate remediation recommendations
Reports
Export analysis results
MCP Server
AI assistant integration
Getting Started
Installation
- Extract the ZIP file to any folder
- Launch
MTC_Skopos.exe(Windows) orMTC_Skopos(macOS/Linux) - no installation required - No administrator rights needed
System Requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| OS | Windows 10, macOS, Linux (64-bit) | Windows 11, macOS, Linux (64-bit) |
| RAM | 8 GB | 16 GB+ |
| Disk | 500 MB | 20 GB |
First Launch
- Open MTC Skopos
- Go to Data Sources to configure your first connection
- Load a Ruleset file
- Go to Analysis to run your first risk analysis
Data Sources
MTC Skopos supports three types of data sources:
SAP Remote Connection
Connect directly to a live SAP system via RFC (Remote Function Call).
- Click Add → SAP Remote
- Enter connection parameters:
| Field | Description |
|---|---|
| Name | Display name for this connection |
| Host | SAP application server address |
| System Number | System number (00-99) |
| Client | Client number |
| Language | EN, DE, FR, etc. |
-
Select authentication mode:
- User/Password: Standard RFC authentication
- SNC: Secure Network Communications with user/password
- SNC + X.509 Certificate: SNC with certificate-based SSO
-
For SNC modes, configure:
- SNC Library Path
- SNC Quality of Protection
- SNC Partner Name
-
Click Save
Required SAP Authorizations:
- Read access to
USR*tables (user master data) - Read access to
AGR_*tables (role data) - Execute access to RFC-enabled function modules
- Optional: Usage statistics tables
SAP File Import
Import data exported from SAP as CSV/TSV files.
- Click Add → SAP Files
- Select folder containing the exported files
- MTC Skopos auto-detects the following tables:
| Table | Purpose | Required |
|---|---|---|
| USR02 | User master records | Yes |
| AGR_USERS | User-role assignments | Yes |
| AGR_1251 | Role authorizations | Yes |
| AGR_1252 | Organization levels | Yes |
| AGR_AGRS | Composite role structure | Yes |
| AGR_DEFINE | Role definitions | Yes |
| AGR_1016 | Role transactions | Optional |
| UST04 | Profile assignments | Optional |
| UST12 | Authorization profiles | Optional |
| UST10S | User profiles | Optional |
| usage | Transaction usage data | Optional |
- Click Save
File Format Requirements:
- CSV or TSV with header row (SAP technical field names)
- UTF-8 or ANSI encoding
- Configurable delimiter (comma, semicolon, or tab)
Generic File Import
Import data from non-SAP systems using a standardized format.
- Click Add → Generic Files
- Select folder containing:
| File | Required Columns |
|---|---|
| users.csv | User ID, Full Name, User Type, User Group, Valid From, Valid To, Deleted |
| roles.csv | Role, Role Description, Authorization, Object, Field, Value From, Value To |
| composite_roles.csv | Composite Role, Single Role |
| user_role.csv | User ID, Composite Role, Single Role, Valid From, Valid To |
| usage.csv | user_id, action, count, last_used |
- Click Save
Managing Data Sources
- Refresh: Re-import data from a remote SAP system
- Edit: Modify connection settings
- View Statistics: See row counts (total, effective, ignored, unparsable)
Rulesets
Rulesets define the risks that MTC Skopos analyzes. Each ruleset contains risk definitions, business functions, actions, and permission requirements.
Loading a Ruleset
- Click Load Ruleset
- Select a ruleset file (CSV/TSV format)
- Configure the file delimiter if needed
- The ruleset loads and appears in the available rulesets
Rulesets configured in settings are automatically loaded when MTC Skopos starts.
Ruleset Structure
A ruleset defines:
| Element | Description |
|---|---|
| Risks | Risk ID, name, level (Critical/High/Medium/Low), type (SoD/Critical Access) |
| Functions | Business functions that group related actions |
| Actions | Transaction codes or activities |
| Permissions | Authorization object and field value requirements |
Included Rulesets
MTC Skopos includes pre-built rulesets:
| Ruleset | Coverage |
|---|---|
| SAP Business Risks | 200+ rules covering Finance, Procurement, HR, Basis |
| SOX Compliance | Sarbanes-Oxley aligned segregation of duties rules |
Custom Rulesets
To use custom rulesets, prepare a CSV/TSV file following the ruleset format and load it into MTC Skopos. The ruleset file can be opened and maintained directly in Microsoft Excel.
Multiple Rulesets
Multiple rulesets can be imported. Select the appropriate one before running your risk analysis.
Technical Considerations
-
System: This field identifies the system where the function is expected to be triggered.
Note: The system value must match exactly with the one defined in the corresponding data source(s).
-
Action: The
Actionfield acts as a permission group; permissions with the same action are evaluated together to trigger a function.Note: An action is not bound to a specific Tcode. If a transaction is involved, the authorization object
S_TCODEmust be included separately. -
Object: Represents the authorization object. All objects assigned to the same action are considered during evaluation.
-
Field: The authorization field within an object. All fields under the same object are taken into account.
-
Value From / To: A string range used for value matching. Values will be considered if they fall within the specified range, starting with special characters (e.g.
/) and ending with a letter (e.g.Z). -
Condition (AND / OR): Operators define how multiple values for the same field of the same object are interpreted:
ANDrequires the value to be met.ORrequires at least one value to be met.
Note: Combining
ANDandORis technically possible. In that case all values with conditionANDare required in combination with at least one value with conditionOR. -
Wildcard (
*) – ANY vs ALL:- To trigger the function by any value: use
* - To trigger the function by all values: use
' * '(quoted with a space)
- To trigger the function by any value: use
Example Explained
Note: The examples shown are not functionally correct, they're simply meant to explain how the tool processes and interprets technical input.
| Function | Action | Authorization Object | Field | Value From | Value To | Condition |
|---|---|---|---|---|---|---|
| Table Maintenance | SM30_NAM | S_TABU_NAM | ACTVT | 01 | OR | |
| Table Maintenance | SM30_NAM | S_TABU_NAM | ACTVT | 02 | OR | |
| Table Maintenance | SM30_NAM | S_TABU_NAM | ACTVT | 03 | AND | |
| Table Maintenance | SM30_NAM | S_TABU_NAM | TABLE | Z* | OR | |
| Table Maintenance | SM30_NAM | S_TABU_NAM | TABLE | A* | BKPF | OR |
| Table Maintenance | SM30_NAM | S_TCODE | TCD | SM30 | AND | |
| Table Maintenance | SM30_DIS | S_TABU_DIS | ACTVT | 01 | OR | |
| Table Maintenance | SM30_DIS | S_TABU_DIS | ACTVT | 02 | OR | |
| Table Maintenance | SM30_DIS | S_TABU_DIS | DICBERCLS | '*' | AND | |
| Table Maintenance | SM30_DIS | S_TCODE | TCD | SM30 | AND |
To trigger the Table Maintenance function, a user or role must be provisioned with either of the following sets of authorizations:
Option 1: Using S_TABU_NAM
- Transaction code:
SM30 - Authorization Object:
S_TABU_NAM- Field
ACTVTmust include:03AND (01OR02) - Field
TABLEmust include: Any table starting withZOR any table fromAtoBKPF
- Field
Option 2: Using S_TABU_DIS
- Transaction code:
SM30 - Authorization Object:
S_TABU_DIS- Field
ACTVTmust include:01OR02 - Field
DICBERCLSmust include: All table groups
- Field
Browsing Data
Each data source provides browsing capabilities to explore users, roles, and system information.
Data Source Information
Select a data source and view:
Info Tab:
- Connection type and configuration
- System name and type
- Table statistics (rows loaded, ignored, errors)
Users Tab:
- List of all users with filtering
- User details: ID, Type, Group, Valid dates, Lock status
- Role assignments (single and composite)
- Click a user to see detailed action usage
Roles Tab:
- List of all roles
- Role contents and structure
- User assignments
User Detail View
When viewing a specific user's usage:
| Information | Description |
|---|---|
| Composite Roles | Composite roles assigned to the user |
| Single Roles | Single roles within each composite |
| Actions | Transactions available through each role |
| Execution Count | Number of times each action was used |
| Last Used | Most recent execution date |
| Other Roles | Alternative roles providing the same action |
Exporting Data Source Information
Export detailed data source information for external tools:
- Select a data source
- Click Export
- Choose output directory
- Multiple JSON files are created for use with Power BI, AI tools, or custom analysis
Risk Analysis
MTC Skopos provides two analysis modes: User Analysis and Role Analysis.
Running User Analysis
Analyze risks at the user level to identify which users have conflicts.
- Go to Analysis
- Select Users mode
- Select one or more data sources
- Select a ruleset
- Configure filters (optional):
| Filter | Effect |
|---|---|
| Users | Analyze only specified users |
| User Groups | Filter by SAP user group |
| User Types | Dialog, System, Service, Communication, etc. |
| Single Roles | Only users with these single roles |
| Composite Roles | Only users with these composite roles |
| Risk Levels | Critical, High, Medium, Low |
| Risk Types | SoD, Critical Access, or both |
- Enable Cross System to analyze risks spanning multiple systems
- Click Run Analysis
Running Role Analysis
Analyze risks at the role level to identify inherent conflicts in role design.
- Go to Analysis
- Select Roles mode
- Select data sources and ruleset
- Configure filters (optional):
| Filter | Effect |
|---|---|
| Single Roles | Analyze only specified single roles |
| Composite Roles | Analyze only specified composite roles |
| Risk Levels | Critical, High, Medium, Low |
| Risk Types | SoD, Critical Access, or both |
- Click Run Analysis
Understanding Results
Results are displayed in a table with the following information:
| Column | Description |
|---|---|
| User/Role | Affected user or role name |
| Risk ID | Risk identifier (e.g., F001) |
| Risk Description | Human-readable risk name |
| Risk Level | Critical, High, Medium, or Low |
| Risk Type | SoD (Segregation of Duties) or Critical Access |
| Function | Business function(s) involved |
| Action | Transaction codes providing the access |
| Role | Role(s) granting the access |
| Composite Role | Parent composite role (if applicable) |
| Business Process | Business process category |
Filtering and Sorting Results
- Click column headers to sort
- Use the filter row to search within results
- Results load incrementally for large analyses
Simulation
Simulation allows you to test "what-if" scenarios before making changes in your SAP system.
User Simulation
Test the impact of role assignment changes on a specific user.
- In Analysis, select Users mode
- Go to the Simulation panel
- Use the Roles tab to simulate role changes:
| Action | How |
|---|---|
| Add role | Select a role to add to the user |
| Remove role | Select an assigned role to remove |
- Run the analysis with simulation enabled
- Results show:
- Added: New risks that would be created
- Removed: Risks that would be eliminated
- Unchanged: Existing risks unaffected by the change
Role Simulation
Test the impact of authorization changes within a role.
- In Analysis, select Roles mode
- Go to the Simulation panel
- Use the Authorizations tab to simulate changes:
| Action | How |
|---|---|
| Add authorization | Add a new permission to the role |
| Remove authorization | Remove an existing permission |
- Use the Composite Roles tab to simulate structure changes:
| Action | How |
|---|---|
| Add to composite | Add a single role to a composite |
| Remove from composite | Remove a single role from a composite |
- Run the analysis to see the impact on all affected users
Remediation
The remediation engine analyzes your risks and generates recommendations for resolving them.
Generating Recommendations
- Run a user analysis first
- Go to Remediation
- Configure remediation parameters
- Click Generate
Remediation Phases
The algorithm evaluates remediation options in order of impact:
- Remove user role assignments - Safest option when user has alternative access
- Remove single role from composite - Modify composite role structure
- Remove action from role - Last resort, may affect other users
Understanding Recommendations
For each risk, the remediation report shows:
| Field | Description |
|---|---|
| Risk | Risk ID and description |
| Function | Business function involved |
| Action | Transaction code |
| User | Affected user |
| Execution Count | Times the action was executed |
| Last Executed | Date of last use |
| Single Role Assignment | Roles directly assigned to user |
| Composite Role Assignment | Roles assigned via composite roles |
| Recommendation | Suggested remediation action |
Prioritization
Recommendations are prioritized based on:
- Risk severity (Critical risks prioritized)
- Usage frequency (unused access easier to remove)
- Collateral impact (changes affecting fewer users preferred)
Exporting Recommendations
Export remediation reports for further analysis or to share with stakeholders:
- Export for a specific risk
- Export all recommendations
Reports & Export
Exporting Analysis Results
All analysis results can be exported for audit evidence, further processing, or integration with other tools.
- Run an analysis
- Click Export
- Select output location
Export Format
Reports are exported as TSV (Tab-Separated Values) files, which can be opened in Excel or any spreadsheet application.
Report Types
Detailed Report - Complete risk listing with all columns:
| Column | Description |
|---|---|
| User ID | Username (user analysis) |
| User Group | User's group assignment |
| Access Risk ID | Risk identifier |
| Risk Description | Risk name |
| Risk Level | Critical/High/Medium/Low |
| Risk Type | SoD or Critical Access |
| Function | Business function |
| Function Description | Function name |
| System | Source system |
| Action | Transaction code |
| Action Description | Transaction name |
| Resource | Authorization object |
| Resource Extn | Authorization field |
| Value From | Field value start |
| Value To | Field value end |
| Role/Profile | Role providing access |
| Role/Profile Description | Role name |
| Composite Role | Parent composite (if applicable) |
| Composite Role Description | Composite role name |
| Business Process | Process category |
| Simulation | Add/Remove/unchanged (if simulation) |
Summary Report - Aggregated view of risks
Execution Log - Audit trail including:
- Version and build information
- Licensed customer
- Execution timestamp
Importing Previous Results
To re-analyze or review previous results:
- Go to Import Results
- Select a previously exported report file
- The results load with their original execution log
MCP Server
The MTC Skopos MCP Server enables AI assistants (Claude, ChatGPT, Copilot) to interact with your risk analysis data using the Model Context Protocol (MCP).
Configuration
The MCP server requires a mtc-skopos.data configuration file in the same directory as the executable. This file contains:
- Datasource configurations
- Analysis criteria and save directory paths
Integrating with AI Assistants
Claude Code CLI:
claude mcp add skopos /path/to/mcp-server
Claude Desktop: Configure in Claude Desktop settings under MCP servers.
Other AI tools: Configure the MCP server path in your tool's MCP configuration.
Available Tools
The MCP server exposes the following tools to AI assistants:
| Tool | Description |
|---|---|
init_session | Initialize session and load available datasources |
list_analysis_logs | List analysis log files with optional filters (date, system, user/role mode) |
summarize_analysis | Get summary of one or more analysis logs (risk counts, impacted users/roles) |
get_analysis_detail | Retrieve detailed report rows for specific users/roles or risks |
get_users_or_roles_triggering_risks | Find users/roles impacted by specific risks |
get_remediation_report | Generate remediation JSON for a specific risk |
find_roles_by_criteria | Find roles assigned to a user matching permission criteria |
find_single_roles_by_permission_criteria | Find single roles matching permission criteria |
describe_role | Get comprehensive description of a role (single or composite) |
Typical Workflow
- Initialize: Call
init_sessionto load datasources - Find analysis: Call
list_analysis_logsto locate relevant analyses - Summarize: Call
summarize_analysisfor overall risk picture - Deep dive: Call
get_remediation_reportorget_analysis_detailfor specific risks - Role analysis: Call
find_roles_by_criteriaordescribe_rolefor role-level details
Learn More
For detailed information about MCP integration, see our blog article: AI Meets SAP Security: How MCP Transforms MTC Skopos
Reference
Troubleshooting
Connection Errors
| Error | Solution |
|---|---|
| RFC connection failed | Verify host address, system number, and credentials |
| Timeout | Check network connectivity; SAP system may be slow |
| Authorization error | Verify RFC user has required table read permissions |
| SNC configuration error | Check SNC library path and partner name settings |
Analysis Issues
| Issue | Solution |
|---|---|
| No risks found | Verify ruleset contains rules matching your system's transactions |
| Missing users | Check that USR02 table was exported/imported correctly |
| Missing roles | Check that AGR_DEFINE table was exported/imported correctly |
| Slow analysis | Use filters to reduce scope; close unused data sources |
File Import Issues
| Issue | Solution |
|---|---|
| File not detected | Verify file names match expected table names |
| Parsing errors | Check file encoding (UTF-8) and delimiter settings |
| Missing columns | Verify export includes all required fields with SAP technical names |