Jira MCP for Copilot
Seamlessly integrate Jira Cloud with GitHub Copilot
✨ Features
- 🔐 Secure OAuth 2.0 Authentication - One-click connection to your Atlassian account
- 🔄 Automatic Token Refresh - Never manually re-authenticate
- 💬 Natural Language Queries - Ask Copilot about your Jira issues
- 📋 Full Issue Management - Create, update, transition issues
- 🏃 Sprint & Board Support - View sprints, boards, and backlog
- ⏱️ Time Tracking - Log work directly from VS Code
- 👥 Multi-site Support - Switch between Jira Cloud instances
🚀 Quick Start
Install the Extension
Connect to Jira
- Open Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Run
Jira MCP: Connect to Jira
- Authorize with your Atlassian account
- Select your Jira site
Start Using with Copilot
@workspace What Jira tickets are assigned to me?
@workspace Create a bug report for the login page issue
@workspace What's the status of PROJ-123?
🔧 Configuration
OAuth App Setup (First Time Only)
- Go to Atlassian Developer Console
- Create a new OAuth 2.0 (3LO) app
- Add the callback URL:
vscode://tezaswi-raj.jira-mcp-extension/oauth/callback
- Request these scopes:
read:jira-user
read:jira-work
write:jira-work
manage:jira-project
offline_access
- Copy your Client ID and Client Secret
- Run
Jira MCP: Connect to Jira and enter the credentials when prompted
Extension Settings
| Setting |
Description |
Default |
jiraMcp.autoRefreshToken |
Automatically refresh tokens |
true |
jiraMcp.tokenRefreshBuffer |
Seconds before expiry to refresh |
300 |
jiraMcp.defaultSite |
Default Jira Cloud site ID |
"" |
jiraMcp.enableDebugLogging |
Enable debug logging |
false |
🛠️ Available Commands
| Command |
Description |
Jira MCP: Connect to Jira |
Initiate OAuth connection |
Jira MCP: Disconnect from Jira |
Remove stored credentials |
Jira MCP: Show Connection Status |
Display current connection info |
Jira MCP: Switch Jira Site |
Change active Jira instance |
Jira MCP: Refresh Authentication |
Manually refresh OAuth token |
The extension provides these tools to GitHub Copilot:
| Tool |
Description |
jira_search |
Search issues using JQL |
jira_get_issue |
Get detailed issue information |
jira_create_issue |
Create a new issue |
jira_update_issue |
Update an existing issue |
jira_add_comment |
Add a comment to an issue |
jira_transition_issue |
Change issue status |
jira_get_my_issues |
Get issues assigned to you |
jira_get_projects |
List accessible projects |
jira_add_worklog |
Log time on an issue |
jira_get_sprints |
Get sprints for a board |
jira_get_sprint_issues |
Get issues in a sprint |
jira_get_boards |
List Scrum/Kanban boards |
jira_search_users |
Search for users |
jira_assign_issue |
Assign issue to a user |
jira_whoami |
Get current user info |
💡 Usage Examples
Search for Issues
"Find all bugs assigned to me in project MYPROJ"
"Show me high priority issues updated this week"
"What tickets are in the current sprint?"
Manage Issues
"Create a task for implementing user authentication"
"Move PROJ-123 to In Progress"
"Assign PROJ-456 to John Smith"
"Log 2 hours on PROJ-789"
"What's the description of PROJ-123?"
"Who is working on the authentication feature?"
"What projects do I have access to?"
🔒 Security
- Secure Token Storage: All credentials are stored in your system's secure keychain (Windows Credential Manager, macOS Keychain, etc.)
- Automatic Token Refresh: Tokens are refreshed silently without user intervention
- No Token Exposure: Tokens are never logged or transmitted to third parties
- OAuth 2.0 Best Practices: Implements PKCE, state validation, and secure redirects
🐛 Troubleshooting
"Not connected to Jira" Error
- Run
Jira MCP: Connect to Jira
- Complete the OAuth flow in your browser
- If the callback doesn't work, check that VS Code is registered as a URI handler
Token Refresh Fails
- Run
Jira MCP: Disconnect from Jira
- Reconnect using
Jira MCP: Connect to Jira
- If issues persist, check your OAuth app settings in Atlassian Developer Console
Debug Logging
- Set
jiraMcp.enableDebugLogging to true in settings
- Open Output panel and select "Jira MCP"
- Review logs for detailed error information
📄 License
MIT License - see LICENSE for details.
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide first.
Made with ❤️ by Tezaswi Raj
| |