Ironclad Managed MCP Server
The Ironclad managed MCP server gives an LLM read and write access to Ironclad, a contract lifecycle management (CLM) platform. It’s useful for agents that need to find contracts, check signature status, launch new contracts from templates, or list a contract’s executed documents.
After reading this page, you will be able to:
-
Configure the Ironclad managed MCP server with per-user OAuth
-
Pick the right region and scopes for your tenant
-
List, fetch, and launch contract workflows from an agent
What this MCP server does
The server uses per-user OAuth 2.0 (Authorization Code grant). It stores no static API key in its configuration. Each user authorizes their own Ironclad account through AI Gateway’s OAuth flow.
It isn’t a replacement for the Ironclad web UI for complex workflow management or template authoring.
Prerequisites
Before you create the server, make sure you have:
-
An Ironclad instance with the API add-on and the OAuth feature enabled. Without them, Ironclad doesn’t show the settings where you register an OAuth app.
-
An OAuth provider configured in Redpanda Agentic Data Plane for Ironclad. See Configure an OAuth Provider.
-
Familiarity with User-delegated OAuth.
Get Ironclad credentials
Set up the OAuth app on Ironclad and the matching OAuth provider in Agentic Data Plane. Register a separate app in each Ironclad environment you use, because apps don’t carry over between environments.
-
In Ironclad, open your user profile menu and select Company Settings. Open the API tab, then the Applications tab, and click Create new app.
-
Set the redirect URI to your AI Gateway callback URL (typically
https://aigw.<cluster-id>.clusters.rdpa.co/oauth/v1/callback). -
Select the following scopes:
-
public.workflows.readWorkflows -
public.workflows.readSchemas -
public.workflows.createWorkflows -
public.workflows.readDocuments
-
-
Copy the
Client IDandClient Secret. -
In Agentic Data Plane, create a custom OAuth provider with:
-
Authorization endpoint:
https://ironcladapp.com/oauth/authorizefor North America,https://eu1.ironcladapp.com/oauth/authorizefor EU-hosted accounts, orhttps://demo.ironcladapp.com/oauth/authorizefor the demo environment -
Token endpoint:
https://ironcladapp.com/oauth/token, or theeu1ordemoequivalent -
Scopes: The same four scopes you selected on the Ironclad app
-
The Client ID and a secret-store reference for the Client Secret
-
Configure
Create a new Ironclad MCP server in Agentic Data Plane:
-
Open MCP servers in the sidebar.
-
Click Add MCP server.
-
Click the Ironclad card in the marketplace picker.
-
Replace the suggested
Name, and optionally add aDescription. -
In the Ironclad configuration form:
Field Notes regionIRONCLAD_REGION_NA(default),IRONCLAD_REGION_EUfor EU-hosted accounts, orIRONCLAD_REGION_DEMOfor sandbox testing.OAuth Provider
The Ironclad OAuth provider you configured.
Required scopes
public.workflows.readWorkflows,public.workflows.readSchemas,public.workflows.createWorkflows,public.workflows.readDocuments. Every required scope must also be in the provider’s scopes. A required scope the provider doesn’t request makes tool calls fail withscope_upgrade_requireduntil each user reconnects and grants it. If the Ironclad app isn’t allowed to grant that scope, every tool call keeps failing.EnabledunderQueryableAppears only if SQL tools are available in your organization, and starts on. Turn it off unless your agents need the two SQL tools. See Expose Ironclad data as SQL tables.
-
Click Create server.
Configure from the CLI
Ironclad authenticates per-user through the Ironclad OAuth provider you configured. Reference that provider in the managed configuration’s userOauth.providerName field. Ironclad supports per-user OAuth only, so the userOauth block is required. The --remote.user-oauth.provider-name and --remote.user-oauth.required-scopes flags belong to the remote flag group, so they apply to remote servers only.
rpk ai mcp-server create my-ironclad --enabled --managed.config '{
"@type": "type.googleapis.com/redpanda.mcps.ironclad.v1.IroncladMCPConfig",
"region": "IRONCLAD_REGION_NA",
"userOauth": {
"providerName": "ironclad"
}
}'
For EU-hosted accounts, use "IRONCLAD_REGION_EU". For sandbox testing, use "IRONCLAD_REGION_DEMO". The userOauth.providerName field is the resource name of the Ironclad OAuth provider you registered.
The create form turns Enable code mode on by default for this server type. rpk ai mcp-server create has no code-mode flag. To add code mode from the CLI, create a Code MCP server named <server-name>-code with --code.mcp-servers <server-name>. See Code Mode.
Tools
The Ironclad MCP exposes the following tools:
| Tool | Description |
|---|---|
|
List contracts with an optional |
|
Get full details of a contract by |
|
List available contract templates with their field IDs. |
|
Launch a new contract from a template ( |
|
List documents attached to a contract. It lists documents but doesn’t download them. |
The status argument on list_workflows takes active, paused, completed, or cancelled, and a comma-separated list such as active,completed selects several at once. Omit status to list active workflows only, which is Ironclad’s own default.
Both list_workflows and list_workflow_schemas page with a zero-indexed page and a per_page size. The size defaults to 20 and is capped at 50. A request for more than 50 rows returns at most 50 rows without an error. To get more rows, increase page by one on each call, and use total_count on the response to know how many rows match in all.
Example: List active contracts
curl -X POST https://aigw.<cluster-id>.clusters.rdpa.co/mcp/v1/my-ironclad \
-H "Authorization: Bearer <user-token>" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {
"name": "list_workflows",
"arguments": {"status": "active"}
}
}'
Expose Ironclad data as SQL tables
The Ironclad server can also present its list operations as read-only SQL tables, so an agent can filter contract data the way it would query a database. SQL exposure is the Enabled toggle under Queryable in the server’s configuration. If SQL tools are available in your organization, the create form shows Queryable with Enabled on, so a server you create there is queryable unless you turn it off. Otherwise the form doesn’t show Queryable, and the server starts with SQL exposure off. Creating a server with rpk ai leaves SQL exposure off unless the managed configuration sets it. An existing server keeps the setting it was saved with. To change it, open the server’s edit form, which shows Queryable if SQL tools are available in your organization or if the server was saved with SQL exposure on. SQL exposure adds two tools:
-
list_tables: Return the table catalog. For each table, the catalog lists its columns and their types, which columns can be filtered and with which operators, whether each filter is exact, the page-size limit, and a schema fingerprint that every query response repeats so a caller can tell when the catalog changed. -
execute_query: Run one query against a table and return a page of rows plus a cursor for the next page.
The tables are:
| Table | Contents |
|---|---|
|
Active workflows only, because Ironclad returns active workflows when no status is sent, and the server sends none. Paused, completed, and cancelled workflows aren’t listed. Use |
|
Every workflow template the connected user can see, with its field definitions as a JSON column. The table offers no filters. |
|
The documents on one workflow. Every query has to filter on |
A page holds at most 50 rows on workflows and workflow_schemas.
The tools that read a single workflow or launch one stay plain tools.
With SQL exposure on, the two tools are available to every caller of the server, including agents. Turn off Enabled on a server whose agents should only reach the curated Ironclad tools.
|
To trim the catalog table by table, hide columns, require filters, retype a column, or serve a table under another name, use the SQL exposure tab on the server’s page. That tab works the same way for every managed type that offers SQL tables. See Narrow what the SQL tools expose. If the server’s page has no SQL exposure tab, narrowing isn’t enabled for your organization. The Enabled setting on the server’s configuration still turns the two SQL tools on and off.
Troubleshooting
Common symptoms and fixes:
| Symptom | What to check |
|---|---|
|
First call from a user with no stored token. The failed tool result carries the authorization URL. The user completes Ironclad’s OAuth consent flow, the token lands in the vault, and subsequent calls reuse it. |
|
The server’s |
Wrong region results |
Confirm the |
|
Run |
Limitations
This page does not cover:
-
Template authoring: Define templates in the Ironclad web UI, then reference them by
schema_id. -
eSignature flows: Ironclad handles these. This MCP server launches and reads workflow state.