@crypto512/jicon-mcp 2.2.0 → 2.2.1

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.
Files changed (3) hide show
  1. package/.env.example +2 -2
  2. package/README.md +9 -136
  3. package/package.json +1 -1
package/.env.example CHANGED
@@ -1,9 +1,9 @@
1
1
  # Jira Configuration
2
2
  JIRA_URL=https://jira.example.com
3
- JIRA_USERNAME=your-email@example.com
3
+ # JIRA_USERNAME=your-email@example.com # Optional: omit for Data Center PAT
4
4
  JIRA_API_TOKEN=your-jira-api-token
5
5
 
6
6
  # Confluence Configuration
7
7
  CONFLUENCE_URL=https://confluence.example.com
8
- CONFLUENCE_USERNAME=your-email@example.com
8
+ # CONFLUENCE_USERNAME=your-email@example.com # Optional: omit for Data Center PAT
9
9
  CONFLUENCE_API_TOKEN=your-confluence-api-token
package/README.md CHANGED
@@ -66,10 +66,8 @@ Add to your `claude_desktop_config.json`:
66
66
  "args": ["-y", "@crypto512/jicon-mcp"],
67
67
  "env": {
68
68
  "JIRA_URL": "https://jira.example.com",
69
- "JIRA_USERNAME": "your-email@example.com",
70
69
  "JIRA_API_TOKEN": "your-api-token",
71
70
  "CONFLUENCE_URL": "https://confluence.example.com",
72
- "CONFLUENCE_USERNAME": "your-email@example.com",
73
71
  "CONFLUENCE_API_TOKEN": "your-api-token"
74
72
  }
75
73
  }
@@ -89,8 +87,9 @@ Add to `~/.claude/settings.json` or project `.mcp.json`:
89
87
  "args": ["-y", "@crypto512/jicon-mcp"],
90
88
  "env": {
91
89
  "JIRA_URL": "https://jira.example.com",
92
- "JIRA_USERNAME": "your-email@example.com",
93
- "JIRA_API_TOKEN": "your-api-token"
90
+ "JIRA_API_TOKEN": "your-api-token",
91
+ "CONFLUENCE_URL": "https://confluence.example.com",
92
+ "CONFLUENCE_API_TOKEN": "your-api-token"
94
93
  }
95
94
  }
96
95
  }
@@ -110,8 +109,9 @@ Add to `opencode.jsonc` in your project root or `~/.config/opencode/opencode.jso
110
109
  "command": ["npx", "-y", "@crypto512/jicon-mcp"],
111
110
  "environment": {
112
111
  "JIRA_URL": "https://jira.example.com",
113
- "JIRA_USERNAME": "your-email@example.com",
114
- "JIRA_API_TOKEN": "your-api-token"
112
+ "JIRA_API_TOKEN": "your-api-token",
113
+ "CONFLUENCE_URL": "https://confluence.example.com",
114
+ "CONFLUENCE_API_TOKEN": "your-api-token"
115
115
  }
116
116
  }
117
117
  }
@@ -209,7 +209,7 @@ This configuration allows:
209
209
  }
210
210
  ```
211
211
 
212
- **Virtual actions** (for whitelist): `jira_read`, `jira_write`, `jira_all`, `confluence_read`, `confluence_write`, `confluence_draft`, `confluence_all`, `tempo_read`, `tempo_write`, `tempo_all`
212
+ **Virtual actions** (for whitelist): `jira_read`, `jira_write`, `jira_all`, `confluence_read`, `confluence_write`, `confluence_write_home`, `confluence_draft`, `confluence_all`, `tempo_read`, `tempo_write`, `tempo_all`
213
213
 
214
214
  **Individual tools** (for blacklist): See [TOOL_LIST.md](TOOL_LIST.md) for all tool names
215
215
 
@@ -258,7 +258,7 @@ Jicon supports two transport modes:
258
258
  | Mode | Use Case | Protocol |
259
259
  |------|----------|----------|
260
260
  | **stdio** (default) | Local usage with `npx`, Claude Desktop, Claude Code | Standard I/O |
261
- | **http** | Containers, Kubernetes, remote servers | HTTP with StreamableHTTP |
261
+ | **http** | Containers, remote servers | HTTP with StreamableHTTP |
262
262
 
263
263
  For containerized deployments, use HTTP mode which exposes the MCP protocol over HTTP.
264
264
 
@@ -357,130 +357,10 @@ JICON_TRANSPORT=http \
357
357
  npm start
