Spaces:
Running
Running
Merge pull request #181 from kongqi404/verify
Browse files
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(
|