@rishibhushan/jenkins-mcp-server 1.0.0 → 1.0.2

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.
package/README.md CHANGED
@@ -210,35 +210,36 @@ Settings are loaded in this order (later overrides earlier):
210
210
 
211
211
  ---
212
212
 
213
- ## 🎯 Running the Server
213
+ ## 🚀 Installation/Running the Server
214
214
 
215
- ### Method 1: Using npx (Recommended - Zero Setup)
216
-
217
- **With VS Code settings:**
215
+ ### Option 1: Using npx (No Installation Required)
218
216
  ```bash
219
- npx github:rishibhushan/jenkins_mcp_server
217
+ npx @rishibhushan/jenkins-mcp-server --env-file .env
220
218
  ```
221
219
 
222
- **With custom .env file:**
220
+ ### Option 2: Global Installation
223
221
  ```bash
224
- npx github:rishibhushan/jenkins_mcp_server --env-file /path/to/.env
225
- ```
222
+ # Install globally
223
+ npm install -g @rishibhushan/jenkins-mcp-server
226
224
 
227
- **With verbose logging:**
228
- ```bash
229
- npx github:rishibhushan/jenkins_mcp_server --verbose
225
+ # Run
226
+ jenkins-mcp-server --env-file .env
230
227
  ```
231
228
 
232
- **Skip VS Code settings:**
229
+ ### Option 3: From GitHub
233
230
  ```bash
234
- npx github:rishibhushan/jenkins_mcp_server --no-vscode
231
+ npx github:rishibhushan/jenkins_mcp_server --env-file .env
235
232
  ```
236
233
 
234
+ [//]: # ([![npm version](https://badge.fury.io/js/jenkins-mcp-server.svg)](https://www.npmjs.com/package/@rishibhushan/jenkins-mcp-server))
235
+
236
+ [//]: # ([![npm downloads](https://img.shields.io/npm/dm/jenkins-mcp-server.svg)](https://www.npmjs.com/package/@rishibhushan/jenkins-mcp-server))
237
+
238
+ ---
239
+
237
240
  This automatically:
238
- - ✅ Detects Python 3 installation
239
- - ✅ Creates isolated virtual environment (`.venv`)
240
241
  - ✅ Installs all dependencies
241
- - ✅ Starts the MCP server
242
+ - ✅ Starts the Jenkins MCP server
242
243
 
243
244
  ### Method 2: Direct Python Execution
244
245
 
@@ -287,7 +288,7 @@ Add to your VS Code `mcp.json`:
287
288
  "type": "stdio",
288
289
  "command": "npx",
289
290
  "args": [
290
- "github:rishibhushan/jenkins_mcp_server"
291
+ "@rishibhushan/jenkins-mcp-server"
291
292
  ]
292
293
  }
293
294
  }
@@ -303,7 +304,7 @@ Or `setting.json` with `.env` file and proxy settings:
303
304
  "type": "stdio",
304
305
  "command": "npx",
305
306
  "args": [
306
- "github:rishibhushan/jenkins_mcp_server",
307
+ "@rishibhushan/jenkins-mcp-server",
307
308
  "--verbose",
308
309
  "--env-file",
309
310
  "/path/to/.env"
@@ -329,7 +330,7 @@ Add to `claude_desktop_config.json`:
329
330
  "jenkins": {
330
331
  "command": "npx",
331
332
  "args": [
332
- "github:rishibhushan/jenkins_mcp_server",
333
+ "@rishibhushan/jenkins-mcp-server",
333
334
  "--env-file",
334
335
  "/path/to/.env"
335
336
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rishibhushan/jenkins-mcp-server",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "AI-enabled Jenkins automation via Model Context Protocol (MCP)",
5
5
  "main": "bin/jenkins-mcp.js",
6
6
  "bin": {
@@ -67,25 +67,27 @@ class JenkinsClient:
67
67
  self._test_connection()
68
68
 
69
69
  def _test_connection(self) -> None:
70
- """Test connection to Jenkins server"""
70
+ """Test connection to Jenkins server (with quick timeout for MCP)"""
71
71
  try:
72
+ # Quick connection test with short timeout for MCP compatibility
72
73
  response = requests.get(
73
74
  f"{self.base_url}/api/json",
74
75
  auth=self.auth,
75
76
  verify=False,
76
- timeout=10
77
+ timeout=3 # Short timeout for responsiveness
77
78
  )
78
79
  response.raise_for_status()
79
80
 
80
81
  data = response.json()
81
82
  logger.info(f"Connected to Jenkins: {self.base_url}")
82
- logger.info(f"Jenkins version: {data.get('_class', 'unknown')}")
83
- logger.debug(f"Found {len(data.get('jobs', []))} jobs")
83
+ logger.debug(f"Jenkins version: {data.get('_class', 'unknown')}")
84
84
 
85
+ except requests.Timeout:
86
+ logger.warning(f"Connection to Jenkins timed out (server may be slow)")
87
+ # Don't fail - let actual operations fail if there's a real problem
85
88
  except requests.RequestException as e:
86
- raise JenkinsConnectionError(
87
- f"Failed to connect to Jenkins at {self.base_url}: {e}"
88
- ) from e
89
+ logger.warning(f"Could not verify Jenkins connection: {e}")
90
+ # Don't fail - let actual operations fail if there's a real problem
89
91
 
90
92
  @property
91
93
  def server(self) -> jenkins.Jenkins: