@crypto512/jicon-mcp 0.7.0 → 0.7.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.
package/README.md CHANGED
@@ -109,7 +109,7 @@ Buffered tools return:
109
109
 
110
110
  ### Buffer Management
111
111
 
112
- - **TTL**: Buffers expire after 10 minutes
112
+ - **TTL**: Buffers expire after 10 minutes by default; edited buffers reset to 1 day TTL
113
113
  - **List Buffers**: Use `buffer_list` to see active buffers
114
114
  - **Clear Buffers**: Use `buffer_clear` to free memory
115
115
 
@@ -187,14 +187,14 @@ Use `buffer_edit` to perform find/replace on buffered content:
187
187
 
188
188
  ## Configuration
189
189
 
190
- ### Configuration with `.jicon.json` (Recommended)
190
+ ### Configuration with `.jicon.json`
191
191
 
192
192
  Jicon supports a flexible configuration hierarchy with permission control:
193
193
 
194
194
  **Configuration Priority:**
195
195
  1. `.jicon.json` (project root) - **Highest priority**
196
196
  2. `$HOME/.config/jicon/jicon.json` (user config) - Medium priority
197
- 3. Environment variables - Lowest priority (legacy)
197
+ 3. Environment variables - Lowest priority
198
198
 
199
199
  **Create `.jicon.json` in your project root:**
200
200
 
@@ -216,6 +216,8 @@ Jicon supports a flexible configuration hierarchy with permission control:
216
216
  }
217
217
  ```
218
218
 
219
+ **Note:** Tempo uses the same Jira URL and credentials - no separate configuration needed.
220
+
219
221
  **⚠️ Important:** Add `.jicon.json` to your `.gitignore` to avoid committing credentials!
220
222
 
221
223
  ### Permission Modes
@@ -302,11 +304,24 @@ Simplify configuration with **virtual actions** that group related tools:
302
304
 
303
305
  See [`.jicon.json.example`](.jicon.json.example), [`.jicon.json.readonly`](.jicon.json.readonly), and [`.jicon.json.custom`](.jicon.json.custom) for more examples.
304
306
 
305
- ### Environment Variables (Legacy)
307
+ ### Environment Variables
308
+
309
+ All configuration options can be set via environment variables:
310
+
311
+ | Variable | Description |
312
+ |----------|-------------|
313
+ | `JIRA_URL` | Jira instance URL |
314
+ | `JIRA_USERNAME` | Username/email (omit for Bearer auth) |
315
+ | `JIRA_API_TOKEN` | API token or PAT |
316
+ | `JIRA_AUTH_TYPE` | `basic` (default) or `bearer` |
317
+ | `CONFLUENCE_URL` | Confluence instance URL |
318
+ | `CONFLUENCE_USERNAME` | Username/email (omit for Bearer auth) |
319
+ | `CONFLUENCE_API_TOKEN` | API token or PAT |
320
+ | `CONFLUENCE_AUTH_TYPE` | `basic` (default) or `bearer` |
306
321
 
307
- For Claude Desktop, add to config file:
322
+ ### Claude Desktop
308
323
 
309
- **MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
324
+ Add to `claude_desktop_config.json`:
310
325
 
311
326
  ```json
312
327
  {
@@ -327,6 +342,50 @@ For Claude Desktop, add to config file:
327
342
  }
