Skip to content

Commit 11d5aa5

Browse files
committed
fix: trace name and null logger
1 parent 975f9b5 commit 11d5aa5

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
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.22"
3+
version = "0.0.23"
44
description = "UiPath MCP SDK"
55
readme = { file = "README.md", content-type = "text/markdown" }
66
requires-python = ">=3.10"

src/uipath_mcp/_cli/_runtime/_logger.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
22

33

4-
class LoggerAdapter:
4+
class NullLogger:
55
def __init__(self):
66
self.devnull = open(os.devnull, "w")
77

src/uipath_mcp/_cli/_runtime/_runtime.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
UiPathErrorCategory,
1515
UiPathRuntimeResult,
1616
)
17+
from uipath.tracing import wait_for_tracers
1718

1819
from .._utils._config import McpServer
1920
from ._context import UiPathMcpRuntimeContext
@@ -58,7 +59,7 @@ async def execute(self) -> Optional[UiPathRuntimeResult]:
5859

5960
self.cancel_event = asyncio.Event()
6061

61-
with tracer.start_as_current_span("MCP Server") as root_span:
62+
with tracer.start_as_current_span(self.server.name) as root_span:
6263
root_span.set_attribute("session_id", self.server.session_id)
6364
root_span.set_attribute("command", self.server.command)
6465
root_span.set_attribute("args", self.server.args)
@@ -115,6 +116,7 @@ async def execute(self) -> Optional[UiPathRuntimeResult]:
115116
) from e
116117

117118
finally:
119+
wait_for_tracers()
118120
await self.cleanup()
119121

120122
async def validate(self) -> None:

src/uipath_mcp/_cli/_runtime/_session.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@
66
from mcp.client.stdio import stdio_client
77
from opentelemetry import trace
88
from uipath import UiPath
9-
from uipath.tracing import wait_for_tracers
109

1110
from .._utils._config import McpServer
12-
from ._logger import LoggerAdapter
11+
from ._logger import NullLogger
1312
from ._tracer import McpTracer
1413

1514
logger = logging.getLogger(__name__)
@@ -61,7 +60,7 @@ async def _run_server(self, server_params: StdioServerParameters) -> None:
6160
"""Run the server in proper context managers."""
6261
logger.info(f"Starting server process for session {self.session_id}")
6362
try:
64-
stderr_null = LoggerAdapter(logger)
63+
stderr_null = NullLogger()
6564

6665
async with stdio_client(server_params, errlog=stderr_null) as (
6766
read,
@@ -171,19 +170,17 @@ async def get_incoming_messages(self) -> None:
171170
logger.info(f"Incoming message from UiPath MCP Server: {message}")
172171
json_message = types.JSONRPCMessage.model_validate(message)
173172
with self._mcp_tracer.create_span_for_message(
174-
json_message,
175-
session_id=self.session_id,
176-
server_name=self.server_config.name
177-
) as _:
173+
json_message,
174+
session_id=self.session_id,
175+
server_name=self.server_config.name,
176+
) as _:
178177
logger.info(f"Forwarding message to local MCP Server: {message}")
179178
await self.send_message(json_message)
180179

181180
async def send_outgoing_message(self, message: types.JSONRPCMessage) -> None:
182181
"""Send new message to UiPath MCP Server."""
183182
with self._mcp_tracer.create_span_for_message(
184-
message,
185-
session_id=self.session_id,
186-
server_name=self.server_config.name
183+
message, session_id=self.session_id, server_name=self.server_config.name
187184
) as span:
188185
try:
189186
response = self._uipath.api_client.request(
@@ -195,9 +192,13 @@ async def send_outgoing_message(self, message: types.JSONRPCMessage) -> None:
195192
span.set_attribute("http.status_code", response.status_code)
196193

197194
if response.status_code == 202:
198-
logger.info(f"Outgoing message sent to UiPath MCP Server: {message}")
195+
logger.info(
196+
f"Outgoing message sent to UiPath MCP Server: {message}"
197+
)
199198
else:
200-
self._mcp_tracer.record_http_error(span, response.status_code, response.text)
199+
self._mcp_tracer.record_http_error(
200+
span, response.status_code, response.text
201+
)
201202
except Exception as e:
202203
self._mcp_tracer.record_exception(span, e)
203204
raise
@@ -229,5 +230,4 @@ async def cleanup(self) -> None:
229230
self.read_stream = None
230231
self.write_stream = None
231232
self.mcp_session = None
232-
wait_for_tracers()
233233
logger.info(f"Cleanup completed for session {self.session_id}")

0 commit comments

Comments
 (0)