Jeremiah Lowin commited on
Commit
decbb8e
·
unverified ·
2 Parent(s): 49f0e689c4c876

Merge pull request #181 from kongqi404/verify

Browse files
Files changed (1) hide show
  1. src/fastmcp/client/transports.py +5 -0
src/fastmcp/client/transports.py CHANGED
@@ -2,6 +2,7 @@ import abc
2
  import contextlib
3
  import datetime
4
  import os
 
5
  from collections.abc import AsyncIterator
6
  from pathlib import Path
7
  from typing import (
@@ -341,6 +342,10 @@ class NpxStdioTransport(StdioTransport):
341
  env_vars: Additional environment variables
342
  use_package_lock: Whether to use package-lock.json (--prefer-offline)
343
  """
 
 
 
 
344
  # Basic validation
345
  if project_directory and not Path(project_directory).exists():
346
  raise NotADirectoryError(
 
2
  import contextlib
3
  import datetime
4
  import os
5
+ import shutil
6
  from collections.abc import AsyncIterator
7
  from pathlib import Path
8
  from typing import (
 
342
  env_vars: Additional environment variables
343
  use_package_lock: Whether to use package-lock.json (--prefer-offline)
344
  """
345
+ # verify npx is installed
346
+ if shutil.which("npx") is None:
347
+ raise ValueError("Command 'npx' not found")
348
+
349
  # Basic validation
350
  if project_directory and not Path(project_directory).exists():
351
  raise NotADirectoryError(