This is an old revision of the document!
Stages MCP Server
MCP (Model Context Protocol) has established itself as the universal way to connect LLMs (Large Language Models) and other AI systems with data sources.
Through our MCP server, AI systems can access process data managed in Stages for various purposes and use cases.
In the currently provided MCP solution Stages provides access to a valid versions of workspaces only.
What it offers
The Stages MCP server grants access to the valid versions of all workspaces the authenticated user has access to and for which the “MCP” permission is granted.
Currently it offers 10 tools to browse and search workspaces and elements. This is subject to change.
Availability
The Stages MCP server is integrated into Stages 26.2.0.0 and later.
Note: Stages 7.12.5.1 or later and Stages 26.1.0.0 or later had a beta implementation of this feature that worked quite differently.
Configuration
Currently authentication is only available via external IdP like Entra ID or Keycloak.
IdP Configuration
To enable MCP add a resource configuration to your IdP. Typically a App or Client registration. If you already use OIDC you can use this configuration.
On this client add a custom scope, you can find this in “Expose an API” or “Client scopes”. In Entra ID you have to specify the Application ID URI. You have to use this format:
https://stages.example.com/stages/api/1/mcp
Use this as clientId TODO in configuration. In other systems it is the clientId of the application. Stages checks this value as audience claim.
Stages Configuration
Now add this to your <authentication> section in config.xml:
<method type="JWT" name="myIdp"> <properties> <property name="discoveryURI" value="${idp.myIdp.oidc.discovery.url}" /> <property name="clientId" value="${idp.myIdp.oidc.audience}" /> <!-- TODO --> <property name="customParams.usernameAttribute" value="upn" /> <!-- TODO --> </properties> <filters> <attribute-match id="*" pattern="*" defaultUserGroupsUsername="${user.default.username}" defaultLicenseType="${user.default.licenseType}" autocreateUser="${saml.autocreate}" /> </filters> </method>
discoveryURI: The link to your.well-known/openid-configurationfile. For Entra Id e.g. it ishttps://login.microsoftonline.com/<tenantId>/v2.0/.well-known/openid-configurationclientId: TODO The audience Stages (as resource server) has to check in JWT.customParams.usernameAttribute: TODO Where in JWT the username can be found. Typically the mail address.- Configure filter like in SAML / OIDC configuration TODO
Stages permissions
The MCP integration acts in the name of the user. The user needs MCP permission in addition to normal permission to view the workspaces and process elements via MCP. Add MCP Domain to default group if you want to enable all users to use MCP.
MCP client configuration
Direct your MCP client to this URL to access Stages MCP server:
https://stages.example.com/stages/api/1/mcp
Currently we're supporting Streamable HTTP.