Skip to content

Commit 4f24c2e

Browse files
committed
feat(mcp-server-bindings): add mcpServer resource type to bindings
1 parent c89e5ae commit 4f24c2e

4 files changed

Lines changed: 101 additions & 9 deletions

File tree

samples/resource-overrides/bindings.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,27 @@
121121
"Connector": "",
122122
"UseConnectionService": "True"
123123
}
124+
},
125+
{
126+
"resource": "mcpServer",
127+
"key": "mcp_server_slug.folder_path",
128+
"value": {
129+
"name": {
130+
"defaultValue": "mcp_server_slug",
131+
"isExpression": false,
132+
"displayName": "Name"
133+
},
134+
"folderPath": {
135+
"defaultValue": "folder_path",
136+
"isExpression": false,
137+
"displayName": "Folder Path"
138+
}
139+
},
140+
"metadata": {
141+
"ActivityName": "retrieve_async",
142+
"BindingsVersion": "2.2",
143+
"DisplayLabel": "FullName"
144+
}
124145
}
125146
]
126147
}

samples/resource-overrides/main.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,11 @@ async def main() -> Response:
5454
)
5555
response.resources.append(Resource(name="process_result", value=str(process_result.model_dump())))
5656

57+
# MCP Servers - retrieve MCP server
58+
mcp_server = await uipath.mcp.retrieve_async(
59+
slug="mcp_server_slug",
60+
folder_path="folder_path",
61+
)
62+
response.resources.append(Resource(name="mcp_server", value=str(mcp_server.model_dump())))
63+
5764
return response

specs/bindings.schema.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "http://json-schema.org/draft-07/schema#",
33
"$id": "https://cloud.uipath.com/draft/2024-12/bindings",
44
"title": "UiPath Resources Configuration",
5-
"description": "Configuration file for UiPath resource bindings including assets, processes, buckets, indexes, and connections",
5+
"description": "Configuration file for UiPath resource bindings including assets, processes, buckets, indexes, apps, connections and MCP servers",
66
"type": "object",
77
"required": [
88
"version",
@@ -41,7 +41,8 @@
4141
"bucket",
4242
"index",
4343
"app",
44-
"connection"
44+
"connection",
45+
"mcpServer"
4546
]
4647
},
4748
"key": {
@@ -53,7 +54,7 @@
5354
"description": "Resource configuration values",
5455
"oneOf": [
5556
{
56-
"title": "Asset/Process/Bucket/App/Index Value",
57+
"title": "Asset/Process/Bucket/App/Index/McpServer Value",
5758
"properties": {
5859
"name": {
5960
"$ref": "#/definitions/propertyDefinition",

specs/bindings.spec.md

Lines changed: 69 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Overview
44

5-
The resources configuration file defines bindings for UiPath resources including assets, processes, buckets, indexes, apps and connections. This file enables declarative configuration of resource references used throughout your UiPath project.
5+
The resources configuration file defines bindings for UiPath resources including assets, processes, buckets, indexes, apps, connections and MCP servers. This file enables declarative configuration of resource references used throughout your UiPath project.
66

77
**File Name:** `bindings.json`
88

@@ -41,8 +41,9 @@ The configuration supports multiple resource types:
4141
2. **process** - Workflow processes
4242
3. **bucket** - Storage buckets
4343
4. **index** - Search indexes
44-
5. **apps** - Action center apps
44+
5. **app** - Action center apps
4545
6. **connection** - External connections
46+
7. **mcpServer** - MCP servers
4647

4748

4849
---
@@ -53,7 +54,7 @@ Each resource in the `resources` array has the following structure:
5354

5455
```json
5556
{
56-
"resource": "asset|process|bucket|index|connection",
57+
"resource": "asset|process|bucket|index|app|connection|mcpServer",
5758
"key": "unique_key",
5859
"value": { ... },
5960
"metadata": { ... }
@@ -64,7 +65,7 @@ Each resource in the `resources` array has the following structure:
6465

6566
| Property | Type | Required | Description |
6667
|----------|------|----------|-------------|
67-
| `resource` | `string` | Yes | Resource type (one of the five types) |
68+
| `resource` | `string` | Yes | Resource type (one of the supported types) |
6869
| `key` | `string` | Yes | Unique identifier for this resource |
6970
| `value` | `object` | Yes | Resource-specific configuration |
7071
| `metadata` | `object` | No | Additional metadata for the binding |
@@ -303,6 +304,47 @@ Connections define external system integrations.
303304

304305
---
305306

307+
### 7. MCP Server
308+
309+
MCP servers provide an MCP endpoint that coded agents can connect to.
310+
311+
**Key Format:** `slug.folder_path`
312+
313+
> **Note:** The `value.name.defaultValue` field holds the MCP server **slug** — the same value passed to `uipath.mcp.retrieve_async(slug=...)` in your code.
314+
315+
**Example:**
316+
317+
```json
318+
{
319+
"resource": "mcpServer",
320+
"key": "my-mcp-server.MyFolder",
321+
"value": {
322+
"name": {
323+
"defaultValue": "my-mcp-server",
324+
"isExpression": false,
325+
"displayName": "Slug"
326+
},
327+
"folderPath": {
328+
"defaultValue": "MyFolder",
329+
"isExpression": false,
330+
"displayName": "Folder Path"
331+
}
332+
},
333+
"metadata": {
334+
"ActivityName": "retrieve_async",
335+
"BindingsVersion": "2.2",
336+
"DisplayLabel": "FullName"
337+
}
338+
}
339+
```
340+
341+
**Common Metadata:**
342+
- `ActivityName`: Typically `"retrieve_async"`
343+
- `BindingsVersion`: `"2.2"`
344+
- `DisplayLabel`: `"FullName"`
345+
346+
---
347+
306348
## Value Object Structure
307349

308350
### For Assets, Processes, Buckets, Apps and Indexes
@@ -352,9 +394,9 @@ Metadata provides additional context about the resource binding.
352394

353395
| Field | Type | Description | Applicable To |
354396
|-------|------|-------------|---------------|
355-
| `ActivityName` | `string` | Activity used to access the resource | asset, process, bucket, index |
397+
| `ActivityName` | `string` | Activity used to access the resource | asset, process, bucket, index, app, mcpServer |
356398
| `BindingsVersion` | `string` | Version of the bindings schema | All resources |
357-
| `DisplayLabel` | `string` | Label format for display | asset, process, bucket, index |
399+
| `DisplayLabel` | `string` | Label format for display | asset, process, bucket, index, app, mcpServer |
358400
| `Connector` | `string` | Type of connector | connection |
359401
| `UseConnectionService` | `string` | Whether to use connection service | connection |
360402

@@ -487,6 +529,27 @@ Metadata provides additional context about the resource binding.
487529
"Connector": "Salesforce",
488530
"UseConnectionService": "True"
489531
}
532+
},
533+
{
534+
"resource": "mcpServer",
535+
"key": "my-mcp-server.MyFolder",
536+
"value": {
537+
"name": {
538+
"defaultValue": "my-mcp-server",
539+
"isExpression": false,
540+
"displayName": "Slug"
541+
},
542+
"folderPath": {
543+
"defaultValue": "MyFolder",
544+
"isExpression": false,
545+
"displayName": "Folder Path"
546+
}
547+
},
548+
"metadata": {
549+
"ActivityName": "retrieve_async",
550+
"BindingsVersion": "2.2",
551+
"DisplayLabel": "FullName"
552+
}
490553
}
491554
]
492555
}

0 commit comments

Comments
 (0)