328
343
  ```
329
344
 
345
+ ### Claude Code
346
+
347
+ Add to `~/.claude/settings.json` or project `.mcp.json`:
348
+
349
+ ```json
350
+ {
351
+ "mcpServers": {
352
+ "jicon": {
353
+ "command": "npx",
354
+ "args": ["-y", "@crypto512/jicon-mcp"],
355
+ "env": {
356
+ "JIRA_URL": "https://jira.example.com",
357
+ "JIRA_USERNAME": "your-email@example.com",
358
+ "JIRA_API_TOKEN": "your-api-token"
359
+ }
360
+ }
361
+ }
362
+ }
363
+ ```
364
+
365
+ ### OpenCode
366
+
367
+ For [OpenCode](https://opencode.ai) 1.0+, add to `opencode.jsonc` in your project root or `~/.config/opencode/opencode.jsonc`:
368
+
369
+ ```jsonc
370
+ {
371
+ "$schema": "https://opencode.ai/config.json",
372
+ "mcp": {
373
+ "jicon": {
374
+ "type": "local",
375
+ "command": ["npx", "-y", "@crypto512/jicon-mcp"],
376
+ "environment": {
377
+ "JIRA_URL": "https://jira.example.com",
378
+ "JIRA_USERNAME": "your-email@example.com",
379
+ "JIRA_API_TOKEN": "your-api-token",
380
+ "CONFLUENCE_URL": "https://confluence.example.com",
381
+ "CONFLUENCE_USERNAME": "your-email@example.com",
382
+ "CONFLUENCE_API_TOKEN": "your-api-token"
383
+ }
384
+ }
385
+ }
386
+ }
387
+ ```
388
+
330
389
  ## Example Usage
331
390
 
332
391
  Once configured, you can ask Claude to:
@@ -340,12 +399,6 @@ Once configured, you can ask Claude to:
340
399
  - *"Show me my worklogs for this week"*
341
400
  - *"Get team worklogs for the development team"*
342
401
 
343
- ## Documentation
344
-
345
- - **[CLAUDE.md](CLAUDE.md)** - Complete functional specification
346
- - **[TOOL_LIST.md](TOOL_LIST.md)** - Comprehensive tool reference with examples
347
- - **[API Documentation](docs/api.md)** - Detailed API documentation (coming soon)
348
-
349
402
  ## Tool Categories
350
403
 
351
404
  ### Jira Tools
@@ -402,17 +455,29 @@ Once configured, you can ask Claude to:
402
455
 
403
456
  ## Authentication
404
457
 
405
- ### Jira/Confluence Cloud
458
+ ### Jira/Confluence Cloud (Basic Auth)
406
459
  Generate an API token from your Atlassian account:
407
460
  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
408
461
  2. Create a new API token
409
- 3. Use your email as username and the token as password
462
+ 3. Use your email as `username` and the token as `token`
410
463
 
411
- ### Jira/Confluence Data Center
412
- Generate a Personal Access Token (PAT):
464
+ ### Jira/Confluence Data Center (Bearer Auth)
465
+ For Data Center 8.14+, use Personal Access Tokens (PAT):
413
466
  1. Go to your profile settings
414
467
  2. Navigate to "Personal Access Tokens"
415
468
  3. Create a new token with required permissions
469
+ 4. Omit `username` or set `authType: "bearer"` to use Bearer authentication
470
+
471
+ **Data Center `.jicon.json` example:**
472
+ ```json
473
+ {
474
+ "jira": {
475
+ "url": "https://jira.example.com",
476
+ "token": "your-personal-access-token",
477
+ "authType": "bearer"
478
+ }
479
+ }
480
+ ```
416
481
 
417
482
  ## Security Best Practices
418
483
 
@@ -422,52 +487,6 @@ Generate a Personal Access Token (PAT):
422
487
  - ✅ Never commit credentials to version control
423
488
  - ✅ Use read-only tokens for search/read operations
424
489
 
425
- ## Development Status
426
-
427
- - ✅ **Specification Complete** - Functional spec and tool list defined
428
- - ✅ **Implementation Complete** - All 52 tools implemented
429
- - ✅ **Testing** - 157 tests passing
430
- - ✅ **Configuration System** - Flexible .jicon.json with permissions
431
- - ✅ **Content Buffering** - In-memory pagination for large responses
432
- - 📦 **Publishing** - Ready for npm publish
433
-
434
- ## Roadmap
435
-
436
- ### Phase 1: Core Implementation ✅ **COMPLETED**
437
- - ✅ Project setup and structure
438
- - ✅ Jira API client implementation (19 tools)
439
- - ✅ Confluence API client implementation (14 tools)
440
- - ✅ Tempo API client implementation (12 tools)
441
- - ✅ Workload utility tools implementation (2 tools)
442
- - ✅ Buffer tools implementation (5 tools)
443
- - ✅ MCP server implementation
444
- - ✅ Basic testing (157 tests, 100% pass rate)
445
- - ✅ Configuration system (.jicon.json with hierarchy)
446
- - ✅ Permission system (full, readonly, custom modes)
447
- - ✅ Virtual actions (jira_read, jira_all, confluence_read, tempo_all, etc.)
448
- - ✅ Content buffering with pagination support
449
- - ✅ Development and contributing guides
450
-
451
- ### Phase 2: Enhancement (In Progress)
452
- - ✅ Advanced error handling (implemented)
453
- - [ ] Rate limiting and caching
454
- - [ ] Integration tests with mock servers
455
- - ✅ Documentation examples (DEVELOPMENT.md added)
456
- - [ ] CI/CD pipeline
457
- - [ ] npm package publishing
458
-
459
- ### Phase 3: Advanced Features (Planned)
460
- - [ ] Bulk operations
461
- - [ ] Custom field templates
462
- - [ ] Webhook support
463
- - [ ] Multi-instance support
464
- - [ ] CLI tool for configuration testing
465
- - [ ] Performance optimizations
466
-
467
- ## Contributing
468
-
469
- Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
470
-
471
490
  ## License
472
491
 
473
492
  MIT License - see [LICENSE](LICENSE) file for details.
@@ -8,6 +8,7 @@ export interface BufferEntry {
8
8
  content: string;
9
9
  totalSize: number;
10
10
  createdAt: number;
11
+ modifiedAt?: number;
11
12
  ttl: number;
12
13
  metadata?: Record<string, unknown>;
13
14
  }
@@ -72,13 +73,24 @@ export interface EditError {
72
73
  export declare class ContentBuffer {
73
74
  private buffers;
74
75
  private defaultTTL;
76
+ private modifiedTTL;
75
77
  private cleanupInterval;
76
78
  private defaultChunkSize;
77
79
  constructor(options?: {
78
80
  defaultTTL?: number;
81
+ modifiedTTL?: number;
79
82
  defaultChunkSize?: number;
80
83
  cleanupIntervalMs?: number;
81
84
  });
85
+ /**
86
+ * Check if a buffer entry is expired
87
+ * Modified buffers use modifiedAt as the reference time
88
+ */
89
+ private isExpired;
90
+ /**
91
+ * Get the expiration timestamp for a buffer entry
92
+ */
93
+ private getExpiresAt;
82
94
  /**
83
95
  * Store content in the buffer and return a unique buffer ID
84
96
  */
@@ -1 +1 @@
1
- {"version":3,"file":"content-buffer.d.ts","sourceRoot":"","sources":["../../src/utils/content-buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-buffer.d.ts","sourceRoot":"","sources":["../../src/utils/content-buffer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAGD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,CAAC,EAAE;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;IAgBD;;;OAGG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAahF;;OAEG;IACH,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAU,EAClB,KAAK,GAAE,MAA8B,GACpC,WAAW,GAAG,IAAI;IA2BrB;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAY9B;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAkB5C;;OAEG;IACH,IAAI,IAAI,UAAU,EAAE;IAoBpB;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAQjC;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,UAAU,GAAG,eAAe,GAAG,IAAI;IAmGtC;;OAEG;IACH,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,OAAe,GAC1B,UAAU,GAAG,SAAS,GAAG,IAAI;IAsEhC;;OAEG;IACH,OAAO,CAAC,OAAO;IAQf;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -8,11 +8,13 @@ import { randomBytes } from "crypto";
8
8
  export class ContentBuffer {
9
9
  buffers;
10
10
  defaultTTL;
11
+ modifiedTTL;
11
12
  cleanupInterval = null;
12
13
  defaultChunkSize;
13
14
  constructor(options) {
14
15
  this.buffers = new Map();
15
16
  this.defaultTTL = options?.defaultTTL ?? 10 * 60 * 1000; // 10 minutes
17
+ this.modifiedTTL = options?.modifiedTTL ?? 24 * 60 * 60 * 1000; // 1 day for modified buffers
16
18
  this.defaultChunkSize = options?.defaultChunkSize ?? 5000;
17
19
  // Start periodic cleanup
18
20
  const cleanupMs = options?.cleanupIntervalMs ?? 60 * 1000; // 1 minute
@@ -22,6 +24,21 @@ export class ContentBuffer {
22
24
  this.cleanupInterval.unref();
23
25
  }
24
26
  }
27
+ /**
28
+ * Check if a buffer entry is expired
29
+ * Modified buffers use modifiedAt as the reference time
30
+ */
31
+ isExpired(entry) {
32
+ const referenceTime = entry.modifiedAt ?? entry.createdAt;
33
+ return Date.now() - referenceTime > entry.ttl;
34
+ }
35
+ /**
36
+ * Get the expiration timestamp for a buffer entry
37
+ */
38
+ getExpiresAt(entry) {
39
+ const referenceTime = entry.modifiedAt ?? entry.createdAt;
40
+ return referenceTime + entry.ttl;
41
+ }
25
42
  /**
26
43
  * Store content in the buffer and return a unique buffer ID
27
44
  */
@@ -46,7 +63,7 @@ export class ContentBuffer {
46
63
  return null;
47
64
  }
48
65
  // Check if expired
49
- if (Date.now() - entry.createdAt > entry.ttl) {
66
+ if (this.isExpired(entry)) {
50
67
  this.buffers.delete(bufferId);
51
68
  return null;
52
69
  }
@@ -71,7 +88,7 @@ export class ContentBuffer {
71
88
  if (!entry) {
72
89
  return false;
73
90
  }
74
- if (Date.now() - entry.createdAt > entry.ttl) {
91
+ if (this.isExpired(entry)) {
75
92
  this.buffers.delete(bufferId);
76
93
  return false;
77
94
  }
@@ -85,7 +102,7 @@ export class ContentBuffer {
85
102
  if (!entry) {
86
103
  return null;
87
104
  }
88
- if (Date.now() - entry.createdAt > entry.ttl) {
105
+ if (this.isExpired(entry)) {
89
106
  this.buffers.delete(bufferId);
90
107
  return null;
91
108
  }
@@ -93,7 +110,7 @@ export class ContentBuffer {
93
110
  bufferId,
94
111
  totalSize: entry.totalSize,
95
112
  createdAt: entry.createdAt,
96
- expiresAt: entry.createdAt + entry.ttl,
113
+ expiresAt: this.getExpiresAt(entry),
97
114
  metadata: entry.metadata,
98
115
  };
99
116
  }
@@ -101,10 +118,9 @@ export class ContentBuffer {
101
118
  * List all active buffers
102
119
  */
103
120
  list() {
104
- const now = Date.now();
105
121
  const result = [];
106
122
  for (const [bufferId, entry] of this.buffers.entries()) {
107
- if (now - entry.createdAt > entry.ttl) {
123
+ if (this.isExpired(entry)) {
108
124
  this.buffers.delete(bufferId);
109
125
  continue;
110
126
  }
@@ -112,7 +128,7 @@ export class ContentBuffer {
112
128
  bufferId,
113
129
  totalSize: entry.totalSize,
114
130
  createdAt: entry.createdAt,
115
- expiresAt: entry.createdAt + entry.ttl,
131
+ expiresAt: this.getExpiresAt(entry),
116
132
  metadata: entry.metadata,
117
133
  });
118
134
  }
@@ -143,7 +159,7 @@ export class ContentBuffer {
143
159
  return null;
144
160
  }
145
161
  // Check if expired
146
- if (Date.now() - entry.createdAt > entry.ttl) {
162
+ if (this.isExpired(entry)) {
147
163
  this.buffers.delete(bufferId);
148
164
  return null;
149
165
  }
@@ -226,7 +242,7 @@ export class ContentBuffer {
226
242
  return null;
227
243
  }
228
244
  // Check if expired
229
- if (Date.now() - entry.createdAt > entry.ttl) {
245
+ if (this.isExpired(entry)) {
230
246
  this.buffers.delete(bufferId);
231
247
  return null;
232
248
  }
@@ -268,9 +284,11 @@ export class ContentBuffer {
268
284
  newContent = content.replace(oldString, newString);
269
285
  replacements = 1;
270
286
  }
271
- // Update buffer in place
287
+ // Update buffer in place and reset TTL to 1 day
272
288
  entry.content = newContent;
273
289
  entry.totalSize = newContent.length;
290
+ entry.modifiedAt = Date.now();
291
+ entry.ttl = this.modifiedTTL;
274
292
  return {
275
293
  bufferId,
276
294
  success: true,
@@ -284,9 +302,8 @@ export class ContentBuffer {
284
302
  * Clean up expired buffers
285
303
  */
286
304
  cleanup() {
287
- const now = Date.now();
288
305
  for (const [bufferId, entry] of this.buffers.entries()) {
289
- if (now - entry.createdAt > entry.ttl) {
306
+ if (this.isExpired(entry)) {
290
307
  this.buffers.delete(bufferId);
291
308
  }
292
309
  }
@@ -1 +1 @@
1
- {"version":3,"file":"content-buffer.js","sourceRoot":"","sources":["../../src/utils/content-buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-buffer.js","sourceRoot":"","sources":["../../src/utils/content-buffer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crypto512/jicon-mcp",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Model Context Protocol server for Jira, Confluence, and Tempo integration",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",