MCP Integration

Note:

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:
    • Bearer token: Create an API Token with the appropriate role. Supported by all clients.
    • OAuth2: Currently only supported by VS Code. Requires OAuth to be configured on your Txture instance.
  • 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.
Note:

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

Tip:

If you want to restrict what an AI agent can access, prefer a Bearer token with a dedicated role over OAuth2.

Warning:

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.

Note:

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