rigosis-smax-mcp
MCP server for OpenText SMAX. The server has two modes, auto-detected at
startup via a capability probe (forceable with SMAX_MCP_MODE): agent
mode — work with EMS records (Incidents, Requests, Changes, People, Devices,
custom types), comments, and attachments from any MCP client; fifteen generic
tools including live schema discovery (describe_entity,
list_entity_types) and warn-first write validation; requires the "Access
OData API" role — and end-user (ESS) mode — 11 self-service portal tools,
live-verified against a real tenant; no OData role needed.
rigosis-smax-mcp is developed and licensed by Rigosis for integration with OpenText™ Service Management software, formerly known as SMAX. It is not an OpenText product.
Requirements
- uv (provides
uvx; installs its own Python) - A SMAX user and a Personal Access Token (Service Portal → Personal Access Tokens), or username/password. Agent mode additionally needs the "Access OData API" role; end-user (ESS) mode does not.
Quick setup (recommended)
uvx --refresh --from rigosis-smax-mcp smax-mcp-setup
An interactive wizard: asks for your connection details, tests them live against your tenant, writes the Claude Desktop config for you (backing up any existing file), and prints ready-to-paste snippets for every other MCP client. If it ends with a green checkmark, you're done — the sections below are the manual alternative.
Verify your setup first
uvx --from rigosis-smax-mcp smax-mcp-verify
This checks configuration and authenticates against your tenant before you
wire up any client. It reads the environment variables below (a .env file
found from the working directory upward also works).
Configuration
| Variable | Meaning |
|---|---|
SMAX_MCP_BASE_URL |
e.g. https://smax.example.com (required) |
SMAX_MCP_TENANT_ID |
numeric tenant id (required) |
SMAX_MCP_USERNAME |
Service Portal login (required) |
SMAX_MCP_PAT |
Personal Access Token — recommended; paired with the username that created it |
SMAX_MCP_PASSWORD |
alternative to PAT: password auth (JWT fetched automatically) |
SMAX_MCP_VERIFY_SSL |
default true |
SMAX_MCP_CA_BUNDLE |
CA bundle path for private CAs |
SMAX_MCP_READ_ONLY |
true registers only read tools (default false) |
SMAX_MCP_ATTACHMENTS_DIR |
sandbox directory for attachment upload/download (required for attachment tools) |
SMAX_MCP_MAX_ATTACHMENT_MB |
default 10 |
SMAX_MCP_SKIP_SCHEMA_CHECK |
true disables the warn-only pre-write schema check |
SMAX_MCP_MODE |
default auto; agent/ess force a mode and skip the startup capability probe (a restricted agent may otherwise probe as ess) |
SMAX_MCP_SETUP_LANG |
smax-mcp-setup only — wizard guidance language, en (default) or tr. Never written into the generated config. The end user's chat language is read live from their SMAX profile |
SMAX_MCP_SYSTEM_NAME |
Customer-facing name your org calls this system (default SMAX, e.g. DODESK). The assistant uses it in user-facing wording; "OpenText SMAX" stays the technical product name. Written into the generated config and returned by whoami |
Preconfigured install. An admin can bake the org's connection into one
command by pre-setting SMAX_MCP_BASE_URL, SMAX_MCP_TENANT_ID,
SMAX_MCP_SETUP_LANG, and SMAX_MCP_SYSTEM_NAME; the wizard then skips those
questions and each end user only types their own username and token. In ESS mode the server
also reads the signed-in user's SMAX language (person/me Locale) at
startup and asks the model to reply in that language.
Use a least-privilege SMAX integration account — every tool acts as that one configured user.
Connect an MCP client
The server speaks MCP over stdio. Generic client configuration:
- command:
uvx - args:
["--from", "rigosis-smax-mcp", "smax-mcp"] - environment: the variables above
Claude Code:
claude mcp add smax \
--env SMAX_MCP_BASE_URL=https://smax.example.com \
--env SMAX_MCP_TENANT_ID=123456789 \
--env SMAX_MCP_USERNAME=integration.user \
--env SMAX_MCP_PAT=your-token \
--env SMAX_MCP_ATTACHMENTS_DIR=/path/to/attachments \
-- uvx --from rigosis-smax-mcp smax-mcp
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"smax": {
"command": "uvx",
"args": ["--from", "rigosis-smax-mcp", "smax-mcp"],
"env": {
"SMAX_MCP_BASE_URL": "https://smax.example.com",
"SMAX_MCP_TENANT_ID": "123456789",
"SMAX_MCP_USERNAME": "integration.user",
"SMAX_MCP_PAT": "your-token",
"SMAX_MCP_ATTACHMENTS_DIR": "C:\\smax-attachments"
}
}
}
}
Windows note: SMAX_MCP_ATTACHMENTS_DIR takes a normal Windows path; create
the directory before first use.
In a session, call whoami first as a connectivity smoke test.
Support
Contact your Rigosis representative. Use of this software is governed by the LICENSE file and your agreement with Rigosis Information Systems.
Release files for rigosis-smax-mcp 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rigosis_smax_mcp-0.6.0.tar.gz | 42.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rigosis_smax_mcp-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 88.0 kB
Release files / rigosis_smax_mcp-0.6.0.tar.gz
| Download URL | rigosis_smax_mcp-0.6.0.tar.gz |
|---|---|
| Size | 42.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75a547cd67ae2f3a8757dd4963d002167eaba49c6ca230be99d811294707abbf
|
|
BLAKE2b-256 checksum How to use checksums |
674dfa0eee6169546866422cc47562e9f52bee7e5279ba9dc7d2519e8c3a37c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / rigosis_smax_mcp-0.6.0-py3-none-any.whl
| Download URL | rigosis_smax_mcp-0.6.0-py3-none-any.whl |
|---|---|
| Size | 45.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
da86ba3bf99a8eb2743dade3b9b452159dc3d47737e8898959d14dad81ac2a2f
|
|
BLAKE2b-256 checksum How to use checksums |
aa4f6bd5c18fe5704af79391eb799fc15e0447deab2c85fb6d54c61a8043a909
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency log