@crypto512/jicon-mcp 0.3.1 → 0.3.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/CLAUDE.md +139 -29
- package/dist/config/constants.d.ts +1 -1
- package/dist/config/constants.js +1 -1
- package/dist/config/constants.js.map +1 -1
- package/dist/config/types.js +2 -2
- package/dist/config/types.js.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/http-client.js +4 -2
- package/dist/utils/http-client.js.map +1 -1
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -516,23 +516,23 @@ Common error scenarios:
|
|
|
516
516
|
|
|
517
517
|
## Best Practices
|
|
518
518
|
|
|
519
|
-
### Rate Limiting
|
|
520
|
-
The server implements intelligent rate limiting to respect Atlassian API limits:
|
|
521
|
-
- Automatic retry with exponential backoff
|
|
522
|
-
- Request queuing to prevent overwhelming the API
|
|
523
|
-
- Configurable rate limits per endpoint
|
|
524
|
-
|
|
525
|
-
### Caching
|
|
526
|
-
Certain read-only operations are cached to improve performance:
|
|
527
|
-
- Project metadata (5 minutes)
|
|
528
|
-
- User information (10 minutes)
|
|
529
|
-
- Space information (5 minutes)
|
|
530
|
-
|
|
531
519
|
### Security
|
|
532
|
-
- Never commit credentials to version control
|
|
533
|
-
- Use environment variables or secure credential storage
|
|
534
|
-
-
|
|
535
|
-
-
|
|
520
|
+
- **Never commit credentials to version control** - Use .gitignore to exclude .jicon.json and .env files
|
|
521
|
+
- **Use environment variables or secure credential storage** - Leverage hierarchical config (project > user > env)
|
|
522
|
+
- **Start with read-only mode** - Use `"mode": "readonly"` for exploration and reporting tasks
|
|
523
|
+
- **API tokens should have minimal required permissions** - Create tokens with only the necessary scopes
|
|
524
|
+
- **Regularly rotate API tokens** - Set expiration dates and rotate every 90 days
|
|
525
|
+
- **Use Personal Access Tokens (PAT) for Data Center** - More secure than username/password for DC 8.14+
|
|
526
|
+
- **Monitor write operations** - Enable audit logging in your Atlassian instances
|
|
527
|
+
- **Review permission configurations** - Regularly audit your .jicon.json whitelist/blacklist settings
|
|
528
|
+
|
|
529
|
+
### Performance Considerations
|
|
530
|
+
- **Use pagination for large datasets** - Set appropriate `maxResults` to avoid memory issues
|
|
531
|
+
- **Enable `fetchAll` judiciously** - Auto-pagination can return up to 5000 results, which may be slow
|
|
532
|
+
- **Filter queries narrowly** - Specific JQL/CQL queries are faster than broad searches
|
|
533
|
+
- **Request only needed fields** - Use the `fields` parameter to reduce response size
|
|
534
|
+
- **Respect API rate limits** - Atlassian Cloud has rate limits; space out bulk operations
|
|
535
|
+
- **Use narrow date ranges for Tempo** - Tempo Server/DC doesn't support pagination, so use focused date filters
|
|
536
536
|
|
|
537
537
|
## Development
|
|
538
538
|
|
|
@@ -541,21 +541,50 @@ Certain read-only operations are cached to improve performance:
|
|
|
541
541
|
jicon/
|
|
542
542
|
├── src/
|
|
543
543
|
│ ├── index.ts # MCP server entry point
|
|
544
|
-
│ ├──
|
|
544
|
+
│ ├── types.ts # Shared type definitions
|
|
545
|
+
│ │
|
|
546
|
+
│ ├── config/ # Configuration system
|
|
547
|
+
│ │ ├── loader.ts # Config hierarchy loader
|
|
548
|
+
│ │ ├── types.ts # Config schemas with Zod
|
|
549
|
+
│ │ └── constants.ts # Config constants
|
|
550
|
+
│ │
|
|
551
|
+
│ ├── permissions/ # Security & access control
|
|
552
|
+
│ │ ├── tool-registry.ts # Tool categorization
|
|
553
|
+
│ │ └── filter.ts # Permission filtering
|
|
554
|
+
│ │
|
|
555
|
+
│ ├── utils/ # Shared utilities
|
|
556
|
+
│ │ ├── http-client.ts # HTTP/Auth wrapper
|
|
557
|
+
│ │ └── response-formatter.ts # MCP response formatting
|
|
558
|
+
│ │
|
|
559
|
+
│ ├── jira/ # Jira integration (15 tools)
|
|
545
560
|
│ │ ├── client.ts # Jira API client
|
|
546
|
-
│ │ ├── tools.ts #
|
|
547
|
-
│ │
|
|
548
|
-
│ ├──
|
|
561
|
+
│ │ ├── tools.ts # Tool definitions
|
|
562
|
+
│ │ ├── formatters.ts # Response formatting
|
|
563
|
+
│ │ ├── types.ts # TypeScript types
|
|
564
|
+
│ │ └── defaults.ts # Default field configs
|
|
565
|
+
│ │
|
|
566
|
+
│ ├── confluence/ # Confluence integration (13 tools)
|
|
549
567
|
│ │ ├── client.ts # Confluence API client
|
|
550
|
-
│ │ ├── tools.ts #
|
|
551
|
-
│ │
|
|
552
|
-
│
|
|
553
|
-
│
|
|
554
|
-
│
|
|
555
|
-
│
|
|
556
|
-
├──
|
|
557
|
-
│
|
|
558
|
-
│
|
|
568
|
+
│ │ ├── tools.ts # Tool definitions
|
|
569
|
+
│ │ ├── formatters.ts # Response formatting
|
|
570
|
+
│ │ ├── types.ts # TypeScript types
|
|
571
|
+
│ │ └── defaults.ts # Default field configs
|
|
572
|
+
│ │
|
|
573
|
+
│ └── tempo/ # Tempo integration (11 tools)
|
|
574
|
+
│ ├── client.ts # Tempo API client
|
|
575
|
+
│ ├── tools.ts # Tool definitions
|
|
576
|
+
│ ├── formatters.ts # Response formatting
|
|
577
|
+
│ └── types.ts # TypeScript types
|
|
578
|
+
│
|
|
579
|
+
├── tests/ # Test suite (86 tests)
|
|
580
|
+
│ ├── permissions/ # Permission system tests
|
|
581
|
+
│ ├── jira/ # Jira client tests
|
|
582
|
+
│ ├── confluence/ # Confluence client tests
|
|
583
|
+
│ └── utils/ # Utility tests
|
|
584
|
+
│
|
|
585
|
+
├── .jicon.json.example # Example full-access config
|
|
586
|
+
├── .jicon.json.readonly # Example read-only config
|
|
587
|
+
├── .jicon.json.custom # Example custom permissions
|
|
559
588
|
├── package.json
|
|
560
589
|
├── tsconfig.json
|
|
561
590
|
└── README.md
|
|
@@ -601,6 +630,87 @@ Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
|
|
|
601
630
|
|
|
602
631
|
MIT License - see LICENSE file for details
|
|
603
632
|
|
|
633
|
+
## Security Best Practices
|
|
634
|
+
|
|
635
|
+
### Deployment Security
|
|
636
|
+
|
|
637
|
+
#### 1. Credential Management
|
|
638
|
+
- **Use hierarchical configuration**: Project config (.jicon.json) > User config (~/.config/jicon/jicon.json) > Environment variables
|
|
639
|
+
- **Never commit credentials**: Ensure .jicon.json is in .gitignore
|
|
640
|
+
- **Use PAT for Data Center**: Personal Access Tokens are more secure than username/password for DC 8.14+
|
|
641
|
+
- **Rotate tokens regularly**: Set 90-day expiration and rotate before expiry
|
|
642
|
+
|
|
643
|
+
#### 2. Permission Configuration
|
|
644
|
+
- **Start with read-only mode**: Default to `"mode": "readonly"` for safety
|
|
645
|
+
- **Use custom permissions for specific workflows**: Whitelist only required tools
|
|
646
|
+
- **Example read-only configuration**:
|
|
647
|
+
```json
|
|
648
|
+
{
|
|
649
|
+
"permissions": {
|
|
650
|
+
"mode": "readonly"
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
```
|
|
654
|
+
- **Example custom configuration**:
|
|
655
|
+
```json
|
|
656
|
+
{
|
|
657
|
+
"permissions": {
|
|
658
|
+
"mode": "custom",
|
|
659
|
+
"whitelist": ["jira_read", "confluence_read", "tempo_read"]
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
```
|
|
663
|
+
|
|
664
|
+
#### 3. Network Security
|
|
665
|
+
- **Use HTTPS only**: Atlassian Cloud enforces HTTPS; ensure Data Center uses HTTPS
|
|
666
|
+
- **Network isolation**: Run MCP server in isolated network segments when possible
|
|
667
|
+
- **Firewall rules**: Restrict outbound connections to Atlassian instance IPs only
|
|
668
|
+
|
|
669
|
+
#### 4. Monitoring & Auditing
|
|
670
|
+
- **Enable Atlassian audit logs**: Monitor API usage in your Atlassian instances
|
|
671
|
+
- **Review permission denials**: Check logs for unauthorized access attempts
|
|
672
|
+
- **Monitor write operations**: Track issue creation, updates, and deletions
|
|
673
|
+
- **Set up alerts**: Configure notifications for suspicious API activity
|
|
674
|
+
|
|
675
|
+
#### 5. Input Validation
|
|
676
|
+
- **Be cautious with JQL/CQL queries**: Complex queries can impact performance
|
|
677
|
+
- **Validate user inputs**: When building tools that generate JQL/CQL, validate inputs
|
|
678
|
+
- **Use parameterized searches**: Prefer specific field filters over broad text searches
|
|
679
|
+
|
|
680
|
+
#### 6. Token Permissions
|
|
681
|
+
- **Principle of least privilege**: Grant tokens only necessary permissions
|
|
682
|
+
- **Jira Cloud token permissions**:
|
|
683
|
+
- Read: View issues, projects, boards
|
|
684
|
+
- Write: Create/update issues (only if needed)
|
|
685
|
+
- Admin: Avoid granting admin permissions
|
|
686
|
+
- **Data Center PAT scopes**:
|
|
687
|
+
- Read: READ scope only for read-only operations
|
|
688
|
+
- Write: WRITE scope only when modifications needed
|
|
689
|
+
|
|
690
|
+
### Threat Model
|
|
691
|
+
|
|
692
|
+
#### Protected Against
|
|
693
|
+
- ✅ **Unauthorized write operations**: Permission system blocks write tools in readonly mode
|
|
694
|
+
- ✅ **Credential exposure**: .gitignore prevents credential commits
|
|
695
|
+
- ✅ **Man-in-the-middle**: HTTPS encryption for all API calls
|
|
696
|
+
- ✅ **Authentication bypass**: Double-check permission enforcement
|
|
697
|
+
|
|
698
|
+
#### Security Considerations
|
|
699
|
+
- ⚠️ **JQL/CQL injection**: While APIs handle parsing, avoid user-generated queries when possible
|
|
700
|
+
- ⚠️ **Rate limiting**: No built-in rate limiting; respect Atlassian API limits manually
|
|
701
|
+
- ⚠️ **Data exfiltration**: Read-only mode can still read all accessible data
|
|
702
|
+
- ⚠️ **Privilege escalation**: Ensure API tokens don't have excessive permissions
|
|
703
|
+
|
|
704
|
+
### Incident Response
|
|
705
|
+
|
|
706
|
+
If credentials are compromised:
|
|
707
|
+
1. **Immediately revoke** the API token in Atlassian settings
|
|
708
|
+
2. **Review audit logs** for unauthorized activity
|
|
709
|
+
3. **Generate new tokens** with appropriate permissions
|
|
710
|
+
4. **Update configurations** with new tokens
|
|
711
|
+
5. **Investigate** how credentials were exposed
|
|
712
|
+
6. **Implement preventive measures** to avoid future exposure
|
|
713
|
+
|
|
604
714
|
## Support
|
|
605
715
|
|
|
606
716
|
- GitHub Issues: https://github.com/crypto512/jicon/issues
|
package/dist/config/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,2BAA2B;AAC3B,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AAEzE,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE;QACX,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,2BAA2B;AAC3B,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AAEzE,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE;QACX,IAAI,EAAE,UAAmB;QACzB,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;KACd;CACF,CAAC"}
|
package/dist/config/types.js
CHANGED
|
@@ -15,7 +15,7 @@ export const ServiceConfigSchema = z.object({
|
|
|
15
15
|
export const PermissionModeSchema = z.enum(["full", "readonly", "custom"]);
|
|
16
16
|
// Permissions configuration schema
|
|
17
17
|
export const PermissionsConfigSchema = z.object({
|
|
18
|
-
mode: PermissionModeSchema.default("
|
|
18
|
+
mode: PermissionModeSchema.default("readonly"),
|
|
19
19
|
whitelist: z.array(z.string()).default([]),
|
|
20
20
|
blacklist: z.array(z.string()).default([]),
|
|
21
21
|
});
|
|
@@ -24,7 +24,7 @@ export const ConfigSchema = z.object({
|
|
|
24
24
|
jira: ServiceConfigSchema.optional(),
|
|
25
25
|
confluence: ServiceConfigSchema.optional(),
|
|
26
26
|
permissions: PermissionsConfigSchema.default({
|
|
27
|
-
mode: "
|
|
27
|
+
mode: "readonly",
|
|
28
28
|
whitelist: [],
|
|
29
29
|
blacklist: [],
|
|
30
30
|
}),
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAG1D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIH,yBAAyB;AACzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAG3E,mCAAmC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAG1D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIH,yBAAyB;AACzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAG3E,mCAAmC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3C,CAAC,CAAC;AAIH,4BAA4B;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC1C,WAAW,EAAE,uBAAuB,CAAC,OAAO,CAAC;QAC3C,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;KACd,CAAC;CACH,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -100,6 +100,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
100
100
|
return result;
|
|
101
101
|
}
|
|
102
102
|
catch (error) {
|
|
103
|
+
// Only include stack traces in development mode for security
|
|
104
|
+
const isDevelopment = process.env.NODE_ENV === "development";
|
|
103
105
|
return {
|
|
104
106
|
content: [
|
|
105
107
|
{
|
|
@@ -107,9 +109,11 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
107
109
|
text: JSON.stringify({
|
|
108
110
|
error: true,
|
|
109
111
|
message: error instanceof Error ? error.message : String(error),
|
|
110
|
-
details: error instanceof Error
|
|
112
|
+
details: error instanceof Error && isDevelopment
|
|
111
113
|
? { stack: error.stack, name: error.name }
|
|
112
|
-
:
|
|
114
|
+
: error instanceof Error
|
|
115
|
+
? { name: error.name }
|
|
116
|
+
: undefined,
|
|
113
117
|
}),
|
|
114
118
|
},
|
|
115
119
|
],
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EAErB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAY3D,qBAAqB;AACrB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;AAEnC,sDAAsD;AACtD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAElE,8BAA8B;AAC9B,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEtE,qBAAqB;AACrB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,MAAM,gBAAgB,GAAG,iBAAiB;IACxC,CAAC,CAAC,IAAI,gBAAgB,CAAC,iBAAiB,CAAC;IACzC,CAAC,CAAC,IAAI,CAAC;AACT,qEAAqE;AACrE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEtE,eAAe;AACf,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChE,MAAM,eAAe,GAAG,gBAAgB;IACtC,CAAC,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC;AACP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAEpE,MAAM,QAAQ,GAAiB,EAAE,GAAG,SAAS,EAAE,GAAG,eAAe,EAAE,GAAG,UAAU,EAAE,CAAC;AAEnF,oBAAoB;AACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,oCAAoC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACxD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAClC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,CACtD;SACF;KACF,CAAC,CAAC,CAAC;IAEN,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,iBAAiB,QAAQ,EAAE;qBACrC,CAAC;iBACH;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;qBACrD,CAAC;iBACH;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAE1E,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC/D,OAAO,EACL,KAAK,YAAY,KAAK;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAc,EAAiB,kBAAkB,EAAc,MAAM,OAAO,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,aAAa,CAAC;AAEvD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAc,EAAiB,kBAAkB,EAAc,MAAM,OAAO,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,aAAa,CAAC;AAEvD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,SAAS;IA8C7B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAIhB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAK5D,IAAI,CAAC,CAAC,EACV,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAKP,GAAG,CAAC,CAAC,EACT,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAKP,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKrE,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,qBAAqB;CAU9B"}
|
|
@@ -11,6 +11,8 @@ export class HttpClient {
|
|
|
11
11
|
const headers = {
|
|
12
12
|
"Content-Type": "application/json",
|
|
13
13
|
Accept: "application/json",
|
|
14
|
+
"User-Agent": "jicon-mcp/0.3.1",
|
|
15
|
+
"X-Atlassian-Token": "no-check", // CSRF protection
|
|
14
16
|
};
|
|
15
17
|
// Configure authentication based on type
|
|
16
18
|
const axiosConfig = {
|
|
@@ -126,9 +128,9 @@ export class HttpClient {
|
|
|
126
128
|
getAuthenticationHint(statusCode) {
|
|
127
129
|
switch (statusCode) {
|
|
128
130
|
case 401:
|
|
129
|
-
return "
|
|
131
|
+
return "Authentication failed. Please verify your credentials and configuration.";
|
|
130
132
|
case 403:
|
|
131
|
-
return "
|
|
133
|
+
return "Access forbidden. Insufficient permissions for this operation.";
|
|
132
134
|
default:
|
|
133
135
|
return "";
|
|
134
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAwD,MAAM,OAAO,CAAC;AAG7E,MAAM,OAAO,UAAU;IACb,MAAM,CAAgB;IAE9B,YAAY,MAAiB;QAC3B,gCAAgC;QAChC,mFAAmF;QACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEhE,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
|