358
358
  ```
359
359
 
360
- ### Kubernetes Deployment
361
-
362
- ```yaml
363
- apiVersion: v1
364
- kind: Secret
365
- metadata:
366
- name: jicon-secrets
367
- type: Opaque
368
- stringData:
369
- jira-url: "https://jira.example.com"
370
- jira-token: "your-api-token"
371
- ---
372
- apiVersion: apps/v1
373
- kind: Deployment
374
- metadata:
375
- name: jicon-mcp
376
- spec:
377
- replicas: 1
378
- selector:
379
- matchLabels:
380
- app: jicon-mcp
381
- template:
382
- metadata:
383
- labels:
384
- app: jicon-mcp
385
- spec:
386
- containers:
387
- - name: jicon-mcp
388
- image: jicon-mcp:latest
389
- ports:
390
- - containerPort: 3000
391
- env:
392
- - name: JICON_TRANSPORT
393
- value: "http"
394
- - name: JIRA_URL
395
- valueFrom:
396
- secretKeyRef:
397
- name: jicon-secrets
398
- key: jira-url
399
- - name: JIRA_API_TOKEN
400
- valueFrom:
401
- secretKeyRef:
402
- name: jicon-secrets
403
- key: jira-token
404
- livenessProbe:
405
- httpGet:
406
- path: /health
407
- port: 3000
408
- initialDelaySeconds: 5
409
- periodSeconds: 30
410
- readinessProbe:
411
- httpGet:
412
- path: /ready
413
- port: 3000
414
- initialDelaySeconds: 5
415
- periodSeconds: 10
416
- resources:
417
- requests:
418
- memory: "128Mi"
419
- cpu: "100m"
420
- limits:
421
- memory: "256Mi"
422
- cpu: "500m"
423
- ---
424
- apiVersion: v1
425
- kind: Service
426
- metadata:
427
- name: jicon-mcp
428
- spec:
429
- selector:
430
- app: jicon-mcp
431
- ports:
432
- - port: 3000
433
- targetPort: 3000
434
- ```
435
-
436
360
  ### LibreChat Integration
437
361
 
438
362
  [LibreChat](https://www.librechat.ai/) supports MCP servers via the `streamable-http` transport type. This allows LibreChat to connect to jicon running in a container.
439
363
 
440
- **Basic configuration in `librechat.yaml`:**
441
-
442
- ```yaml
443
- mcpServers:
444
- jicon:
445
- type: streamable-http
446
- url: http://jicon-mcp:3000/mcp
447
- timeout: 60000
448
- initTimeout: 10000
449
- serverInstructions: |
450
- Jicon MCP server provides access to Jira, Confluence, and Tempo.
451
- Use jicon_help tool to learn about available workflows.
452
- ```
453
-
454
- **With environment variables for credentials:**
455
-
456
- Jicon reads credentials from its own environment variables. When running with Docker Compose, pass them to the jicon container:
457
-
458
- ```yaml
459
- # docker-compose.yml
460
- version: "3.8"
461
-
462
- services:
463
- jicon-mcp:
464
- build: .
465
- environment:
466
- - JICON_TRANSPORT=http
467
- - JIRA_URL=${JIRA_URL}
468
- - JIRA_API_TOKEN=${JIRA_API_TOKEN}
469
- - CONFLUENCE_URL=${CONFLUENCE_URL}
470
- - CONFLUENCE_API_TOKEN=${CONFLUENCE_API_TOKEN}
471
- - JICON_PERMISSIONS_MODE=${JICON_PERMISSIONS_MODE:-readonly}
472
-
473
- librechat:
474
- image: ghcr.io/danny-avila/librechat:latest
475
- depends_on:
476
- - jicon-mcp
477
- volumes:
478
- - ./librechat.yaml:/app/librechat.yaml
479
- # ... other LibreChat configuration
480
- ```
481
-
482
- **Per-user credentials with `customUserVars`:**
483
-
484
364
  Each LibreChat user can use their own Jira/Confluence credentials via HTTP headers. Configure `customUserVars` in LibreChat to prompt users for their credentials:
485
365
 
486
366
  ```yaml
@@ -489,7 +369,7 @@ mcpServers:
489
369
  jicon:
490
370
  type: streamable-http
491
371
  url: http://jicon-mcp:3000/mcp
492
- timeout: 60000
372
+ timeout: 180000
493
373
  initTimeout: 10000
494
374
  headers:
495
375
  X-Jira-Url: "{{JIRA_URL}}"
@@ -525,13 +405,6 @@ mcpServers:
525
405
 
526
406
  Both URL and Token headers must be provided together for each service. Per-request credentials take priority over environment variables.
527
407
 
528
- **Timeout recommendations:**
529
-
530
- | Setting | Value | Description |
531
- |---------|-------|-------------|
532
- | `timeout` | `60000` | Request timeout (60s) - allows for large searches |
533
- | `initTimeout` | `10000` | Initialization timeout (10s) - jicon starts quickly |
534
-
535
408
  For more details, see [LibreChat MCP documentation](https://www.librechat.ai/docs/features/mcp).
536
409
 
537
410
  ## API Limitations
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crypto512/jicon-mcp",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Model Context Protocol server for Jira, Confluence, and Tempo integration",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",