Troubleshooting
Common Issues¶
JIRA_USERNAME / CONFLUENCE_USERNAME is your email address
CONFLUENCE_USERNAME and CONFLUENCE_API_TOKEN (where token is your password)
If you still see SSL errors with **self-signed** certificates that
are **not** in the OS trust store, disable verification:
```bash
JIRA_SSL_VERIFY=false
CONFLUENCE_SSL_VERIFY=false
```
To disable the OS trust store integration (fall back to the bundled
certifi CA bundle):
```bash
MCP_ATLASSIAN_USE_SYSTEM_TRUSTSTORE=false
```
Debugging¶
Enable Verbose Logging¶
# Standard verbose
MCP_VERBOSE=true
# Debug level (includes request details)
MCP_VERY_VERBOSE=true
# Log to stdout instead of stderr
MCP_LOGGING_STDOUT=true
View Logs¶
bash
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
cmd
type %APPDATA%\Claude\logs\mcp*.log | more
MCP Inspector¶
Test your configuration interactively:
# With uvx
npx @modelcontextprotocol/inspector uvx mcp-atlassian
# With local development version
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-atlassian run mcp-atlassian
Debugging Custom Headers¶
Verify Headers Are Applied¶
-
Enable debug logging:
-
Check logs for header confirmation:
Correct Header Format¶
# Correct
JIRA_CUSTOM_HEADERS=X-Custom=value1,X-Other=value2
# Incorrect (extra quotes)
JIRA_CUSTOM_HEADERS="X-Custom=value1,X-Other=value2"
# Incorrect (colon instead of equals)
JIRA_CUSTOM_HEADERS=X-Custom: value1,X-Other: value2
# Incorrect (spaces around equals)
JIRA_CUSTOM_HEADERS=X-Custom = value1
Note
Header values containing sensitive information are automatically masked in logs.
Authentication Errors¶
**Fix:**
1. Verify your API token at [id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens)
2. Ensure `JIRA_USERNAME` matches the email associated with the token
3. Check that the token hasn't been revoked
```bash
# Test your credentials
curl -u "your.email@example.com:your_api_token" \
"https://your-instance.atlassian.net/rest/api/2/myself"
```
**Fix:**
1. Create a new PAT in your Jira/Confluence profile settings
2. Ensure the PAT has sufficient permissions for the operations you need
3. Note: Server/DC limits PAT count (max 10 per user)
```bash
# Test PAT authentication
curl -H "Authorization: Bearer your_pat_token" \
"https://jira.your-company.com/rest/api/2/myself"
```
**Fix:**
- Verify your Jira/Confluence project permissions
- For write operations, ensure your account has edit permissions
- For admin-only fields, you may need project admin access
- Check if `READ_ONLY_MODE=true` is blocking write tools
**Fix:**
1. Re-run the OAuth setup: `mcp-atlassian --oauth-setup`
2. Ensure your app has `offline_access` scope for refresh tokens
3. Check if the OAuth app is still active in your Atlassian developer console
Field and Data Errors¶
**Fix:**
1. Use `jira_search_fields` to find the correct field ID
2. Check if the field is available on the target issue type's screen
3. Custom field IDs differ between Cloud and Server/DC instances
```json
jira_search_fields: {"keyword": "story points"}
```
**Fix:**
- Use `jira_get_all_projects` to see available issue types per project
- Issue type names are case-sensitive
- Some issue types (e.g., "Epic") may require specific project configurations
**Fix:**
- MCP Atlassian limits inline attachment downloads to 50MB
- For larger files, access attachments directly via the Jira/Confluence web UI
- Consider compressing files before uploading
Rate Limiting¶
**Fix:**
- Atlassian Cloud: ~100 requests per minute per user (varies)
- Server/DC: depends on instance configuration
- Add delays between bulk operations
- Use batch tools (`jira_batch_create_issues`, `jira_batch_get_changelogs`) instead of individual calls
- Consider using `ENABLED_TOOLS` to limit which tools are available
Connection Issues¶
**Fix:**
```bash
# Disable SSL verification (not recommended for production)
JIRA_SSL_VERIFY=false
CONFLUENCE_SSL_VERIFY=false
```
For mTLS (mutual TLS) authentication:
```bash
JIRA_CLIENT_CERT=/path/to/client-cert.pem
JIRA_CLIENT_KEY=/path/to/client-key.pem
```
**Fix:**
- Default timeout is 75 seconds
- Increase timeout for slow instances:
```bash
JIRA_TIMEOUT=120
CONFLUENCE_TIMEOUT=120
```
- Check if a proxy is required:
```bash
HTTPS_PROXY=https://proxy.example.com:8443
```
Getting Help¶
- Check GitHub Issues for known problems
- Review SECURITY.md for security-related concerns
- Open a new issue with debug logs if the problem persists