MCP Integration
Available since Txture 51.0.2.
The Txture MCP Service provides a standardized interface that allows AI agents and development tools to interact directly with your Txture instance.
What Is the Model Context Protocol?
The Model Context Protocol (MCP) is an open standard that defines how AI agents and development tools communicate with external services. Txture implements an MCP server that exposes the platform's data model, query capabilities, and management operations as discoverable tools.
The MCP endpoint is available at https://{txture.url}/mcp and uses Streamable HTTP transport.
Why Connect AI Agents to Txture?
MCP enables AI-powered workflows and interaction with your Txture data model using natural language.
Example use cases:
- Querying asset information: Ask an AI agent to look up specific assets, filter by properties, or summarize your application landscape without writing API calls manually.
- Structure adjustments: Let an agent help you change the metamodel by modifying asset types, properties, and link types through natural language.
- Data ingestion exploration: Explore your data model interactively to understand which asset types, properties, and associations exist before setting up imports or integrations.
MCP clients automatically discover available tools and their parameters, so the agent always knows what operations are possible and how to call them.
Setting Up an MCP Connection
Before connecting an MCP client to Txture, ensure the following:
- Txture version 51.0.2 or later. The MCP endpoint is available by default once this version requirement is met.
- An MCP-compatible client, such as IBM Bob, Cursor, VS Code, or any client supporting the MCP specification.
- Authentication credentials:
- The Txture Server URL must be correctly configured in the System Configuration. This is set automatically for SaaS deployments. For on-premise installations, verify that the URL is correct - it is required for OAuth redirect links to work.
The MCP: Maximum Concurrent Clients setting in the System Configuration (default: 500) limits the number of simultaneous MCP connections. This setting protects against excessive load on the OAuth2 endpoints and typically does not need to be adjusted.
Choosing an Authentication Method
Txture supports two authentication methods for MCP connections. The following table shows which method is available for each client:
| Tested Client | Bearer Token | OAuth2 | Permissions |
|---|---|---|---|
| IBM Bob | ✅ | ❌ | Role of the API token |
| Cursor | ✅ | ❌ | Role of the API token |
| VS Code | ✅ | ✅ | OAuth2: permissions of the logged-in user. Bearer: role of the API token. |
Bearer token: The MCP session uses the role assigned to the API token. Create a token with only the permissions the agent needs. See API Tokens for how to create and manage tokens.
OAuth2 (VS Code only): The MCP client opens a browser window for login. The session inherits the full permissions of the authenticated user. Requires OAuth to be configured on your Txture instance.
Configuring Your MCP Client
If you want to restrict what an AI agent can access, prefer a Bearer token with a dedicated role over OAuth2.
Never hardcode credentials directly in configuration files that are checked into version control.
- Use environment variables for tokens and API keys.
- Add MCP configuration files containing secrets to your
.gitignore(for example,.bob/mcp.json,.cursor/mcp.json,.vscode/mcp.json).
The Txture MCP server uses Streamable HTTP transport. Clients that only support the older SSE protocol will receive a 400 error.
Replace {txture.url} in the examples below with the URL of your Txture instance (for example, mycompany.app.txture.io).
IBM Bob and Cursor
Bob and Cursor use the same configuration format.
| Client | Config Location (Global) | Config Location (Project) |
|---|---|---|
| Bob | ~/.bob/mcp_settings.json |
.bob/mcp.json |
| Cursor | ~/.cursor/mcp.json |
.cursor/mcp.json |
{
"mcpServers": {
"txture": {
"url": "https://{txture.url}/mcp",
"type": "streamable-http",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
VS Code
VS Code supports both OAuth2 and Bearer token authentication.
Option A: OAuth2 (recommended for interactive use)
Configuration in .vscode/mcp.json or ~/Library/Application Support/Code/User/mcp.json:
{
"servers": {
"txture": {
"url": "https://{txture.url}/mcp",
"type": "http"
}
}
}
On the first connection attempt, VS Code automatically opens a browser window for OAuth2 authentication. The token is managed by VS Code and renewed automatically when it expires.
Option B: Bearer token
{
"servers": {
"txture": {
"url": "https://{txture.url}/mcp",
"type": "http",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Discovering and Using Tools
The Txture MCP server provides 18 tools, organized into the following categories.
Tools are self-describing. Use your MCP client's tool discovery feature to see the full parameter details, types, and descriptions for each tool.
Data Query
| Tool | Description |
|---|---|
getStructure |
Retrieve the complete metamodel (asset types, link types, properties) |
getEntities |
Load entities by name or ID |
queryEntities |
Search entities with filters, sorting, and pagination |
getDeploymentStack |
Load the deployment stack of an entity |
getTimestampsOfAllBranches |
Get timestamp metadata for all branches (scenarios) |
getAllIcons |
List all registered icons |
Data Mutation
| Tool | Description |
|---|---|
applyChanges |
Apply a batch of changes to the asset repository as a single atomic commit. Supports creating and deleting entities, setting property values, and adding or removing associations. |
Structure Refactoring
| Tool | Description |
|---|---|
validateRefactoring |
Validate metamodel changes in a dry run (nothing is written) |
applyRefactoring |
Apply metamodel changes. Runs asynchronously - use getGroupRunStatus to track progress. |
These tools require the ADMIN_STRUCTURE_EDITOR permission.
Change Propagation
| Tool | Description |
|---|---|
getCurrentRuleSet |
Get the current change propagation rule set |
compileRule |
Compile a single rule (dry run) |
testRule |
Test a rule against a specific asset (dry run, nothing is persisted) |
saveRuleSet |
Replace the entire rule set and trigger re-evaluation |
getRuleSetCompilationErrors |
Get all compilation errors in the active rule set |
getCodeCompletionHints |
Get Groovy scripting hints for a specific asset type |
These tools require the ADMIN_CHANGE_PROPAGATION permission.
Utility
| Tool | Description |
|---|---|
generateNewTxtureIds |
Generate globally unique TxtureIds (t: + UUID) for creating new model objects such as assets and links |
generateNewDatabaseIds |
Generate globally unique DatabaseIds (d: + UUID) for objects such as propagation rules |
getGroupRunStatus |
Check the status of an asynchronous operation |
Understanding Txture Domain Concepts
The Txture MCP server uses specific ID formats and terminology that may differ from what you see in the UI.
ID Formats
| Type | Format | Example |
|---|---|---|
| TxtureId | t: + UUID v4 |
t:550e8400-e29b-41d4-a716-446655440000 |
| DatabaseId | d: + UUID v4 |
d:550e8400-e29b-41d4-a716-446655441234 |
TxtureIds are used for model elements (assets, properties, associations). DatabaseIds are used for non-model elements (users, rules).
Terminology
| UI Term | MCP / Technical Name |
|---|---|
| Property | Property |
| Asset Type | EntityClass |
| Link Type | AssociationClass |
| Aspect | Aspect |
| Scenario | Branch |
| Structure | InformationModel |