mcp-cli-skill 0.6.2__tar.gz → 0.6.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mcp_cli_skill-0.6.2 → mcp_cli_skill-0.6.3}/PKG-INFO +1 -1
- {mcp_cli_skill-0.6.2 → mcp_cli_skill-0.6.3}/SKILL.md +1 -1
- {mcp_cli_skill-0.6.2 → mcp_cli_skill-0.6.3}/scripts/mcp_call.py +8 -1
- {mcp_cli_skill-0.6.2 → mcp_cli_skill-0.6.3}/src/mcp_cli_skill/__init__.py +1 -1
- {mcp_cli_skill-0.6.2 → mcp_cli_skill-0.6.3}/src/mcp_cli_skill/cli.py +8 -1
- {mcp_cli_skill-0.6.2 → mcp_cli_skill-0.6.3}/.gitignore +0 -0
- {mcp_cli_skill-0.6.2 → mcp_cli_skill-0.6.3}/README.md +0 -0
- {mcp_cli_skill-0.6.2 → mcp_cli_skill-0.6.3}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-cli-skill
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.3
|
|
4
4
|
Summary: Call any MCP server tool from the command line with shell composition support
|
|
5
5
|
Project-URL: Homepage, https://github.com/wise-toddler/mcp-cli-skill
|
|
6
6
|
Project-URL: Repository, https://github.com/wise-toddler/mcp-cli-skill
|
|
@@ -21,7 +21,7 @@ mcp-call <server> <tool> --key=value ... # call a tool
|
|
|
21
21
|
mcp-call <server> <tool> --input-json '{"key":"val"}' # call with JSON args
|
|
22
22
|
echo '{}' | mcp-call <server> <tool> # call with stdin JSON
|
|
23
23
|
mcp-call --add <name> <cmd> [args] [--env K=V ...] # add stdio server
|
|
24
|
-
mcp-call --add-http <name> <url>
|
|
24
|
+
mcp-call --add-http <name> <url> [--header 'K: V' ...] # add HTTP server (auth via --header/-H)
|
|
25
25
|
mcp-call --remove <name> # remove server
|
|
26
26
|
mcp-call --sync # re-sync from Claude configs
|
|
27
27
|
mcp-call --completion <bash|zsh|fish> # print shell completion hook
|
|
@@ -292,7 +292,10 @@ class HttpSession:
|
|
|
292
292
|
self.session_id = None
|
|
293
293
|
self.extra_headers = {k: _expand_env(v) for k, v in (extra_headers or {}).items()}
|
|
294
294
|
|
|
295
|
-
def _send(self, data, headers, timeout=
|
|
295
|
+
def _send(self, data, headers, timeout=None, max_redirects=3):
|
|
296
|
+
# Long-running tool calls (bash, LLM, etc) can exceed 30s; make it tunable.
|
|
297
|
+
if timeout is None:
|
|
298
|
+
timeout = int(os.environ.get("MCP_CALL_HTTP_TIMEOUT", "300"))
|
|
296
299
|
"""POST data and follow 307/308 redirects preserving method+body.
|
|
297
300
|
|
|
298
301
|
urllib's default HTTPRedirectHandler does NOT follow 307/308 on POST,
|
|
@@ -354,6 +357,10 @@ class HttpSession:
|
|
|
354
357
|
except urllib.error.URLError as e:
|
|
355
358
|
print(f"Error: cannot connect to {self.url}: {e.reason}", file=sys.stderr)
|
|
356
359
|
sys.exit(1)
|
|
360
|
+
except TimeoutError:
|
|
361
|
+
# urlopen raises bare TimeoutError in Python 3.10+, not URLError.
|
|
362
|
+
print(f"Error: request to {self.url} timed out. Set MCP_CALL_HTTP_TIMEOUT=<sec> for longer.", file=sys.stderr)
|
|
363
|
+
sys.exit(1)
|
|
357
364
|
|
|
358
365
|
def notify(self, method, params=None):
|
|
359
366
|
"""Send JSON-RPC notification (no id, ignore response)."""
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""MCP CLI - Call any MCP server tool from the command line."""
|
|
2
|
-
__version__ = "0.6.
|
|
2
|
+
__version__ = "0.6.3"
|
|
@@ -292,7 +292,10 @@ class HttpSession:
|
|
|
292
292
|
self.session_id = None
|
|
293
293
|
self.extra_headers = {k: _expand_env(v) for k, v in (extra_headers or {}).items()}
|
|
294
294
|
|
|
295
|
-
def _send(self, data, headers, timeout=
|
|
295
|
+
def _send(self, data, headers, timeout=None, max_redirects=3):
|
|
296
|
+
# Long-running tool calls (bash, LLM, etc) can exceed 30s; make it tunable.
|
|
297
|
+
if timeout is None:
|
|
298
|
+
timeout = int(os.environ.get("MCP_CALL_HTTP_TIMEOUT", "300"))
|
|
296
299
|
"""POST data and follow 307/308 redirects preserving method+body.
|
|
297
300
|
|
|
298
301
|
urllib's default HTTPRedirectHandler does NOT follow 307/308 on POST,
|
|
@@ -354,6 +357,10 @@ class HttpSession:
|
|
|
354
357
|
except urllib.error.URLError as e:
|
|
355
358
|
print(f"Error: cannot connect to {self.url}: {e.reason}", file=sys.stderr)
|
|
356
359
|
sys.exit(1)
|
|
360
|
+
except TimeoutError:
|
|
361
|
+
# urlopen raises bare TimeoutError in Python 3.10+, not URLError.
|
|
362
|
+
print(f"Error: request to {self.url} timed out. Set MCP_CALL_HTTP_TIMEOUT=<sec> for longer.", file=sys.stderr)
|
|
363
|
+
sys.exit(1)
|
|
357
364
|
|
|
358
365
|
def notify(self, method, params=None):
|
|
359
366
|
"""Send JSON-RPC notification (no id, ignore response)."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|