Skip to content

Commit 801966e

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

4 files changed

Lines changed: 91 additions & 1 deletion

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: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
"bucket",
4242
"index",
4343
"app",
44-
"connection"
44+
"connection",
45+
"mcpServer"
4546
]
4647
},
4748
"key": {

specs/bindings.spec.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ The configuration supports multiple resource types:
4343
4. **index** - Search indexes
4444
5. **apps** - Action center apps
4545
6. **connection** - External connections
46+
7. **mcpServer** - MCP servers
4647

4748

4849
---
@@ -303,6 +304,45 @@ 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+
**Example:**
314+
315+
```json
316+
{
317+
"resource": "mcpServer",
318+
"key": "my-mcp-server.MyFolder",
319+
"value": {
320+
"name": {
321+
"defaultValue": "my-mcp-server",
322+
"isExpression": false,
323+
"displayName": "Name"
324+
},
325+
"folderPath": {
326+
"defaultValue": "MyFolder",
327+
"isExpression": false,
328+
"displayName": "Folder Path"
329+
}
330+
},
331+
"metadata": {
332+
"ActivityName": "retrieve_async",
333+
"BindingsVersion": "2.2",
334+
"DisplayLabel": "FullName"
335+
}
336+
}
337+
```
338+
339+
**Common Metadata:**
340+
- `ActivityName`: Typically `"retrieve_async"`
341+
- `BindingsVersion`: `"2.2"`
342+
- `DisplayLabel`: `"FullName"`
343+
344+
---
345+
306346
## Value Object Structure
307347

308348
### For Assets, Processes, Buckets, Apps and Indexes
@@ -487,6 +527,27 @@ Metadata provides additional context about the resource binding.
487527
"Connector": "Salesforce",
488528
"UseConnectionService": "True"
489529
}
530+
},
531+
{
532+
"resource": "mcpServer",
533+
"key": "my-mcp-server.MyFolder",
534+
"value": {
535+
"name": {
536+
"defaultValue": "my-mcp-server",
537+
"isExpression": false,
538+
"displayName": "Name"
539+
},
540+
"folderPath": {
541+
"defaultValue": "MyFolder",
542+
"isExpression": false,
543+
"displayName": "Folder Path"
544+
}
545+
},
546+
"metadata": {
547+
"ActivityName": "retrieve_async",
548+
"BindingsVersion": "2.2",
549+
"DisplayLabel": "FullName"
550+
}
490551
}
491552
]
492553
}

0 commit comments

Comments
 (0)