Skip to content

Commit 67b4081

Browse files
authored
Merge pull request #9 from UiPath/fix/samples
feat: get messages on connect
2 parents f6bb6fb + 654b26f commit 67b4081

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "uipath-mcp"
3-
version = "0.0.4"
3+
version = "0.0.5"
44
description = "UiPath MCP SDK"
55
readme = { file = "README.md", content-type = "text/markdown" }
66
requires-python = ">=3.10"

src/uipath_mcp/_cli/_runtime/_runtime.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,27 @@ async def handle_signalr_error(self, error: Any) -> None:
176176
async def handle_signalr_open(self) -> None:
177177
"""Handle SignalR connection open event."""
178178
logger.info("SignalR connection established")
179+
uipath = UiPath()
180+
response = uipath.api_client.request(
181+
"GET",
182+
f"mcp_/mcp/{self.server.name}/message?jobKey={self.context.job_id}"
183+
)
184+
if response.status_code == 200:
185+
data = response.json()
186+
session_id = data["sessionId"]
187+
message = data["message"]
188+
logger.info(f"Received message from UiPath MCP: {message}")
189+
if session_id not in self.session_servers:
190+
# Create and start a new session server
191+
session_server = SessionServer(self.server, session_id)
192+
self.session_servers[session_id] = session_server
193+
await session_server.start(self.signalr_client)
194+
195+
# Get the session server for this session
196+
session_server = self.session_servers[session_id]
197+
198+
# Forward the message to the session's MCP server
199+
await session_server.send_message(message)
179200

180201
async def handle_signalr_close(self) -> None:
181202
"""Handle SignalR connection close event."""

0 commit comments

Comments
 (0)