diff --git a/pyproject.toml b/pyproject.toml index 3745868..3999766 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "uipath-mcp" -version = "0.0.86" +version = "0.0.87" description = "UiPath MCP SDK" readme = { file = "README.md", content-type = "text/markdown" } requires-python = ">=3.10" diff --git a/src/uipath_mcp/_cli/_runtime/_runtime.py b/src/uipath_mcp/_cli/_runtime/_runtime.py index ddd67f8..83d513c 100644 --- a/src/uipath_mcp/_cli/_runtime/_runtime.py +++ b/src/uipath_mcp/_cli/_runtime/_runtime.py @@ -64,7 +64,7 @@ async def execute(self) -> Optional[UiPathRuntimeResult]: try: if self._server is None: return None - + self.trace_provider = TracerProvider() trace.set_tracer_provider(self.trace_provider) self.trace_provider.add_span_processor( @@ -262,13 +262,21 @@ async def _register(self) -> None: initialization_successful = False tools_result = None server_stderr_output = "" + env_vars = self._server.env + + # if server is Local, include environment variables + if self.server_type is UiPathServerType.Local: + for name, value in os.environ.items(): + # config env variables should have precedence over system ones + if name not in env_vars: + env_vars[name] = value try: # Create a temporary session to get tools server_params = StdioServerParameters( command=self._server.command, args=self._server.args, - env=self._server.env, + env=env_vars, ) # Start a temporary stdio client to get tools diff --git a/uv.lock b/uv.lock index cdbdc94..0e094c7 100644 --- a/uv.lock +++ b/uv.lock @@ -1989,7 +1989,7 @@ wheels = [ [[package]] name = "uipath-mcp" -version = "0.0.84" +version = "0.0.87" source = { editable = "." } dependencies = [ { name = "mcp" }, @@ -2012,7 +2012,7 @@ dev = [ requires-dist = [ { name = "mcp", specifier = "==1.9.0" }, { name = "pysignalr", specifier = "==1.3.0" }, - { name = "uipath", specifier = ">=2.0.56" }, + { name = "uipath", specifier = ">=2.0.59" }, ] [package.metadata.requires-dev]